* [Bug c++/54511] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
@ 2012-09-07 5:53 ` daniel.kruegler at googlemail dot com
2012-09-07 8:03 ` jakub at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: daniel.kruegler at googlemail dot com @ 2012-09-07 5:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
Daniel Krügler <daniel.kruegler at googlemail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |daniel.kruegler at
| |googlemail dot com
--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2012-09-07 05:52:51 UTC ---
I can confirm the problem for gcc 4.8.0 20120819 (experimental). I reduced the
example to get rid of some "magic" values, which are not relevant to be
present. One important requirement for reproducing the ICE is that A is a
template.
template <class>
struct A
{
A() {
union
{
int a;
};
a = 0;
}
};
A<int> a;
The error I'm getting compiled with
-Wall -pedantic -std=c++11
is:
"|In constructor 'A< <template-parameter-1-1> >::A() [with
<template-parameter-1-1> = int]':|
10|internal compiler error: in make_decl_rtl, at varasm.c:1143|"
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
2012-09-07 5:53 ` [Bug c++/54511] " daniel.kruegler at googlemail dot com
@ 2012-09-07 8:03 ` jakub at gcc dot gnu.org
2012-09-07 8:19 ` [Bug c++/54511] [4.6/4.7/4.8 Regression] " rguenth at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-09-07 8:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-09-07 08:03:22 UTC ---
template <int i>
struct S
{
S () { union { int a; }; a = 0; }
};
S<0> s;
Somehow the decl in the assignment isn't getting remapped during clone_body.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
2012-09-07 5:53 ` [Bug c++/54511] " daniel.kruegler at googlemail dot com
2012-09-07 8:03 ` jakub at gcc dot gnu.org
@ 2012-09-07 8:19 ` rguenth at gcc dot gnu.org
2012-09-07 8:22 ` jakub at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-09-07 8:19 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Known to work| |4.4.7
Keywords| |ice-on-valid-code
Last reconfirmed| |2012-09-07
Ever Confirmed|0 |1
Summary|internal compiler error: in |[4.6/4.7/4.8 Regression]
|make_decl_rtl, at |internal compiler error: in
|varasm.c:1147 |make_decl_rtl, at
| |varasm.c:1147
Target Milestone|--- |4.6.4
Known to fail| |4.5.4
--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-09-07 08:19:16 UTC ---
Confirmed.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
` (2 preceding siblings ...)
2012-09-07 8:19 ` [Bug c++/54511] [4.6/4.7/4.8 Regression] " rguenth at gcc dot gnu.org
@ 2012-09-07 8:22 ` jakub at gcc dot gnu.org
2012-09-07 9:05 ` jakub at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-09-07 8:22 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org
|gnu.org |
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
` (3 preceding siblings ...)
2012-09-07 8:22 ` jakub at gcc dot gnu.org
@ 2012-09-07 9:05 ` jakub at gcc dot gnu.org
2012-09-07 10:53 ` rguenth at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-09-07 9:05 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |NEW
CC| |jason at gcc dot gnu.org
AssignedTo|jakub at gcc dot gnu.org |unassigned at gcc dot
| |gnu.org
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-09-07 09:05:18 UTC ---
Seems the bug is on the C++ FE side, we have different a VAR_DECLs. One is
created by finish_anon_union -> build_anon_union_vars during tsubst_expr, but
when tsubsting the a = 0; assignment that VAR_DECL is copied to a new VAR_DECL
by tsubst_decl.
Apparently build_anon_union_vars is called twice, once during parsing, once
during instantiation, but all the pushdecls the second time look really weird
and don't affect what VAR_DECLs the following code actually uses.
I would expect that during tsubst either build_anon_union_vars isn't called at
all and instead pt.c somehow adjusts when needed the VAR_DECLs that were
already created (after tsubst_decling them), or create a new set of vars, but
somehow arrange those to be registered as the local specializations of the old
vars.
Jason, could you please look at this? Thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
` (4 preceding siblings ...)
2012-09-07 9:05 ` jakub at gcc dot gnu.org
@ 2012-09-07 10:53 ` rguenth at gcc dot gnu.org
2012-09-13 15:13 ` jason at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-09-07 10:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
` (5 preceding siblings ...)
2012-09-07 10:53 ` rguenth at gcc dot gnu.org
@ 2012-09-13 15:13 ` jason at gcc dot gnu.org
2012-09-13 15:14 ` jason at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jason at gcc dot gnu.org @ 2012-09-13 15:13 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-13 15:13:23 UTC ---
Author: jason
Date: Thu Sep 13 15:13:08 2012
New Revision: 191260
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191260
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/pt.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
` (6 preceding siblings ...)
2012-09-13 15:13 ` jason at gcc dot gnu.org
@ 2012-09-13 15:14 ` jason at gcc dot gnu.org
2012-09-13 15:15 ` jason at gcc dot gnu.org
2012-09-13 15:29 ` jason at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: jason at gcc dot gnu.org @ 2012-09-13 15:14 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-13 15:13:23 UTC ---
Author: jason
Date: Thu Sep 13 15:13:08 2012
New Revision: 191260
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191260
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/pt.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-13 15:14:03 UTC ---
Author: jason
Date: Thu Sep 13 15:13:45 2012
New Revision: 191262
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191262
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
Added:
trunk/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
` (7 preceding siblings ...)
2012-09-13 15:14 ` jason at gcc dot gnu.org
@ 2012-09-13 15:15 ` jason at gcc dot gnu.org
2012-09-13 15:29 ` jason at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: jason at gcc dot gnu.org @ 2012-09-13 15:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-13 15:14:03 UTC ---
Author: jason
Date: Thu Sep 13 15:13:45 2012
New Revision: 191262
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191262
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
Added:
trunk/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-13 15:15:06 UTC ---
Author: jason
Date: Thu Sep 13 15:14:49 2012
New Revision: 191265
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191265
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/pt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147
2012-09-06 22:57 [Bug c++/54511] New: internal compiler error: in make_decl_rtl, at varasm.c:1147 justdanpo at gmail dot com
` (8 preceding siblings ...)
2012-09-13 15:15 ` jason at gcc dot gnu.org
@ 2012-09-13 15:29 ` jason at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: jason at gcc dot gnu.org @ 2012-09-13 15:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-13 15:14:03 UTC ---
Author: jason
Date: Thu Sep 13 15:13:45 2012
New Revision: 191262
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191262
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
Added:
trunk/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-13 15:15:06 UTC ---
Author: jason
Date: Thu Sep 13 15:14:49 2012
New Revision: 191265
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191265
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/pt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
--- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-13 15:29:12 UTC ---
Fixed for 4.6.4.
^ permalink raw reply [flat|nested] 11+ messages in thread