[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-19 Thread dodji at gcc dot gnu dot org


--- Comment #7 from dodji at gcc dot gnu dot org  2010-04-19 09:32 ---
Subject: Bug 43704

Author: dodji
Date: Mon Apr 19 09:32:16 2010
New Revision: 158508

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158508
Log:
Fix PR c++/43704

gcc/cp/ChangeLog:
PR c++/43704
* typeck.c (structural_comptypes): Test dependent typedefs
incompatibility before testing for their main variant based
equivalence.

gcc/testsuite/ChangeLog:
PR c++/43704
* g++.dg/template/typedef32.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/typedef32.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-19 Thread hjl dot tools at gmail dot com


--- Comment #8 from hjl dot tools at gmail dot com  2010-04-19 14:44 ---
On Linux/ia32, I got

Executing on host:
/export/gnu/import/svn/gcc-test/bld/gcc/testsuite/g++2/../../g++
-B/export/gnu/import/svn/gcc-test/bld/gcc/testsuite/g++2/../../
/export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/template/typedef32.C
 -nostdinc++
-I/export/gnu/import/svn/gcc-test/bld/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu
-I/export/gnu/import/svn/gcc-test/bld/i686-pc-linux-gnu/libstdc++-v3/include
-I/export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/libsupc++
-I/export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/include/backward
-I/export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/testsuite/util
-fmessage-length=0   -ansi -pedantic-errors -Wno-long-long  -S  -o typedef32.s 
  (timeout = 300)
/export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/template/typedef32.C:
In instantiation of 'banded_adaptormatrixdouble ::iterator1':^M
/export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/template/typedef32.C:43:46:
  instantiated from here^M
/export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/g++.dg/template/typedef32.C:35:9:
error: no type named 'ic' in 'class banded_adaptormatrixdouble ::ty1'^M


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-15 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-15 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2010-04-15 14:57 ---
The failure of the testcase in comment #1 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


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-15 Thread dodji at gcc dot gnu dot org


-- 

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|2010-04-09 19:44:08 |2010-04-15 19:08:18
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-15 Thread dodji at gcc dot gnu dot org


--- Comment #6 from dodji at gcc dot gnu dot org  2010-04-15 21:13 ---
A patch was posted to http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00928.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-09 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-09 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-04-09 15:08 ---
Created an attachment (id=20347)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20347action=view)
autoreduced testcase


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-09 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-04-09 19:15 ---
Created an attachment (id=20350)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20350action=view)
More reduced


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-09 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2010-04-09 19:20 ---
Created an attachment (id=20351)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20351action=view)
More reduced


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704



[Bug c++/43704] [4.5/4.6 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:10074

2010-04-09 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2010-04-09 19:44 ---
Fully reduced:
 template   typename T2, typename T3   struct if_ {
  typedef T2 type;
 };
templateclass I1 struct iterator_restrict_traits { };
templateclass T class matrix  {
 class ci {};
 class i {};
};
templateclass M, class TRI struct triangular_adaptor  {
   typedef typename if_typename M::ci,typename M::i::type ty1;
   class iterator2 :iterator_restrict_traitstypename
ty1::ic::iterator_category  { };
};
templateclass M struct banded_adaptor  {
  typedef typename if_typename M::ci,typename M::i::type ty1;
  class iterator1 :  iterator_restrict_traitstypename
ty1::ic::iterator_category  { };
};
templateclass T
struct singular_decomposition {
  banded_adaptor matrix double  ::iterator1 it1;
};


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-04-09 19:44:08
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43704