]> git.ipfire.org Git - thirdparty/gcc.git/commit
N3276
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Mar 2013 02:37:09 +0000 (02:37 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Mar 2013 02:37:09 +0000 (02:37 +0000)
commitf87b283e724910266e6c101d3fdb78b1313f1854
treec09183570e99438a8ee808eb03a342623d63c77f
parentd28993f14ee1bfc66b41dddc3613d2c054201545
N3276
PR c++/52748
* cp-tree.h (tsubst_flags): Add tf_decltype.
* call.c (build_cxx_call): Don't build a temporary if it's set.
(build_over_call): Make sure it's only passed to build_cxx_call.
* parser.c (cp_parser_primary_expression): Add decltype_p parm.
(cp_parser_unary_expression): Likewise.
(cp_parser_cast_expression): Likewise.
(cp_parser_binary_expression): Likewise.
(cp_parser_assignment_expression): Likewise.
(cp_parser_postfix_expression): Likewise.  Pass tf_decltype.
(cp_parser_explicit_instantiation): Add decltype_p.  Force a
temporary for a call on the LHS of a comma.
(cp_parser_decltype): Pass true to decltype_p parms.
* pt.c (tsubst) [DECLTYPE_TYPE]: Pass tf_decltype.
(tsubst_copy_and_build): Pass tf_decltype down only for
CALL_EXPR and the RHS of COMPOUND_EXPR.
* tree.c (build_cplus_new): Call complete_type_or_maybe_complain.

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