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);
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;
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. */
#else
enum machine_mode mode : 8;
#endif
- unsigned char align;
unsigned external_flag : 1;
unsigned nonlocal_flag : 1;
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. */