Message ID | CAEwic4YQ7wDM9SWoPohwigxP=D+Jb7rop0BNGiiyu0TDmUzaag@mail.gmail.com |
---|---|
State | New |
Headers | show |
On Thu, Feb 26, 2015 at 09:25:57PM +0100, Kai Tietz wrote: > Well, testcase for the pragma ... > > ChangeLog testsuite/ > > 2015-02-26 Kai Tietz <ktietz@redhat.com> > > * gcc.dg/weak/weak-17.c: New file Missing full stop. > Updated patch (regression-tested): > Index: c-pragma.c > =================================================================== > --- c-pragma.c (Revision 221019) > +++ c-pragma.c (Arbeitskopie) > @@ -392,6 +392,8 @@ handle_pragma_weak (cpp_reader * ARG_UNUSED (dummy > decl = identifier_global_value (name); > if (decl && DECL_P (decl)) > { > + if (!VAR_OR_FUNCTION_DECL_P (decl)) > + GCC_BAD2 ("weak declaration of %q+D not allowed, ignored", decl); I think this message should explicitly mention "#pragma weak". Ok with those changes. Marek
Index: c-pragma.c =================================================================== --- c-pragma.c (Revision 221019) +++ c-pragma.c (Arbeitskopie) @@ -392,6 +392,8 @@ handle_pragma_weak (cpp_reader * ARG_UNUSED (dummy decl = identifier_global_value (name); if (decl && DECL_P (decl)) { + if (!VAR_OR_FUNCTION_DECL_P (decl)) + GCC_BAD2 ("weak declaration of %q+D not allowed, ignored", decl); apply_pragma_weak (decl, value); if (value) {