[Bug c++/13160] New: ABI=1 implementation difference vs. g++ 3.2

grigory at stl dot sarov dot ru gcc-bugzilla@gcc.gnu.org
Sat Nov 22 15:24:00 GMT 2003


For the simple class c1 listed below g++ 3.4 with default ABI (-fabi-version=1)
and g++ 3.2 give different size and alignment values. This is signifincant ABI
compatibility issue since -fabi-version=1 is stated as 3.2-compatible
implementation.

enum e0 { };
union c1 {
  enum e0 : 20;
};


[g++ 3.4 20031112]
Class c1
   size=3 align=1
   base size=3 base align=1
c1 (0x403cc8c0) 0


[g++ (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7)]
Class c1
   size=4 align=4
c1 (0x4031c3c0) 0


Note: the same difference exists in GCC 3.3.x series.

-- 
           Summary: ABI=1 implementation difference vs. g++ 3.2
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: grigory at stl dot sarov dot ru
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-redhat-linux
  GCC host triplet: i686-redhat-linux
GCC target triplet: i686-redhat-linux


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



More information about the Gcc-bugs mailing list