On Thu, Sep 01, 2011 at 02:32:51PM +0800, Terry Guo wrote: > FAIL: gcc.dg/compat/struct-layout-1 c_compat_x_tst.o compile > FAIL: gcc.dg/compat/struct-layout-1 c_compat_y_tst.o compile > UNRESOLVED: gcc.dg/compat/struct-layout-1 c_compat_x_tst.o-c_compat_y_tst.o > link > UNRESOLVED: gcc.dg/compat/struct-layout-1 c_compat_x_tst.o-c_compat_y_tst.o > execute > > On my machine, the error message is "error: width of 'a' exceeds its type". > My GCC is cross built for arm-none-eabi based on upstream GCC 4.6. The > command I run this case is simply as: "make check-gcc > RUNTESTFLAGS="--target_board=arm-none-eabi-qemu/-mthumb/-mcpu=cortex-m3 > compat.exp=struct-layout-1*". Are there anything else I should do to pass > this case?
Look into gcc/testsuite/gcc/gcc.log, search for struct-layout-1_generate.exe and see whether -e has been passed to it? If not, debug the tcl bits which are supposed to pass it, but for some reason don't, if yes, look into the generator under debugger why it generates the large enum bitfield bitsizes anyway (you can cut'n'paste the *generate.exe command line, compile it with -g and rerun it under debugger...). Jakub