Commit 544aef8c by Nathan Sidwell Committed by Nathan Sidwell

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
parent 649fc72d
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.
......
......@@ -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)))
......
2003-03-27 Nathan Sidwell <nathan@codesourcery.com>
PR c++/10224
* g++.dg/template/arg3.C: New test.
PR c++/10158
* g++.dg/template/friend18.C: New test.
......
// { dg-do compile }
// Copyright (C) 2003 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 27 Mar 2003 <nathan@codesourcery.com>
// PR 10224. Rejected a valid constant argument.
template <bool B> struct X {
struct I {};
};
template <typename T> struct Y {
static const bool selector = true;
typedef typename X<selector>::I helper;
};
Y<int> i;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment