This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/33239] [4.1/4.2/4.3 Regression] internal compiler error in instantiate_class_template, at cp/pt.c:5666
- From: "pcarlini at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Sep 2007 02:22:31 -0000
- Subject: [Bug c++/33239] [4.1/4.2/4.3 Regression] internal compiler error in instantiate_class_template, at cp/pt.c:5666
- References: <bug-33239-10867@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from pcarlini at suse dot de 2007-09-08 02:22 -------
Now the ICE is at line 6586. Can be triggered with this smaller snippet:
struct null_type;
template<typename T1, typename T2>
struct tuple_impl
{
template<typename U>
struct append
{
typedef tuple_impl<U, null_type> type;
};
int data;
};
template<typename T1, typename T2>
class tuple
: public tuple_impl<T1, null_type>::template append<T1>::type
{
using tuple_impl<T1, null_type>::template append<T1>::type::data;
};
tuple<int, int> my_tuple;
---------
Note that if I remove the now redundant template parameter T2 of tuple and
instantiate with typle<int>, we get immediately a bit of additional info:
33239_p2.C: In instantiation of ?tuple<int>?:
33239_p2.C:22: instantiated from here
33239_p2.C:19: internal compiler error: tree check: accessed elt 2 of tree_vec
with 1 elts in tsubst, at cp/pt.c:8601
--
pcarlini at suse dot de changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pcarlini at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33239