Commit 3635a54b by Richard Kenner

(DECL_QUALIFIER): New access macro for decl.initial.

From-SVN: r4116
parent 08703ee4
...@@ -305,7 +305,7 @@ struct tree_common ...@@ -305,7 +305,7 @@ struct tree_common
Nonzero in a FUNCTION_DECL means that the function has been compiled. Nonzero in a FUNCTION_DECL means that the function has been compiled.
This is interesting in an inline function, since it might not need This is interesting in an inline function, since it might not need
to be compiled separately. to be compiled separately.
Nonzero in a RECORD_TYPE, UNION_TYPE or ENUMERAL_TYPE Nonzero in a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE or ENUMERAL_TYPE
if the sdb debugging info for the type has been written. if the sdb debugging info for the type has been written.
In a BLOCK node, nonzero if reorder_blocks has already seen this block. */ In a BLOCK node, nonzero if reorder_blocks has already seen this block. */
#define TREE_ASM_WRITTEN(NODE) ((NODE)->common.asm_written_flag) #define TREE_ASM_WRITTEN(NODE) ((NODE)->common.asm_written_flag)
...@@ -544,8 +544,9 @@ struct tree_block ...@@ -544,8 +544,9 @@ struct tree_block
#define TYPE_STUB_DECL(NODE) (TREE_CHAIN (NODE)) #define TYPE_STUB_DECL(NODE) (TREE_CHAIN (NODE))
/* In a RECORD_TYPE or UNION_TYPE, it means the type has BLKmode /* In a RECORD_TYPE, UNION_TYPE or QUAL_UNION_TYPE, it means the type
only because it lacks the alignment requirement for its size. */ has BLKmode only because it lacks the alignment requirement for
its size. */
#define TYPE_NO_FORCE_BLK(NODE) ((NODE)->type.no_force_blk_flag) #define TYPE_NO_FORCE_BLK(NODE) ((NODE)->type.no_force_blk_flag)
/* Nonzero in a type considered volatile as a whole. */ /* Nonzero in a type considered volatile as a whole. */
...@@ -693,10 +694,10 @@ struct tree_type ...@@ -693,10 +694,10 @@ struct tree_type
It is an IDENTIFIER_NODE. */ It is an IDENTIFIER_NODE. */
#define DECL_ASSEMBLER_NAME(NODE) ((NODE)->decl.assembler_name) #define DECL_ASSEMBLER_NAME(NODE) ((NODE)->decl.assembler_name)
/* For FIELD_DECLs, this is the /* For FIELD_DECLs, this is the
RECORD_TYPE or UNION_TYPE node that the field is a member of. For RECORD_TYPE, UNION_TYPE, or QUAL_UNION_TYPE node that the field is
VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL, and CONST_DECL nodes, a member of. For VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
this points to the FUNCTION_DECL for the containing function, or else and CONST_DECL nodes, this points to the FUNCTION_DECL for the
yields NULL_TREE if the given decl has "file scope". */ containing function, or else yields NULL_TREE if the given decl has "file scope". */
#define DECL_CONTEXT(NODE) ((NODE)->decl.context) #define DECL_CONTEXT(NODE) ((NODE)->decl.context)
#define DECL_FIELD_CONTEXT(NODE) ((NODE)->decl.context) #define DECL_FIELD_CONTEXT(NODE) ((NODE)->decl.context)
/* In a FIELD_DECL, this is the field position, counting in bits, /* In a FIELD_DECL, this is the field position, counting in bits,
...@@ -723,6 +724,9 @@ struct tree_type ...@@ -723,6 +724,9 @@ struct tree_type
/* For a PARM_DECL, records the data type used to pass the argument, /* For a PARM_DECL, records the data type used to pass the argument,
which may be different from the type seen in the program. */ which may be different from the type seen in the program. */
#define DECL_ARG_TYPE(NODE) ((NODE)->decl.initial) /* In PARM_DECL. */ #define DECL_ARG_TYPE(NODE) ((NODE)->decl.initial) /* In PARM_DECL. */
/* For a FIELD_DECL in a QUAL_UNION_TYPE, records the expression, which
if nonzero, indicates that the field occupies the type. */
#define DECL_QUALIFIER(NODE) ((NODE)->decl.initial)
/* These two fields describe where in the source code the declaration was. */ /* These two fields describe where in the source code the declaration was. */
#define DECL_SOURCE_FILE(NODE) ((NODE)->decl.filename) #define DECL_SOURCE_FILE(NODE) ((NODE)->decl.filename)
#define DECL_SOURCE_LINE(NODE) ((NODE)->decl.linenum) #define DECL_SOURCE_LINE(NODE) ((NODE)->decl.linenum)
...@@ -1291,8 +1295,8 @@ extern tree get_inner_reference PROTO((tree, int *, int *, tree *, enum machine ...@@ -1291,8 +1295,8 @@ extern tree get_inner_reference PROTO((tree, int *, int *, tree *, enum machine
or zero if none. */ or zero if none. */
extern tree decl_function_context PROTO((tree)); extern tree decl_function_context PROTO((tree));
/* Return the RECORD_TYPE or UNION_TYPE which provides this _DECL /* Return the RECORD_TYPE, UNION_TYPE, or QUAL_UNION_TYPE which provides
with its context, or zero if none. */ this _DECL with its context, or zero if none. */
extern tree decl_type_context PROTO((tree)); extern tree decl_type_context PROTO((tree));
/* Given the FUNCTION_DECL for the current function, /* Given the FUNCTION_DECL for the current function,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment