aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h43
1 files changed, 42 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 62e9bb332bb..d36becd7258 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -288,6 +288,8 @@ struct tree_common GTY(())
unsigned lang_flag_5 : 1;
unsigned lang_flag_6 : 1;
unsigned visited : 1;
+ /* APPLE LOCAL "unavailable" attribute (Radar 2809697) --ilr */
+ unsigned unavailable_flag : 1;
};
/* The following table lists the uses of each of the above flags and
@@ -421,6 +423,13 @@ struct tree_common GTY(())
TREE_DEPRECATED in
..._DECL
+ APPLE LOCAL begin "unavailable" attribute (Radar 2809697)
+ unavailable_flag:
+
+ TREE_UNAVAILABLE in
+ ..._DECL
+ APPLE LOCAL end "unavailable" attribute (Radar 2809697)
+
visited:
Used in tree traversals to mark visited nodes.
@@ -1024,6 +1033,12 @@ extern void tree_operand_check_failed (int, enum tree_code,
deprecated feature by __attribute__((deprecated)). */
#define TREE_DEPRECATED(NODE) ((NODE)->common.deprecated_flag)
+/* APPLE LOCAL begin "unavailable" attribute (Radar 2809697) */
+/* Nonzero in a IDENTIFIER_NODE if the use of the name is defined as a
+ unavailable feature by __attribute__((unavailable)). */
+#define TREE_UNAVAILABLE(NODE) ((NODE)->common.unavailable_flag)
+/* APPLE LOCAL end "unavailable" attribute (Radar 2809697) */
+
/* Value of expression is function invariant. A strict subset of
TREE_CONSTANT, such an expression is constant over any one function
invocation, though not across different invocations. May appear in
@@ -2231,6 +2246,15 @@ struct tree_binfo GTY (())
/* Used to indicate that this DECL has weak linkage. */
#define DECL_WEAK(NODE) (DECL_CHECK (NODE)->decl.weak_flag)
+/* APPLE LOCAL handling duplicate decls across files */
+#define DECL_DUPLICATE_DECL(NODE) (DECL_CHECK (NODE)->decl.duplicate_decl)
+
+/* APPLE LOCAL begin CW asm blocks */
+#define DECL_CW_ASM_FUNCTION(NODE) (DECL_CHECK (NODE)->decl.cw_asm_function_flag)
+#define DECL_CW_ASM_NORETURN(NODE) (DECL_CHECK (NODE)->decl.cw_asm_noreturn_flag)
+#define DECL_CW_ASM_FRAME_SIZE(NODE) (DECL_CHECK (NODE)->decl.cw_asm_frame_size)
+/* APPLE LOCAL end CW asm blocks */
+
/* Used in TREE_PUBLIC decls to indicate that copies of this DECL in
multiple translation units should be merged. */
#define DECL_ONE_ONLY(NODE) (DECL_CHECK (NODE)->decl.transparent_union)
@@ -2292,6 +2316,15 @@ struct tree_binfo GTY (())
#define DECL_POINTER_ALIAS_SET_KNOWN_P(NODE) \
(DECL_POINTER_ALIAS_SET (NODE) != - 1)
+/* APPLE LOCAL begin DECL_ESTIMATED_INSNS */
+/* In a FUNCTION_DECL for which DECL_BUILT_IN does not hold, this is
+ the approximate number of statements in this function. There is
+ no need for this number to be exact; it is only used in various
+ heuristics regarding optimization. */
+#define DECL_ESTIMATED_INSNS(NODE) \
+ (FUNCTION_DECL_CHECK (NODE)->decl.u1.i)
+/* APPLE LOCAL end */
+
/* Nonzero for a decl which is at file scope. */
#define DECL_FILE_SCOPE_P(EXP) \
(! DECL_CONTEXT (EXP) \
@@ -2378,11 +2411,19 @@ struct tree_decl GTY(())
unsigned lang_flag_6 : 1;
unsigned lang_flag_7 : 1;
+ /* APPLE LOCAL duplicate decls in multiple files. */
+ unsigned duplicate_decl : 1;
unsigned possibly_inlined : 1;
unsigned preserve_flag: 1;
unsigned gimple_formal_temp : 1;
unsigned debug_expr_is_from : 1;
- /* 12 unused bits. */
+ /* APPLE LOCAL unused bits */
+ /* 9 unused bits. */
+ /* APPLE LOCAL begin CW asm blocks */
+ unsigned cw_asm_function_flag : 1;
+ unsigned cw_asm_noreturn_flag : 1;
+ unsigned int cw_asm_frame_size;
+ /* APPLE LOCAL end CW asm blocks */
union tree_decl_u1 {
/* In a FUNCTION_DECL for which DECL_BUILT_IN holds, this is