http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52748



--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2013-03-17 
02:37:21 UTC ---

Author: jason

Date: Sun Mar 17 02:37:09 2013

New Revision: 196736



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196736

Log:

    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.



Added:

    trunk/gcc/testsuite/g++.dg/cpp0x/decltype-call1.C

Modified:

    trunk/gcc/cp/ChangeLog

    trunk/gcc/cp/call.c

    trunk/gcc/cp/cp-tree.h

    trunk/gcc/cp/parser.c

    trunk/gcc/cp/pt.c

    trunk/gcc/cp/tree.c

Reply via email to