Bug 43370 - [4.4/4.5/4.6 Regression] ICE gen_type_die_with_usage, at dwarf2out.c:14745
Summary: [4.4/4.5/4.6 Regression] ICE gen_type_die_with_usage, at dwarf2out.c:14745
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: debug (show other bugs)
Version: 4.4.1
: P2 normal
Target Milestone: 4.4.5
Assignee: Jason Merrill
URL:
Keywords: ice-on-valid-code
Depends on: 35315
Blocks:
  Show dependency treegraph
 
Reported: 2010-03-14 23:02 UTC by Greg Hughes
Modified: 2010-05-05 21:53 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work: 4.3.4
Known to fail: 4.4.1 4.5.0
Last reconfirmed: 2010-05-05 00:46:06


Attachments
Preprocessed source that demonstrates the compiler error (21.31 KB, text/plain)
2010-03-14 23:04 UTC, Greg Hughes
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Greg Hughes 2010-03-14 23:02:48 UTC
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
Comment 1 Greg Hughes 2010-03-14 23:04:32 UTC
Created attachment 20104 [details]
Preprocessed source that demonstrates the compiler error
Comment 2 Greg Hughes 2010-03-14 23:06:15 UTC
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
Comment 3 Falk Hueffner 2010-03-14 23:35:15 UTC
Confirmed, here is a testcase:

int fragile_block(void) {
  typedef __attribute__ ((aligned (16))) struct {
    int i;
  } XmmUint16;
  return 0;
}
Comment 4 H.J. Lu 2010-03-15 03:34:45 UTC
It is caused by revision 132681:

http://gcc.gnu.org/ml/gcc-cvs/2008-02/msg00696.html
Comment 5 Jason Merrill 2010-05-05 19:47:16 UTC
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

Comment 6 Jason Merrill 2010-05-05 20:31:36 UTC
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

Comment 7 Jason Merrill 2010-05-05 20:32:40 UTC
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

Comment 8 Jason Merrill 2010-05-05 21:53:24 UTC
Fixed.