OSDN Git Service

gcc/cp:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Dec 2008 19:08:14 +0000 (19:08 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Dec 2008 19:08:14 +0000 (19:08 +0000)
commit3986b463f533789a8ff58fc9a1629772c7fbe017
tree2fc764010bfc532f00bb2946a496b9d1884f5ed0
parentf4d611a28bed8ce5921fa69355475ffba549a8dd
gcc/cp:
        * semantics.c (describable_type): New function.
        (finish_decltype_type): Use it for dependent exprs.
        * cp-tree.h: Declare it.
        * mangle.c (write_type) [DECLTYPE_TYPE]: Set skip_evaluation.
        (write_expression): If skip_evaluation, use type stubs.
        * tree.c (cp_tree_equal): Handle PARM_DECLs from different
        declarations of a function.
        * init.c (build_new): Do auto deduction if type is describable.
        * decl.c (cp_finish_decl): Likewise.
        * parser.c (cp_parser_omp_for_loop): Likewise.
gcc/testsuite:
        * g++.dg/cpp0x/auto6.C: Test more stuff.
        * g++.dg/cpp0x/auto12.C: New test.
libiberty:
        * cp-demangle.c (d_expression): Handle rvalue stubs too.
        [DEMANGLE_COMPONENT_CAST]: Update mangling.
        (d_print_comp): Avoid extra ", " with empty template argument packs.
        Remove handling for obsolete T() mangling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142799 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/init.c
gcc/cp/mangle.c
gcc/cp/parser.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/auto12.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/auto6.C
libiberty/ChangeLog
libiberty/cp-demangle.c