OSDN Git Service

gcc/
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Oct 2009 05:13:56 +0000 (05:13 +0000)
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Oct 2009 05:13:56 +0000 (05:13 +0000)
commit17814acad9a3e3e11971c7f6a01c32e6e1ce26bf
treedcaed29421b884419d98bd0b4cb2308838e9ea60
parente9a551cc28cca044119741344833916f1e90be3f
gcc/
* tree.h (tree_decl_common::lang_flag_8): New.
* c-common.c (c_common_reswords): Include "constexpr" as C++0x
keyword.
* c-common.h (RID_CONSTEXPR): New.

gcc/cp/
* decl.c (check_for_uninitialized_const_var): Check constexpr
variables too.
(build_ptrmemfunc_type): Make the result a literal type.
(build_ptrmem_type): Likewise.
(grokdeclarator): Handle `constexpr'.
(check_tag_decl): Reject `constexpr'.
(check_function_type): Check constexpr functions.
* cp-tree.h (ds_constexpr): New cp_decl_spec enumerator.
(CLASSTYPE_LITERAL_P): New.
(lang_type_class::is_literal): New.
(lang_type_class::dummy): Adjust width.
(literal_type_p): Declare.
* parser.c (cp_parser_check_decl_spec): Print it.
(cp_parser_decl_specifier_seq): Accept "constexpr".
* semantics.c (validate_constexpr_fundecl): Define.
(literal_type_p): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152358 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/tree.h