Using gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) Target: x86_64-linux-gnu g++ -c -g -Wall -W -o NcBaseEncoderSse2.o -save-temps NcBaseEncoderSse2.ii ../../codecs/nc/sse2/NcBaseEncoderSse2.cpp: In member function ‘virtual unsigned int NcBaseEncoderSse2::fragile_block(unsigned int, const int16*)’: ../../codecs/nc/sse2/NcBaseEncoderSse2.cpp:351: internal compiler error: in gen_type_die_with_usage, at dwarf2out.c:14745
Created attachment 20104 [details] Preprocessed source that demonstrates the compiler error
gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) Target: x86_64-linux-gnu g++ -c -g -Wall -W -o NcBaseEncoderSse2.o -save-temps NcBaseEncoderSse2.ii ../../codecs/nc/sse2/NcBaseEncoderSse2.cpp: In member function ‘virtual unsigned int NcBaseEncoderSse2::fragile_block(unsigned int, const int16*)’: ../../codecs/nc/sse2/NcBaseEncoderSse2.cpp:351: internal compiler error: in gen_type_die_with_usage, at dwarf2out.c:14745
Confirmed, here is a testcase: int fragile_block(void) { typedef __attribute__ ((aligned (16))) struct { int i; } XmmUint16; return 0; }
It is caused by revision 132681: http://gcc.gnu.org/ml/gcc-cvs/2008-02/msg00696.html
Subject: Bug 43370 Author: jason Date: Wed May 5 19:46:41 2010 New Revision: 159081 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159081 Log: PR debug/43370 * c-common.c (handle_aligned_attribute): Respect ATTR_FLAG_TYPE_IN_PLACE. Added: trunk/gcc/testsuite/g++.dg/ext/attrib39.C Modified: trunk/gcc/ChangeLog trunk/gcc/c-common.c trunk/gcc/testsuite/ChangeLog
Subject: Bug 43370 Author: jason Date: Wed May 5 20:30:37 2010 New Revision: 159083 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159083 Log: PR debug/43370 * c-common.c (handle_aligned_attribute): Respect ATTR_FLAG_TYPE_IN_PLACE. Added: branches/gcc-4_5-branch/gcc/testsuite/g++.dg/ext/attrib39.C Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/c-common.c branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
Subject: Bug 43370 Author: jason Date: Wed May 5 20:31:53 2010 New Revision: 159084 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159084 Log: PR debug/43370 * c-common.c (handle_aligned_attribute): Respect ATTR_FLAG_TYPE_IN_PLACE. Added: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/ext/attrib39.C Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/c-common.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
Fixed.