diff options
author | Gabriel Dos Reis <gdr@cs.tamu.edu> | 2009-10-01 05:13:56 +0000 |
---|---|---|
committer | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2009-10-01 05:13:56 +0000 |
commit | 7ecbca9d02206b8fcba2710daa9e0a366af65a8b (patch) | |
tree | dcaed29421b884419d98bd0b4cb2308838e9ea60 /gcc/tree.h | |
parent | ec30ab2c798327e9d538b985a410ba79487ae801 (diff) | |
download | gcc-7ecbca9d02206b8fcba2710daa9e0a366af65a8b.zip gcc-7ecbca9d02206b8fcba2710daa9e0a366af65a8b.tar.gz gcc-7ecbca9d02206b8fcba2710daa9e0a366af65a8b.tar.bz2 |
tree.h (tree_decl_common::lang_flag_8): New.
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.
From-SVN: r152358
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -2597,6 +2597,7 @@ struct GTY(()) tree_decl_minimal { #define DECL_LANG_FLAG_5(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_5) #define DECL_LANG_FLAG_6(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_6) #define DECL_LANG_FLAG_7(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_7) +#define DECL_LANG_FLAG_8(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_8) /* Nonzero for a decl which is at file scope. */ #define DECL_FILE_SCOPE_P(EXP) \ @@ -2639,6 +2640,7 @@ struct GTY(()) tree_decl_common { unsigned lang_flag_5 : 1; unsigned lang_flag_6 : 1; unsigned lang_flag_7 : 1; + unsigned lang_flag_8 : 1; /* In LABEL_DECL, this is DECL_ERROR_ISSUED. In VAR_DECL and PARM_DECL, this is DECL_REGISTER. */ @@ -2657,8 +2659,9 @@ struct GTY(()) tree_decl_common { unsigned decl_by_reference_flag : 1; /* In VAR_DECL, PARM_DECL and RESULT_DECL, this is DECL_RESTRICTED_P. */ unsigned decl_restricted_flag : 1; + /* Padding so that 'off_align' can be on a 32-bit boundary. */ - unsigned decl_common_unused : 3; + unsigned decl_common_unused : 2; /* DECL_OFFSET_ALIGN, used only for FIELD_DECLs. */ unsigned int off_align : 8; |