Compile this:

extern void f(void);
extern void g(void) __attribute__ ((hot)) __attribute__((cold));
extern void f(void) __attribute__ ((hot));
extern void f(void) __attribute__ ((cold));


I see a warning for the conflicting attributes on 'g', but not
for 'f'.  The problem here is that the attribute handler is not
called for the smashed decl, only for the one currently being
constructed.


-- 
           Summary: no warning for conflicting attributes on separate decls
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tromey at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32960

Reply via email to