diff options
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 34 |
1 files changed, 32 insertions, 2 deletions
@@ -1078,6 +1078,11 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int, #define IDENTIFIER_ANON_P(NODE) \ (IDENTIFIER_NODE_CHECK (NODE)->base.private_flag) +/* Nonzero indicates an IDENTIFIER_NODE that names an internal label. + The prefix used to generate the label can be found on the TREE_CHAIN. */ +#define IDENTIFIER_INTERNAL_P(NODE) \ + (IDENTIFIER_NODE_CHECK (NODE)->base.volatile_flag) + /* Nonzero in an IDENTIFIER_NODE if the name is a local alias, whose uses are to be substituted for uses of the TREE_CHAINed identifier. */ #define IDENTIFIER_TRANSPARENT_ALIAS(NODE) \ @@ -1625,6 +1630,13 @@ class auto_suppress_location_wrappers #define OMP_METADIRECTIVE_VARIANT_BODY(v) \ TREE_VALUE (TREE_VALUE (v)) +#define OMP_DECLARE_MAPPER_ID(NODE) \ + TREE_OPERAND (OMP_DECLARE_MAPPER_CHECK (NODE), 0) +#define OMP_DECLARE_MAPPER_DECL(NODE) \ + TREE_OPERAND (OMP_DECLARE_MAPPER_CHECK (NODE), 1) +#define OMP_DECLARE_MAPPER_CLAUSES(NODE) \ + TREE_OPERAND (OMP_DECLARE_MAPPER_CHECK (NODE), 2) + #define OMP_SCAN_BODY(NODE) TREE_OPERAND (OMP_SCAN_CHECK (NODE), 0) #define OMP_SCAN_CLAUSES(NODE) TREE_OPERAND (OMP_SCAN_CHECK (NODE), 1) @@ -2118,6 +2130,18 @@ class auto_suppress_location_wrappers #define OMP_TARGET_DEVICE_MATCHES_PROPERTIES(NODE) \ TREE_OPERAND (OMP_TARGET_DEVICE_MATCHES_CHECK (NODE), 1) +#define OMP_CLAUSE__MAPPER_BINDING__ID(NODE) \ + OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \ + OMP_CLAUSE__MAPPER_BINDING_), 0) + +#define OMP_CLAUSE__MAPPER_BINDING__DECL(NODE) \ + OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \ + OMP_CLAUSE__MAPPER_BINDING_), 1) + +#define OMP_CLAUSE__MAPPER_BINDING__MAPPER(NODE) \ + OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \ + OMP_CLAUSE__MAPPER_BINDING_), 2) + /* SSA_NAME accessors. */ /* Whether SSA_NAME NODE is a virtual operand. This simply caches the @@ -4725,6 +4749,8 @@ vector_cst_encoded_nelts (const_tree t) return VECTOR_CST_NPATTERNS (t) * VECTOR_CST_NELTS_PER_PATTERN (t); } +extern tree generate_internal_label (const char *); +extern const char *prefix_for_internal_label (tree label); extern tree decl_assembler_name (tree); extern void overwrite_decl_assembler_name (tree decl, tree name); extern tree decl_comdat_group (const_tree); @@ -5321,6 +5347,10 @@ extern tree staticp (tree); extern tree save_expr (tree); +/* Return true if T is an object with invariant address. */ + +extern bool address_invariant_p (tree); + /* Return true if T is function-invariant. */ extern bool tree_invariant_p (tree); @@ -5499,7 +5529,7 @@ storage_order_barrier_p (const_tree t) && TYPE_REVERSE_STORAGE_ORDER (TREE_TYPE (op))) return true; - return false; + return reverse_storage_order_for_component_p (op); } /* Given a DECL or TYPE, return the scope in which it was declared, or @@ -5881,7 +5911,7 @@ extern bool gimple_canonical_types_compatible_p (const_tree, const_tree, bool trust_type_canonical = true); extern bool type_with_interoperable_signedness (const_tree); extern bitmap get_nonnull_args (const_tree); -extern int get_range_pos_neg (tree); +extern int get_range_pos_neg (tree, gimple * = NULL); /* Return true for a valid pair of new and delete operators. */ extern bool valid_new_delete_pair_p (tree, tree, bool * = NULL); |