diff options
author | Mark Mitchell <mark@codesourcery.com> | 2005-09-13 02:41:07 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2005-09-13 02:41:07 +0000 |
commit | 060e73279b91815dba57658f6486f07285c2db0a (patch) | |
tree | fc99a0d78145c65e69d008148fb60b154f63ef6a /gcc/cp/parser.c | |
parent | 2eef28ec7b537993d69c38797a6afd2b43a9e62c (diff) | |
download | gcc-060e73279b91815dba57658f6486f07285c2db0a.zip gcc-060e73279b91815dba57658f6486f07285c2db0a.tar.gz gcc-060e73279b91815dba57658f6486f07285c2db0a.tar.bz2 |
re PR c++/23841 (Floating-point literals cast to integral types should be accepted in integer constant expressions)
PR c++/23841
* parser.c (cp_parser_primary_expression): Recognize the closing
">" of a template-argument-list after a floating-point literal as
the end of a cast expression.
PR c++/23841
* g++.dg/parse/template17.C: New test.
From-SVN: r104208
Diffstat (limited to 'gcc/cp/parser.c')
-rw-r--r-- | gcc/cp/parser.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index a8a2c49..0f8d17c 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -2779,7 +2779,10 @@ cp_parser_primary_expression (cp_parser *parser, /* The end of the cast-expression. */ && next_token->type != CPP_CLOSE_PAREN /* The end of an array bound. */ - && next_token->type != CPP_CLOSE_SQUARE) + && next_token->type != CPP_CLOSE_SQUARE + /* The closing ">" in a template-argument-list. */ + && (next_token->type != CPP_GREATER + || parser->greater_than_is_operator_p)) cast_p = false; } |