pa.h (ASM_OUTPUT_ALIGNED_COMMON, [...]): Define.
authorJeff Law <law@gcc.gnu.org>
Mon, 15 Aug 1994 01:57:21 +0000 (19:57 -0600)
committerJeff Law <law@gcc.gnu.org>
Mon, 15 Aug 1994 01:57:21 +0000 (19:57 -0600)
* pa.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
Define.
(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.

From-SVN: r7927

gcc/config/pa/pa.h

index ed20c28..8fa04c2 100644 (file)
@@ -1891,27 +1891,24 @@ readonly_data ()                                                        \
 #define ASM_OUTPUT_SKIP(FILE,SIZE)  \
   fprintf (FILE, "\t.blockz %d\n", (SIZE))
 
-/* This says how to output an assembler line
-   to define a global common symbol.  */
-
-/* Supposedly the assembler rejects the command if there is no tab!  */
+/* This says how to output an assembler line to define a global common symbol
+   with size SIZE (in bytes) and alignment ALIGN (in bits).  */
 
+#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGNED)           \
+{ bss_section ();                                                      \
+  assemble_name ((FILE), (NAME));                                      \
+  fputs ("\t.comm ", (FILE));                                          \
+  fprintf ((FILE), "%d\n", MAX ((SIZE), ((ALIGNED) / BITS_PER_UNIT)));}
 
-#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED)  \
-{ bss_section ();                                      \
-  assemble_name ((FILE), (NAME));                      \
-  fputs ("\t.comm ", (FILE));                          \
-  fprintf ((FILE), "%d\n", (ROUNDED));}
+/* This says how to output an assembler line to define a local common symbol
+   with size SIZE (in bytes) and alignment ALIGN (in bits).  */
 
-/* This says how to output an assembler line
-   to define a local common symbol.  */
-
-#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED)  \
-{ bss_section ();                                              \
-  fprintf ((FILE), "\t.align %d\n", (SIZE) <= 4 ? 4 : 8);      \
+#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGNED)            \
+{ bss_section ();                                                      \
+  fprintf ((FILE), "\t.align %d\n", ((ALIGNED) / BITS_PER_UNIT));      \
   assemble_name ((FILE), (NAME));                              \
-  fprintf ((FILE), "\n\t.block %d\n", (ROUNDED));}
-
+  fprintf ((FILE), "\n\t.block %d\n", (SIZE));}
+  
 /* Store in OUTPUT a string (made with alloca) containing
    an assembler-name for a local static variable named NAME.
    LABELNO is an integer which is different for each call.  */