Commit 9b61cc1b by Giovanni Bajo Committed by Wolfgang Bangerth

re PR c++/10750 (error with using template template expression in static const initializer)

2003-06-30  Giovanni Bajo  <giovannibajo@libero.it>

        PR c++/10750
        * parser.c (cp_parser_primary_expression): A VAR_DECL with a
        (value- or type-) dependent expression as DECL_INITIAL is a
        valid constant-expression (at parser time).

From-SVN: r68720
parent fbfcbadc
2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
PR c++/10750
* parser.c (cp_parser_primary_expression): A VAR_DECL with a
(value- or type-) dependent expression as DECL_INITIAL is a
valid constant-expression (at parser time).
2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
PR c++/11106
......
......@@ -2783,11 +2783,16 @@ cp_parser_primary_expression (cp_parser *parser,
&& INTEGRAL_OR_ENUMERATION_TYPE_P (TREE_TYPE (decl)))
/* Const variables or static data members of integral
or enumeration types initialized with constant
expressions. */
expressions (or dependent expressions - in this case
the check will be done at instantiation time). */
&& !(TREE_CODE (decl) == VAR_DECL
&& INTEGRAL_OR_ENUMERATION_TYPE_P (TREE_TYPE (decl))
&& DECL_INITIAL (decl)
&& TREE_CONSTANT (DECL_INITIAL (decl))))
&& (TREE_CONSTANT (DECL_INITIAL (decl))
|| type_dependent_expression_p
(DECL_INITIAL (decl))
|| value_dependent_expression_p
(DECL_INITIAL (decl)))))
{
if (!parser->allow_non_constant_expression_p)
return cp_parser_non_constant_id_expression (decl);
......
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