diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2003-03-27 14:04:28 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2003-03-27 14:04:28 +0000 |
commit | 544aef8cc9fc31e1e7a4edb381c275e7719b26ed (patch) | |
tree | 2b7e642b34f67ebc1076c7146d8ce1c92de5e419 /gcc/cp | |
parent | 649fc72d2638dfc1edac57bb5dc9525bdf4911e5 (diff) | |
download | gcc-544aef8cc9fc31e1e7a4edb381c275e7719b26ed.zip gcc-544aef8cc9fc31e1e7a4edb381c275e7719b26ed.tar.gz gcc-544aef8cc9fc31e1e7a4edb381c275e7719b26ed.tar.bz2 |
re PR c++/10224 (Problem with integral constants (+ICE))
cp:
PR c++/10224
* pt.c (lookup_template_class): Only check instantiated args if
they do not contain template parameters.
testsuite:
PR c++/10224
* g++.dg/template/arg3.C: New test.
From-SVN: r64923
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/pt.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8d835ec..c747679 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,11 @@ 2003-03-27 Nathan Sidwell <nathan@codesourcery.com> + PR c++/10224 + * pt.c (lookup_template_class): Only check instantiated args if + they do not contain template parameters. + +2003-03-27 Nathan Sidwell <nathan@codesourcery.com> + PR c++/10158 * parser.c (cp_parser_function_definition): Set DECL_INITIALIZED_IN_CLASS for members. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index c04c602..a79b8a5 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -4181,7 +4181,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain) arglist2 = coerce_template_parms (parmlist, arglist, template, complain, /*require_all_args=*/1); if (arglist2 == error_mark_node - || (!processing_template_decl + || (!uses_template_parms (arglist2) && check_instantiated_args (template, arglist2, complain))) POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, error_mark_node); @@ -4272,7 +4272,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope, complain) complain, /*require_all_args=*/1); if (arglist == error_mark_node - || (!processing_template_decl + || (!uses_template_parms (INNERMOST_TEMPLATE_ARGS (arglist)) && check_instantiated_args (template, INNERMOST_TEMPLATE_ARGS (arglist), complain))) |