*** empty log message ***
authorRichard Stallman <rms@gnu.org>
Sun, 29 Mar 1992 03:47:34 +0000 (03:47 +0000)
committerRichard Stallman <rms@gnu.org>
Sun, 29 Mar 1992 03:47:34 +0000 (03:47 +0000)
From-SVN: r621

gcc/print-tree.c
gcc/tree.c
gcc/tree.h

index 50983a9e76bea7c32e604d5f4316de76f80d7136..9001373cd81c7c79d0c3b97093f40049b5640fca 100644 (file)
@@ -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);
index 9485332f538337d67f98a4cfcba10362fc7610b2..c6a74a11c6dfa2040568edd3f7562e5a9307c95f 100644 (file)
@@ -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;
index 2569128b9ee4bfd4e2705e1626c9acd68e84eb4c..dd01f6e967c75196e796fe161182748733b55f1a 100644 (file)
@@ -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.  */