This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/42603] [C++0x] decltype not supported for parent class specifier


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

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2011-07-20 14:21:09 UTC ---
Author: jason
Date: Wed Jul 20 14:21:05 2011
New Revision: 176513

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176513
Log:
    PR c++/6709 (DR 743)
    PR c++/42603 (DR 950)
gcc/cp/
    * parser.c (token_is_decltype, cp_lexer_next_token_is_decltype): New.
    (cp_parser_nested_name_specifier_opt): Allow decltype.
    (cp_parser_qualifying_entity): Likewise.
    (cp_parser_decltype): Replace source tokens with CPP_DECLTYPE.
    (cp_parser_simple_type_specifier): Handle decltype as scope.
    (cp_parser_base_specifier): Allow decltype.
    (cp_parser_base_clause): Don't crash on null base.
    * parser.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move to c-common.h.
    (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
gcc/c-family/
    * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
    (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
    (CPP_DECLTYPE): New.
    * c-common.c (c_parse_error): Handle CPP_DECLTYPE.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/decltype21.C
Modified:
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/c-family/c-common.h
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/parser.h
    trunk/gcc/testsuite/ChangeLog


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]