2007-07-27 Douglas Gregor <doug.gregor@gmail.com> * typeck.c (structural_comptypes): Compare DECLTYPE_TYPE nodes. * cp-tree.def (DECLTYPE_TYPE): New. * error.c (dump_type): Dump DECLTYPE_TYPE nodes. (dump_type_prefix): Ditto. (dump_type_suffix): Ditto. * tree.c (DECLTYPE_TYPE): Walk DECLTYPE_TYPE nodes. * mangle.c (write_type): Handle DECLTYPE_TYPE. * cp-tree.h (IS_AGGR_TYPE): DECLTYPE_TYPE nodes can be aggregate types. (DECLTYPE_TYPE_EXPR): New. (DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): New. (finish_declared_type): Declare. * cxx-pretty-print.c (pp_cxx_type_specifier_seq): Print DECLTYPE_TYPE nodes. (pp_cxx_type_id): Ditto. * pt.c (for_each_template_parm_r): Walk DECLTYPE_TYPE children. (tsubst): Substitute into a DECLTYPE_TYPE node. (tsubst_copy): Ditto. (unify): Cannot deduce anything from TYPEOF_TYPE or DECLTYPE_TYPE nodes. (dependent_type_p_r): DECLTYPE_TYPE types are always dependent. * semantics.c (finish_typeof): TYPEOF_TYPE types need to use structural equality (because we can't hash the expressions). (finish_declared_type): New. * lex.c (reswords): Add "decltype" keyword. * parser.c cp_lexer_next_token_is_decl_specifier_keyword (cp_parser_postfix_expression): Add member_access_only_p to restrict postfix expression to member access expressions. (cp_parser_unary_expression): Update call to cp_parser_postfix_expression to reflect new parameter. (cp_parser_declared_type): New. (cp_parser_simple_type_specifier): Parse decltype types. 2007-07-27 Douglas Gregor <doug.gregor@gmail.com> * c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X. 2007-07-27 Douglas Gregor <doug.gregor@gmail.com> * g++.dg/cpp0x/decltype1.C: New. * g++.dg/cpp0x/decltype2.C: New. * g++.dg/cpp0x/decltype3.C: New. * g++.dg/cpp0x/decltype4.C: New. * g++.dg/cpp0x/decltype5.C: New. * g++.dg/cpp0x/decltype6.C: New. From-SVN: r126991
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
bind.C | Loading commit data... | |
bracket1.C | Loading commit data... | |
bracket2.C | Loading commit data... | |
bracket3.C | Loading commit data... | |
bracket4.C | Loading commit data... | |
cast-bug.C | Loading commit data... | |
cast.C | Loading commit data... | |
collapse-bug.C | Loading commit data... | |
collapse.C | Loading commit data... | |
decltype1.C | Loading commit data... | |
decltype2.C | Loading commit data... | |
decltype3.C | Loading commit data... | |
decltype4.C | Loading commit data... | |
decltype5.C | Loading commit data... | |
decltype6.C | Loading commit data... | |
deduce.C | Loading commit data... | |
elision.C | Loading commit data... | |
elision_neg.C | Loading commit data... | |
elision_weak.C | Loading commit data... | |
implicit-copy.C | Loading commit data... | |
iop.C | Loading commit data... | |
named.C | Loading commit data... | |
named_refs.C | Loading commit data... | |
not_special.C | Loading commit data... | |
overload-conv-1.C | Loading commit data... | |
overload-conv-2.C | Loading commit data... | |
overload.C | Loading commit data... | |
pr31431-2.C | Loading commit data... | |
pr31431.C | Loading commit data... | |
pr31432.C | Loading commit data... | |
pr31434.C | Loading commit data... | |
pr31437.C | Loading commit data... | |
pr31438.C | Loading commit data... | |
pr31442.C | Loading commit data... | |
pr31443.C | Loading commit data... | |
pr31444.C | Loading commit data... | |
pr31445.C | Loading commit data... | |
reference_collapsing.C | Loading commit data... | |
rv1n.C | Loading commit data... | |
rv1p.C | Loading commit data... | |
rv2n.C | Loading commit data... | |
rv2p.C | Loading commit data... | |
rv3n.C | Loading commit data... | |
rv3p.C | Loading commit data... | |
rv4n.C | Loading commit data... | |
rv4p.C | Loading commit data... | |
rv5n.C | Loading commit data... | |
rv5p.C | Loading commit data... | |
rv6n.C | Loading commit data... | |
rv6p.C | Loading commit data... | |
rv7n.C | Loading commit data... | |
rv7p.C | Loading commit data... | |
rv8p.C | Loading commit data... | |
rvo.C | Loading commit data... | |
static_assert1.C | Loading commit data... | |
static_assert2.C | Loading commit data... | |
static_assert3.C | Loading commit data... | |
static_assert4.C | Loading commit data... | |
temp-constructor-bug.C | Loading commit data... | |
temp-va-arg-bug.C | Loading commit data... | |
temp_default1.C | Loading commit data... | |
temp_default2.C | Loading commit data... | |
temp_default3.C | Loading commit data... | |
temp_default4.C | Loading commit data... | |
template_deduction.C | Loading commit data... | |
unnamed_refs.C | Loading commit data... | |
variadic-bind.C | Loading commit data... | |
variadic-crash1.C | Loading commit data... | |
variadic-ex1.C | Loading commit data... | |
variadic-ex10.C | Loading commit data... | |
variadic-ex11.C | Loading commit data... | |
variadic-ex12.C | Loading commit data... | |
variadic-ex13.C | Loading commit data... | |
variadic-ex14.C | Loading commit data... | |
variadic-ex2.C | Loading commit data... | |
variadic-ex3.C | Loading commit data... | |
variadic-ex4.C | Loading commit data... | |
variadic-ex5.C | Loading commit data... | |
variadic-ex6.C | Loading commit data... | |
variadic-ex7.C | Loading commit data... | |
variadic-ex8.C | Loading commit data... | |
variadic-ex9.C | Loading commit data... | |
variadic-function.C | Loading commit data... | |
variadic-mem_fn.C | Loading commit data... | |
variadic-tuple.C | Loading commit data... | |
variadic1.C | Loading commit data... | |
variadic10.C | Loading commit data... | |
variadic11.C | Loading commit data... | |
variadic12.C | Loading commit data... | |
variadic13.C | Loading commit data... | |
variadic14.C | Loading commit data... | |
variadic15.C | Loading commit data... | |
variadic16.C | Loading commit data... | |
variadic17.C | Loading commit data... | |
variadic18.C | Loading commit data... | |
variadic19.C | Loading commit data... | |
variadic2.C | Loading commit data... | |
variadic20.C | Loading commit data... | |
variadic21.C | Loading commit data... | |
variadic22.C | Loading commit data... | |
variadic23.C | Loading commit data... | |
variadic24.C | Loading commit data... | |
variadic25.C | Loading commit data... | |
variadic26.C | Loading commit data... | |
variadic27.C | Loading commit data... | |
variadic28.C | Loading commit data... | |
variadic29.C | Loading commit data... | |
variadic3.C | Loading commit data... | |
variadic30.C | Loading commit data... | |
variadic31.C | Loading commit data... | |
variadic32.C | Loading commit data... | |
variadic33.C | Loading commit data... | |
variadic34.C | Loading commit data... | |
variadic35.C | Loading commit data... | |
variadic36.C | Loading commit data... | |
variadic37.C | Loading commit data... | |
variadic38.C | Loading commit data... | |
variadic39.C | Loading commit data... | |
variadic4.C | Loading commit data... | |
variadic40.C | Loading commit data... | |
variadic41.C | Loading commit data... | |
variadic42.C | Loading commit data... | |
variadic43.C | Loading commit data... | |
variadic44.C | Loading commit data... | |
variadic45.C | Loading commit data... | |
variadic46.C | Loading commit data... | |
variadic47.C | Loading commit data... | |
variadic48.C | Loading commit data... | |
variadic49.C | Loading commit data... | |
variadic5.C | Loading commit data... | |
variadic50.C | Loading commit data... | |
variadic51.C | Loading commit data... | |
variadic52.C | Loading commit data... | |
variadic53.C | Loading commit data... | |
variadic54.C | Loading commit data... | |
variadic55.C | Loading commit data... | |
variadic56.C | Loading commit data... | |
variadic57.C | Loading commit data... | |
variadic58.C | Loading commit data... | |
variadic59.C | Loading commit data... | |
variadic6.C | Loading commit data... | |
variadic60.C | Loading commit data... | |
variadic61.C | Loading commit data... | |
variadic62.C | Loading commit data... | |
variadic63.C | Loading commit data... | |
variadic64.C | Loading commit data... | |
variadic65.C | Loading commit data... | |
variadic66.C | Loading commit data... | |
variadic67.C | Loading commit data... | |
variadic68.C | Loading commit data... | |
variadic69.C | Loading commit data... | |
variadic7.C | Loading commit data... | |
variadic70.C | Loading commit data... | |
variadic71.C | Loading commit data... | |
variadic72.C | Loading commit data... | |
variadic73.C | Loading commit data... | |
variadic74.C | Loading commit data... | |
variadic75.C | Loading commit data... | |
variadic8.C | Loading commit data... | |
variadic9.C | Loading commit data... | |
warn_cxx0x.C | Loading commit data... |