aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@cs.tamu.edu>2009-10-01 05:13:56 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2009-10-01 05:13:56 +0000
commit7ecbca9d02206b8fcba2710daa9e0a366af65a8b (patch)
treedcaed29421b884419d98bd0b4cb2308838e9ea60 /gcc/tree.h
parentec30ab2c798327e9d538b985a410ba79487ae801 (diff)
downloadgcc-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.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index a5a22f4..ce841d5 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -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;