diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2002-09-16 19:57:33 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2002-09-16 19:57:33 +0000 |
commit | 3ec83083bf1e0fa4a923a4aa1269375893afac7b (patch) | |
tree | 841e2dee0ca406c1701d831e9f2f6010dd0c929c /gcc | |
parent | 045572c7dfb60465718d6fc0b5cb30cb8a88a9f9 (diff) | |
download | gcc-3ec83083bf1e0fa4a923a4aa1269375893afac7b.zip gcc-3ec83083bf1e0fa4a923a4aa1269375893afac7b.tar.gz gcc-3ec83083bf1e0fa4a923a4aa1269375893afac7b.tar.bz2 |
re PR c++/7718 ('complex' template instantiation causes internal compiler error (gcc 3.1, gcc 3.2))
cp:
PR c++/7718
* pt.c (tsubst_decl): Remove assert.
testsuite:
* g++.dg/template/subst1.C: New test.
From-SVN: r57211
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/cp/pt.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/subst1.C | 27 |
4 files changed, 38 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a405a91..9b6bcdc 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2002-09-16 Nathan Sidwell <nathan@codesourcery.com> + PR c++/7718 + * pt.c (tsubst_decl): Remove assert. + Remove DR 295 implementation. * pt.c (check_cv_quals_for_unify): Disable function & method cases. * tree.c (cp_build_qualified_type_real): Likewise. Don't warn diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 86b3fc2..64696bc 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -5694,8 +5694,6 @@ tsubst_decl (t, args, type, complain) tree r = NULL_TREE; tree in_decl = t; - my_friendly_assert (complain & tf_error, 20011214); - /* Set the filename and linenumber to improve error-reporting. */ saved_lineno = lineno; saved_filename = input_filename; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e399a34..63b882f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,9 +1,17 @@ +2002-09-16 Nathan Sidwell <nathan@codesourcery.com> + + * g++.dg/template/subst1.C: New test. + 2002-09-16 Steve Ellcey <sje@cup.hp.com> * gcc.dg/20020312-2.c: Change __parisc__ to __hppa__. 2002-09-16 Nathan Sidwell <nathan@codesourcery.com> + * g++.dg/template/qualttp20.C: Adjust expected errors. + * g++.old-deja/g++.jason/report.C: Likewise. + * g++.old-deja/g++.other/qual1.C: Likewise. + * g++.dg/lookup/scoped2.C: New test. * g++.dg/ext/asm3.C: New test. diff --git a/gcc/testsuite/g++.dg/template/subst1.C b/gcc/testsuite/g++.dg/template/subst1.C new file mode 100644 index 0000000..827af23 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/subst1.C @@ -0,0 +1,27 @@ +// { dg-do compile } + +// Copyright (C) 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 16 Sep 2002 <nathan@codesourcery.com> + +// PR 7718. ICE. + +template <typename OBJECT> +void default_initializer(const OBJECT &) { } + + +template <typename OBJECT, void init_function(const OBJECT &)> +class cContainer { + public: + template <typename INITIALIZER> + void Add(const INITIALIZER &initializer) { + init_function(initializer); + } +}; + +int main() { + cContainer<int, default_initializer<int> > c; + + c.Add<int>(42); + + return 0; +} |