c-common.c:handle_packed_attribute about line 5117 gives a warning for types
where __attribute__ ((__packed__)) is applied but has no effect.  That
particular warning should be removed or perhaps moved to a separate flag,
because it emits warnings for code such as:

struct x
{
  char c;
  int x  __attribute__ ((__packed__));
};

*depending on the target ABI*, i.e. it will always warn for a target where the
default layout corresponds to the packed layout (example cut down from generic
code in glibc-2.9).  Worse, this warning is on by default.

I know someone will jump up and tell me to remove the attribute in the code,
but it doesn't work that way: editing the code is not appropriate (example cut
down from generic code in glibc).  Neither is shutting off *all*
attribute-warnings using -Wno-attributes.  Observed with [trunk revision
142601] and [gcc-4_3-branch revision 135713].


-- 
           Summary: -Wattributes gives warnings for portable code for
                    default-packed architectures.
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hp at gcc dot gnu dot org
GCC target triplet: cris-*-* and crisv32-*-* and other default-packed arches


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

Reply via email to