Implement noexcept operator (5.3.7)
commit98fe9664d14d2fc65e98120de16e84bf64830074
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Jun 2010 21:21:13 +0000 (4 21:21 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Jun 2010 21:21:13 +0000 (4 21:21 +0000)
treed5300c246ce3ea5275af264865375de418f7963e
parentc0f832033ab6a61743a521bb196ae9b060fa7e56
Implement noexcept operator (5.3.7)
* c-common.c (c_common_reswords): Add noexcept.
* c-common.h (enum rid): Add RID_NOEXCEPT.
cp/
* cp-tree.def (NOEXCEPT_EXPR): New.
* except.c (check_noexcept_r, finish_noexcept_expr): New.
* cp-tree.h: Declare finish_noexcept_expr.
* parser.c (cp_parser_unary_expression): Parse noexcept-expression.
* pt.c (tsubst_copy_and_build): And tsubst it.
(type_dependent_expression_p): Handle it.
(value_dependent_expression_p): Handle it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160297 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/cp/ChangeLog
gcc/cp/cp-tree.def
gcc/cp/cp-tree.h
gcc/cp/except.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/noexcept01.C [new file with mode: 0644]