aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1994-08-14 19:57:21 -0600
committerJeff Law <law@gcc.gnu.org>1994-08-14 19:57:21 -0600
commit6b2821189ae15b06dd37875e4ed64b6630de2b6a (patch)
treeb4115c8a44df1197664ca6cac6b93bbfa8e57c2b
parent2ebb1b42179408831331556fb977d188eb2f3574 (diff)
downloadgcc-6b2821189ae15b06dd37875e4ed64b6630de2b6a.zip
gcc-6b2821189ae15b06dd37875e4ed64b6630de2b6a.tar.gz
gcc-6b2821189ae15b06dd37875e4ed64b6630de2b6a.tar.bz2
pa.h (ASM_OUTPUT_ALIGNED_COMMON, [...]): Define.
* pa.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Define. (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete. From-SVN: r7927
-rw-r--r--gcc/config/pa/pa.h31
1 files changed, 14 insertions, 17 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index ed20c28..8fa04c2 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -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. */