diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-08 12:32:37 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-08 12:32:37 +0000 |
commit | 313d62a349ecb8ad8a419783fe776c7ecd5384d0 (patch) | |
tree | 7717c5e62d64af14c96a1abe2b5c0bd6b8300db2 /gcc/tree.h | |
parent | a540eb41c1e6735a9a0b9c549e6be624a25c9e6a (diff) | |
download | gcc-313d62a349ecb8ad8a419783fe776c7ecd5384d0.tar.gz |
2012-10-08 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 192205 using svnmerge.py
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@192206 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index ff4ae52e237..e7cef185793 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -4903,12 +4903,12 @@ struct attribute_spec { /* The name of the attribute (without any leading or trailing __), or NULL to mark the end of a table of attributes. */ - const char *const name; + const char *name; /* The minimum length of the list of arguments of the attribute. */ - const int min_length; + int min_length; /* The maximum length of the list of arguments of the attribute (-1 for no maximum). */ - const int max_length; + int max_length; /* Whether this attribute requires a DECL. If it does, it will be passed from types of DECLs, function return types and array element types to the DECLs, function types and array types respectively; but when @@ -4916,15 +4916,15 @@ struct attribute_spec a warning. (If greater control is desired for a given attribute, this should be false, and the flags argument to the handler may be used to gain greater control in that case.) */ - const bool decl_required; + bool decl_required; /* Whether this attribute requires a type. If it does, it will be passed from a DECL to the type of that DECL. */ - const bool type_required; + bool type_required; /* Whether this attribute requires a function (or method) type. If it does, it will be passed from a function pointer type to the target type, and from a function return type (which is not itself a function pointer type) to the function type. */ - const bool function_type_required; + bool function_type_required; /* Function to handle this attribute. NODE points to the node to which the attribute is to be applied. If a DECL, it should be modified in place; if a TYPE, a copy should be created. NAME is the name of the @@ -4939,10 +4939,10 @@ struct attribute_spec otherwise the return value should be NULL_TREE. This pointer may be NULL if no special handling is required beyond the checks implied by the rest of this structure. */ - tree (*const handler) (tree *node, tree name, tree args, - int flags, bool *no_add_attrs); + tree (*handler) (tree *node, tree name, tree args, + int flags, bool *no_add_attrs); /* Specifies if attribute affects type's identity. */ - const bool affects_type_identity; + bool affects_type_identity; }; /* Flags that may be passed in the third argument of decl_attributes, and @@ -4967,7 +4967,9 @@ enum attribute_flags /* The attributes are being applied by default to a library function whose name indicates known behavior, and should be silently ignored if they are not in fact compatible with the function type. */ - ATTR_FLAG_BUILT_IN = 16 + ATTR_FLAG_BUILT_IN = 16, + /* A given attribute has been parsed as a C++-11 attribute. */ + ATTR_FLAG_CXX11 = 32 }; /* Default versions of target-overridable functions. */ @@ -6054,6 +6056,8 @@ extern bool must_pass_in_stack_var_size_or_pad (enum machine_mode, const_tree); /* In attribs.c. */ extern const struct attribute_spec *lookup_attribute_spec (const_tree); +extern const struct attribute_spec *lookup_scoped_attribute_spec (const_tree, + const_tree); extern void init_attributes (void); @@ -6067,6 +6071,12 @@ extern void init_attributes (void); a decl attribute to the declaration rather than to its type). */ extern tree decl_attributes (tree *, tree, int); +extern bool cxx11_attribute_p (const_tree); + +extern tree get_attribute_name (const_tree); + +extern tree get_attribute_namespace (const_tree); + extern void apply_tm_attr (tree, tree); /* In stor-layout.c */ |