The toolchain is built with newlib C.

2 g++ failures in dejaGNU tests:
  FAIL tmpdir-g++.dg-struct-layout-1/t004 cp_compat_x_tst.o compile
  FAIL tmpdir-g++.dg-struct-layout-1/t004 cp_compat_y_tst.o compile

Compiler error: 
"In file included from
/usr/local/google/tmp/gcc4.4_dejagnu/obj/gcc-trunk/gcc/testsuite/g++/g++.dg-struct-layout-1//t004_x.C:9:
/usr/local/google/tmp/gcc4.4_dejagnu/obj/gcc-trunk/gcc/testsuite/g++/g++.dg-struct-layout-1//t004_test.h:6:
note: Offset of packed bit-field 'S805::c' has changed in GCC 4.4"

"enum E3 c:8" in t004_test.h is causing this dejagnu compiler error.

According to the GCC 4.4 Changes
(http://www.gnu.org/software/gcc/gcc-4.4/changes.html),
the behaviors related to bit-packed of type 'char' are changed on some targets
(e.g. ARM).

This results in warnings like "note: Offset of packed bit-field XXX has changed
in GCC 4.4."

Details from the GCC 4.4 Changes document: Packed bit-fields of type char were
not properly bit-packed on many targets prior to GCC 4.4. On these targets, the
fix in GCC 4.4 causes an ABI change. For example there is no longer a 4-bit
padding between field a and b in this structure:
   struct foo
   {
     char a:4;
     char b:8;
   } __attribute__ ((packed));
There is a new warning to help identify fields that are affected:
   foo.c:5: note: Offset of packed bit-field 'b' has changed in GCC 4.4

Suggested Fix: Add '// { dg-warning "Offset of packed bit-field" "" { target
arm-*-*-* } }' to this test.

Note that these two tests SUCCESSFULLY PASSED on x86 without causing any error
in the log. So we just want to fix on the arm side.


-- 
           Summary: New: FAIL: g++/g++.dg-struct-layout-1//t004_x.C on arm
                    target
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: sliao at google dot com
 GCC build triplet: i686-linux-gnu
  GCC host triplet: i686-linux-gnu
GCC target triplet: arm-unknown-eabi


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

Reply via email to