public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
@ 2009-04-13 19:32 gcc at abeckmann dot de
2009-04-13 21:26 ` [Bug c++/39754] [4.5 Regression] " hjl dot tools at gmail dot com
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: gcc at abeckmann dot de @ 2009-04-13 19:32 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3419 bytes --]
The following code produces an ICE in 4.5.0 while previous versions reported an
incomplete type error:
========== 8< ==========
template < typename > struct A ;
template < typename U , typename > struct B
{
typedef U V ;
A < V * > a ;
} ;
template < typename W > struct C
{
A < W * > a ;
} ;
C < int > c ;
========== >8 ==========
---------- 4.5.0 ----------
$ x86_64-linux-gnu-g++-trunk -v -c ice-accessed-elt-2-of-tree_vec.ii
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure
--prefix=/opt/software/gcc-x86_64/gcc-trunk --program-suffix=-trunk
--enable-languages=c,c++
Thread model: posix
gcc version 4.5.0 20090410 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'
/opt/software/gcc-x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus
-fpreprocessed ice-accessed-elt-2-of-tree_vec.ii -quiet -dumpbase
ice-accessed-elt-2-of-tree_vec.ii -mtune=generic -auxbase
ice-accessed-elt-2-of-tree_vec -version -o /tmp/ccSsFbFa.s
GNU C++ (GCC) version 4.5.0 20090412 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.5.0 20090410 (experimental), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b13346d60276f3352c4b7dd22e3889d7
ice-accessed-elt-2-of-tree_vec.ii: In instantiation of C<int>:
ice-accessed-elt-2-of-tree_vec.ii:11: instantiated from here
ice-accessed-elt-2-of-tree_vec.ii:9: internal compiler error: tree check:
accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
--------------------
---------- 4.4.0 ----------
$ x86_64-linux-gnu-g++-4.4.x -v -c ice-accessed-elt-2-of-tree_vec.ii
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_4-branch/configure
--prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.4.0 20090413 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'
/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus
-fpreprocessed ice-accessed-elt-2-of-tree_vec.ii -quiet -dumpbase
ice-accessed-elt-2-of-tree_vec.ii -mtune=generic -auxbase
ice-accessed-elt-2-of-tree_vec -version -o /tmp/ccEdsa3a.s
GNU C++ (GCC) version 4.4.0 20090413 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.0 20090413 (prerelease), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 4c95a5cf24794a394976148039ecc611
ice-accessed-elt-2-of-tree_vec.ii: In instantiation of C<int>:
ice-accessed-elt-2-of-tree_vec.ii:11: instantiated from here
ice-accessed-elt-2-of-tree_vec.ii:9: error: C<W>::a has incomplete type
ice-accessed-elt-2-of-tree_vec.ii:1: error: declaration of struct A<int*>
--------------------
--
Summary: ICE: tree check: accessed elt 2 of tree_vec with 1 elts
in tsubst, at cp/pt.c:9248
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at abeckmann dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
@ 2009-04-13 21:26 ` hjl dot tools at gmail dot com
2009-04-14 6:59 ` dodji at gcc dot gnu dot org
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-04-13 21:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from hjl dot tools at gmail dot com 2009-04-13 21:26 -------
It is caused by revision 145440:
http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg00060.html
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dseketel at redhat dot com
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-04-13 21:26:38
date| |
Summary|ICE: tree check: accessed |[4.5 Regression] ICE: tree
|elt 2 of tree_vec with 1 |check: accessed elt 2 of
|elts in tsubst, at |tree_vec with 1 elts in
|cp/pt.c:9248 |tsubst, at cp/pt.c:9248
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
2009-04-13 21:26 ` [Bug c++/39754] [4.5 Regression] " hjl dot tools at gmail dot com
@ 2009-04-14 6:59 ` dodji at gcc dot gnu dot org
2009-04-14 7:04 ` gcc at abeckmann dot de
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-04-14 6:59 UTC (permalink / raw)
To: gcc-bugs
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |dodji at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2009-04-13 21:26:38 |2009-04-14 06:59:44
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
2009-04-13 21:26 ` [Bug c++/39754] [4.5 Regression] " hjl dot tools at gmail dot com
2009-04-14 6:59 ` dodji at gcc dot gnu dot org
@ 2009-04-14 7:04 ` gcc at abeckmann dot de
2009-04-14 10:14 ` rguenth at gcc dot gnu dot org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: gcc at abeckmann dot de @ 2009-04-14 7:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from gcc at abeckmann dot de 2009-04-14 07:04 -------
An updated testcase that compiles without errors on 4.4.0:
========== 8< ==========
template < typename > struct A ;
template < typename T , typename = A < T > > struct B
{ } ;
template < class W , class > struct D
{
typedef W X ;
A < X * > a ;
} ;
template < class Y > struct E
{
B < Y * > b ;
} ;
E < int > e ;
========== >8 ==========
--
gcc at abeckmann dot de changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |4.5.0
Known to work| |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (2 preceding siblings ...)
2009-04-14 7:04 ` gcc at abeckmann dot de
@ 2009-04-14 10:14 ` rguenth at gcc dot gnu dot org
2009-04-14 14:07 ` jason at redhat dot com
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-14 10:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2009-04-14 10:14 -------
I also see this.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (3 preceding siblings ...)
2009-04-14 10:14 ` rguenth at gcc dot gnu dot org
@ 2009-04-14 14:07 ` jason at redhat dot com
2009-04-16 14:29 ` gcc at abeckmann dot de
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jason at redhat dot com @ 2009-04-14 14:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from jason at redhat dot com 2009-04-14 14:07 -------
Subject: Re: [4.5 Regression] ICE: tree check: accessed elt
2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
I wonder if it only works on 4.4 because tree checking is disabled on
release branches.
Jason
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (4 preceding siblings ...)
2009-04-14 14:07 ` jason at redhat dot com
@ 2009-04-16 14:29 ` gcc at abeckmann dot de
2009-04-21 14:41 ` dodji at gcc dot gnu dot org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: gcc at abeckmann dot de @ 2009-04-16 14:29 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from gcc at abeckmann dot de 2009-04-16 14:28 -------
It does compile successfully using 4.4.0 built with --enable-checking. Is there
anyting else to enable these tree checks?
$ x86_64-linux-gnu-g++-4.4.x -v -c PR39754.min.ii && echo SUCCESS
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_4-branch/configure
--prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x
--enable-languages=c,c++ --enable-checking
Thread model: posix
gcc version 4.4.0 20090413 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'
/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus
-fpreprocessed PR39754.min.ii -quiet -dumpbase PR39754.min.ii -mtune=generic
-auxbase PR39754.min -version -o /tmp/ccH60tOe.s
GNU C++ (GCC) version 4.4.0 20090413 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.0 20090413 (prerelease), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 4c95a5cf24794a394976148039ecc611
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'
as -V -Qy -o PR39754.min.o /tmp/ccH60tOe.s
GNU assembler version 2.19.1 (x86_64-linux-gnu) using BFD version (GNU Binutils
for Debian) 2.19.1
COMPILER_PATH=/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/
LIBRARY_PATH=/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic'
SUCCESS
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (5 preceding siblings ...)
2009-04-16 14:29 ` gcc at abeckmann dot de
@ 2009-04-21 14:41 ` dodji at gcc dot gnu dot org
2009-05-01 20:04 ` rguenth at gcc dot gnu dot org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-04-21 14:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from dodji at gcc dot gnu dot org 2009-04-21 14:40 -------
In this test case (the last one), the short description of the problem is that
we fail at getting canonical types of template arguments when said arguments
have composed types.
Let me give the longer description as well, so that I don't forget :)
1/ During the instantiation of E<int>, we try to instantiate the default
argument A<T> of the template B with T=int*.
2/ At that point, lookup_template_class selects the A<X*> specialization that
was first seen in struct D. There, X was a typedef of W, W being a template
parameter of struct D.
3/In the context of 1/, we try to tsubst A<T> with T=int* - actually we try to
tsubst the A<X*> specialization of A<T>. In tsubst, we then try to reuse the
typedef declaration of T, if T is a typedef.
A problem arises in 3/ because T is seen as a typedef of W (remember 2/) but W
doesn't have any meaning in the context of 1/, hence the crash.
Normally, template arguments are converted to their "canonical type variant"
before the stubst-ing process starts. The canonical type variant of a typedef
type variant is basically its qualified main type variant.
E.g. in typedef const int Foo, the canonical type variant of Foo is const int.
The function doing that conversion is canonical_type_variant.
The root cause of the problem is that canonical_type_variant doesn't give us
canonical variants of composed types.
E.g. in typedef int Foo; The canoniacl type variant of Foo* should be int*.
The current implementation of canonical_type_variant returns Foo* instead of
int* in that case.
So I am testing some patches that change the implementation of
canonical_type_variant atm.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (6 preceding siblings ...)
2009-04-21 14:41 ` dodji at gcc dot gnu dot org
@ 2009-05-01 20:04 ` rguenth at gcc dot gnu dot org
2009-05-21 10:33 ` rguenth at gcc dot gnu dot org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-05-01 20:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from rguenth at gcc dot gnu dot org 2009-05-01 20:03 -------
*** Bug 39980 has been marked as a duplicate of this bug. ***
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sje at cup dot hp dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (7 preceding siblings ...)
2009-05-01 20:04 ` rguenth at gcc dot gnu dot org
@ 2009-05-21 10:33 ` rguenth at gcc dot gnu dot org
2009-05-21 10:39 ` rguenth at gcc dot gnu dot org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-05-21 10:33 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (8 preceding siblings ...)
2009-05-21 10:33 ` rguenth at gcc dot gnu dot org
@ 2009-05-21 10:39 ` rguenth at gcc dot gnu dot org
2009-05-26 16:58 ` dodji at gcc dot gnu dot org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-05-21 10:39 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-valid-code
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (9 preceding siblings ...)
2009-05-21 10:39 ` rguenth at gcc dot gnu dot org
@ 2009-05-26 16:58 ` dodji at gcc dot gnu dot org
2009-05-28 11:24 ` dodji at gcc dot gnu dot org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-05-26 16:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from dodji at gcc dot gnu dot org 2009-05-26 16:58 -------
A patch was submitted at
http://gcc.gnu.org/ml/gcc-patches/2009-05/msg01655.html.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (10 preceding siblings ...)
2009-05-26 16:58 ` dodji at gcc dot gnu dot org
@ 2009-05-28 11:24 ` dodji at gcc dot gnu dot org
2009-05-28 12:42 ` dodji at gcc dot gnu dot org
2009-05-30 13:50 ` hjl at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-05-28 11:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from dodji at gcc dot gnu dot org 2009-05-28 11:24 -------
Subject: Bug 39754
Author: dodji
Date: Thu May 28 11:24:18 2009
New Revision: 147951
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147951
Log:
Fix for PR c++/PR39754
gcc/cp/ChangeLog:
PR c++/39754
* cp-tree.h (canonical_type_variant): Remove this function declaration.
(strip_typedefs): New function declaration.
* tree.c (strip_typedefs): New function definition.
(canonical_type_variant): Remove function definition.
* cvt.c (convert_from_reference): No need to use
canonical_type_variant.
* typeck.c (cp_build_indirect_ref): Likewise.
* error.c (dump_template_bindings): Use strip_typedefs instead of
canonical_type_variant.
* pt.c (convert_template_argument, unify): Likewise.
* mangle.c (canonicalize_for_substitution): Don't use
canonical_type_variant.
gcc/testsuite/ChangeLog:
PR c++/39754
* g++.dg/template/canon-type-1.C: New test.
* g++.dg/template/canon-type-2.C: Likewise.
* g++.dg/template/canon-type-3.C: Likewise.
* g++.dg/template/canon-type-4.C: Likewise.
* g++.dg/template/canon-type-5.C: Likewise.
* g++.dg/template/canon-type-6.C: Likewise.
* g++.dg/template/canon-type-7.C: Likewise.
Added:
trunk/gcc/testsuite/g++.dg/template/canon-type-1.C
trunk/gcc/testsuite/g++.dg/template/canon-type-2.C
trunk/gcc/testsuite/g++.dg/template/canon-type-3.C
trunk/gcc/testsuite/g++.dg/template/canon-type-4.C
trunk/gcc/testsuite/g++.dg/template/canon-type-5.C
trunk/gcc/testsuite/g++.dg/template/canon-type-6.C
trunk/gcc/testsuite/g++.dg/template/canon-type-7.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/cvt.c
trunk/gcc/cp/error.c
trunk/gcc/cp/mangle.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/tree.c
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (11 preceding siblings ...)
2009-05-28 11:24 ` dodji at gcc dot gnu dot org
@ 2009-05-28 12:42 ` dodji at gcc dot gnu dot org
2009-05-30 13:50 ` hjl at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-05-28 12:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from dodji at gcc dot gnu dot org 2009-05-28 12:42 -------
Fixed in gcc 4.5.
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
` (12 preceding siblings ...)
2009-05-28 12:42 ` dodji at gcc dot gnu dot org
@ 2009-05-30 13:50 ` hjl at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-05-30 13:50 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from hjl at gcc dot gnu dot org 2009-05-30 13:50 -------
Subject: Bug 39754
Author: hjl
Date: Sat May 30 13:49:33 2009
New Revision: 148004
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148004
Log:
2009-05-30 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-05-28 Dodji Seketeli <dodji@redhat.com>
PR c++/39754
* g++.dg/template/canon-type-1.C: New test.
* g++.dg/template/canon-type-2.C: Likewise.
* g++.dg/template/canon-type-3.C: Likewise.
* g++.dg/template/canon-type-4.C: Likewise.
* g++.dg/template/canon-type-5.C: Likewise.
* g++.dg/template/canon-type-6.C: Likewise.
* g++.dg/template/canon-type-7.C: Likewise.
2009-05-28 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/40254
* gcc.dg/vect/pr40254.c: New test.
2009-05-26 Richard Guenther <rguenther@suse.de>
PR middle-end/40252
* gcc.c-torture/compile/pr40252.c: New testcase.
2009-05-26 Dodji Seketeli <dodji@redhat.com>
PR c++/40007
* g++.dg/template/typedef18.C: New test.
* g++.dg/template/typedef19.C: Likewise.
* g++.dg/template/typedef20.C: Likewise.
2009-05-25 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/40238
* gcc.dg/vect/pr40238.c: New test.
2009-05-24 Richard Guenther <rguenther@suse.de>
PR middle-end/40233
* gcc.c-torture/compile/pr40233.c: New testcase.
Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-1.C
- copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-1.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-2.C
- copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-3.C
- copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-3.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-4.C
- copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-4.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-5.C
- copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-5.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-6.C
- copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-6.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/canon-type-7.C
- copied unchanged from r148002,
trunk/gcc/testsuite/g++.dg/template/canon-type-7.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef18.C
- copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef18.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef19.C
- copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef19.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef20.C
- copied unchanged from r148003,
trunk/gcc/testsuite/g++.dg/template/typedef20.C
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40233.c
- copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40233.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr40252.c
- copied unchanged from r148003,
trunk/gcc/testsuite/gcc.c-torture/compile/pr40252.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40238.c
- copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40238.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40254.c
- copied unchanged from r148003,
trunk/gcc/testsuite/gcc.dg/vect/pr40254.c
Modified:
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2009-05-30 13:50 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-13 19:32 [Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 gcc at abeckmann dot de
2009-04-13 21:26 ` [Bug c++/39754] [4.5 Regression] " hjl dot tools at gmail dot com
2009-04-14 6:59 ` dodji at gcc dot gnu dot org
2009-04-14 7:04 ` gcc at abeckmann dot de
2009-04-14 10:14 ` rguenth at gcc dot gnu dot org
2009-04-14 14:07 ` jason at redhat dot com
2009-04-16 14:29 ` gcc at abeckmann dot de
2009-04-21 14:41 ` dodji at gcc dot gnu dot org
2009-05-01 20:04 ` rguenth at gcc dot gnu dot org
2009-05-21 10:33 ` rguenth at gcc dot gnu dot org
2009-05-21 10:39 ` rguenth at gcc dot gnu dot org
2009-05-26 16:58 ` dodji at gcc dot gnu dot org
2009-05-28 11:24 ` dodji at gcc dot gnu dot org
2009-05-28 12:42 ` dodji at gcc dot gnu dot org
2009-05-30 13:50 ` hjl at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).