OSDN Git Service

* parser.c (cp_parser_constant_expression): Set
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Feb 2011 06:22:51 +0000 (06:22 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 Feb 2011 06:22:51 +0000 (06:22 +0000)
commitcfa61f8435164f3205d70c7e1c5038b2d881aa1d
tree49b81324ade09d98696d503e866b68909cbe56f6
parent9e6b512cd861d5822518aef24fb9bb9a3267cbb1
* parser.c (cp_parser_constant_expression): Set
non_integral_constant_expression correctly for C++0x too.
(cp_parser_static_assert): Allow non-constant expression.
(cp_parser_direct_declarator): Expect non_constant_p to be set
properly for C++0x.
* pt.c (value_dependent_expression_p): Handle TYPEID_EXPR.
* semantics.c (maybe_constant_value): Check type_unknown_p too.
(potential_rvalue_constant_expression): New.
(require_potential_rvalue_constant_expression): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170488 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/constexpr-array-tparm.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/regress/debug-debug7.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/regress/parse-ambig5.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/regress/template-function1.C
gcc/testsuite/g++.dg/cpp0x/variadic20.C