diff options
author | Richard Stallman <rms@gnu.org> | 1992-03-29 03:47:34 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-03-29 03:47:34 +0000 |
commit | c0920bf9777de321d52e277b812c39cb16386244 (patch) | |
tree | d16ddf3775e88bc533db7a41a364316a8fdfcf36 /gcc | |
parent | b1166faeb09066cb5f8106b02cb100a129679bd1 (diff) | |
download | gcc-c0920bf9777de321d52e277b812c39cb16386244.zip gcc-c0920bf9777de321d52e277b812c39cb16386244.tar.gz gcc-c0920bf9777de321d52e277b812c39cb16386244.tar.bz2 |
*** empty log message ***
From-SVN: r621
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/print-tree.c | 8 | ||||
-rw-r--r-- | gcc/tree.c | 3 | ||||
-rw-r--r-- | gcc/tree.h | 8 |
3 files changed, 13 insertions, 6 deletions
diff --git a/gcc/print-tree.c b/gcc/print-tree.c index 50983a9..9001373 100644 --- a/gcc/print-tree.c +++ b/gcc/print-tree.c @@ -343,8 +343,12 @@ print_node (file, prefix, node, indent) print_node (file, "size", DECL_SIZE (node), indent + 4); indent_to (file, indent + 3); - fprintf (file, " align %d", DECL_ALIGN (node)); - fprintf (file, " frame_size %d", DECL_FRAME_SIZE (node)); + if (TREE_CODE (node) != FUNCTION_DECL) + fprintf (file, " align %d", DECL_ALIGN (node)); + else if (TREE_INLINE (node)) + fprintf (file, " frame_size %d", DECL_FRAME_SIZE (node)); + else if (DECL_BUILT_IN (node)) + fprintf (file, " built-in code %d", DECL_FUNCTION_CODE (node)); if (TREE_CODE (node) == FIELD_DECL) print_node (file, "bitpos", DECL_FIELD_BITPOS (node), indent + 4); print_node_brief (file, "context", DECL_CONTEXT (node), indent + 4); @@ -859,7 +859,8 @@ make_node (code) break; case 'd': - DECL_ALIGN (t) = 1; + if (code != FUNCTION_DECL) + DECL_ALIGN (t) = 1; DECL_SOURCE_LINE (t) = lineno; DECL_SOURCE_FILE (t) = (input_filename) ? input_filename : "<built-in>"; break; @@ -666,7 +666,7 @@ struct tree_type Need not be constant. */ #define DECL_SIZE(NODE) ((NODE)->decl.size) /* Holds the alignment required for the datum. */ -#define DECL_ALIGN(NODE) ((NODE)->decl.align) +#define DECL_ALIGN(NODE) ((NODE)->decl.frame_size) /* Holds the machine mode of a variable or field. */ #define DECL_MODE(NODE) ((NODE)->decl.mode) /* Holds the RTL expression for the value of a variable or function. */ @@ -771,7 +771,6 @@ struct tree_decl #else enum machine_mode mode : 8; #endif - unsigned char align; unsigned external_flag : 1; unsigned nonlocal_flag : 1; @@ -801,7 +800,10 @@ struct tree_decl union tree_node *assembler_name; struct rtx_def *rtl; /* acts as link to register transfer language (rtl) info */ - int frame_size; /* For FUNCTION_DECLs: size of stack frame */ + /* For a FUNCTION_DECL, if inline, this is the size of frame needed. + If built-in, this is the code for which built-in function. + For any other kind of decl, this is the alignment. */ + int frame_size; struct rtx_def *saved_insns; /* For FUNCTION_DECLs: points to insn that constitutes its definition on the permanent obstack. */ |