Mercurial > hg > CbC > CbC_gcc
diff gcc/attribs.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/gcc/attribs.h Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/attribs.h Thu Feb 13 11:34:05 2020 +0900 @@ -1,5 +1,5 @@ /* Declarations and definitions dealing with attribute handling. - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. This file is part of GCC. @@ -35,6 +35,7 @@ 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); extern tree make_attribute (const char *, const char *, tree); @@ -105,6 +106,12 @@ extern tree private_lookup_attribute (const char *attr_name, size_t attr_len, tree list); +extern unsigned decls_mismatched_attributes (tree, tree, tree, + const char* const[], + pretty_printer*); + +extern void maybe_diag_alias_attributes (tree, tree); + /* For a given IDENTIFIER_NODE, strip leading and trailing '_' characters so that we have a canonical form of attribute names. */ @@ -211,4 +218,24 @@ } } +/* Description of a function argument declared with attribute access. + Used as an "iterator" over all such arguments in a function declaration + or call. */ + +struct attr_access +{ + /* The attribute pointer argument. */ + tree ptr; + /* The size of the pointed-to object or NULL when not specified. */ + tree size; + + /* The zero-based number of each of the formal function arguments. */ + unsigned ptrarg; + unsigned sizarg; + + /* The access mode. */ + enum access_mode { read_only, write_only, read_write }; + access_mode mode; +}; + #endif // GCC_ATTRIBS_H