(struct tree_type): New field transparent_union_flag.
(struct tree_decl): New field transparent_union. ({DECL,TYPE}_TRANSPARENT_UNION): New macros. From-SVN: r7946
This commit is contained in:
parent
17c9628904
commit
adb2306127
15
gcc/tree.h
15
gcc/tree.h
@ -619,6 +619,10 @@ struct tree_block
|
||||
function when they are created. */
|
||||
#define TYPE_NEEDS_CONSTRUCTING(NODE) ((NODE)->type.needs_constructing_flag)
|
||||
|
||||
/* Indicates that objects of this type (a UNION_TYPE), should be passed
|
||||
the same way that the first union alternative would be passed. */
|
||||
#define TYPE_TRANSPARENT_UNION(NODE) ((NODE)->type.transparent_union_flag)
|
||||
|
||||
struct tree_type
|
||||
{
|
||||
char common[sizeof (struct tree_common)];
|
||||
@ -637,6 +641,7 @@ struct tree_type
|
||||
unsigned string_flag : 1;
|
||||
unsigned no_force_blk_flag : 1;
|
||||
unsigned needs_constructing_flag : 1;
|
||||
unsigned transparent_union_flag : 1;
|
||||
unsigned lang_flag_0 : 1;
|
||||
unsigned lang_flag_1 : 1;
|
||||
unsigned lang_flag_2 : 1;
|
||||
@ -644,7 +649,7 @@ struct tree_type
|
||||
unsigned lang_flag_4 : 1;
|
||||
unsigned lang_flag_5 : 1;
|
||||
unsigned lang_flag_6 : 1;
|
||||
/* room for 6 more bits */
|
||||
/* room for 5 more bits */
|
||||
|
||||
unsigned int align;
|
||||
union tree_node *pointer_to;
|
||||
@ -928,6 +933,11 @@ struct tree_type
|
||||
so it should not be output now. */
|
||||
#define DECL_DEFER_OUTPUT(NODE) ((NODE)->decl.defer_output)
|
||||
|
||||
/* Used in PARM_DECLs whose type are unions to indicate that the
|
||||
argument should be passed in the same way that the first union
|
||||
alternative would be passed. */
|
||||
#define DECL_TRANSPARENT_UNION(NODE) ((NODE)->decl.transparent_union)
|
||||
|
||||
/* Additional flags for language-specific uses. */
|
||||
#define DECL_LANG_FLAG_0(NODE) ((NODE)->decl.lang_flag_0)
|
||||
#define DECL_LANG_FLAG_1(NODE) ((NODE)->decl.lang_flag_1)
|
||||
@ -963,7 +973,8 @@ struct tree_decl
|
||||
unsigned in_system_header_flag : 1;
|
||||
unsigned common_flag : 1;
|
||||
unsigned defer_output : 1;
|
||||
/* room for five more */
|
||||
unsigned transparent_union : 1;
|
||||
/* room for four more */
|
||||
|
||||
unsigned lang_flag_0 : 1;
|
||||
unsigned lang_flag_1 : 1;
|
||||
|
Loading…
Reference in New Issue
Block a user