diff options
author | Jeff Law <law@gcc.gnu.org> | 1994-08-14 19:57:21 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1994-08-14 19:57:21 -0600 |
commit | 6b2821189ae15b06dd37875e4ed64b6630de2b6a (patch) | |
tree | b4115c8a44df1197664ca6cac6b93bbfa8e57c2b | |
parent | 2ebb1b42179408831331556fb977d188eb2f3574 (diff) | |
download | gcc-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.h | 31 |
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. */ |