diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-02 17:29:25 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-02 17:29:25 +0000 |
commit | d5197c9894a1f7f3c6beddacf2a0c8324934aaea (patch) | |
tree | 983023b55501936201b52db239d4a15278e92b74 /gcc/config/alpha/elf.h | |
parent | 0dcdeb0d5d7a31795429b1a1d60c76c68dd89d46 (diff) | |
download | gcc-d5197c9894a1f7f3c6beddacf2a0c8324934aaea.tar.gz |
* dwarf2out.c (dwarf2out_line): Constify `lastfile'.
* except.c (expand_rethrow): Remove unused variable.
* expr.c (do_jump_by_parts_greater_rtx): Likewise.
* flow.c (replace_insns): Likewise.
(create_edge_list, verify_edge_list): Likewise.
* gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
* genemit.c (gen_expand): Only emit `operands[N]' decl if there
is special code to run.
(main): Don't define operands to emit_operand.
* genrecog.c (main): Don't emit an empty peephole2_insn function.
* rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
* alpha/alpha.h (normal_memory_operand): Declare.
(reg_no_subreg_operand): Declare.
* alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29061 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/alpha/elf.h')
-rw-r--r-- | gcc/config/alpha/elf.h | 71 |
1 files changed, 39 insertions, 32 deletions
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h index 6cea3da5d5b..0765c8754b6 100644 --- a/gcc/config/alpha/elf.h +++ b/gcc/config/alpha/elf.h @@ -415,22 +415,27 @@ void FN () \ /* Write the extra assembler code needed to declare an object properly. */ -#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ - do { \ - fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \ - assemble_name (FILE, NAME); \ - putc (',', FILE); \ - fprintf (FILE, TYPE_OPERAND_FMT, "object"); \ - putc ('\n', FILE); \ - size_directive_output = 0; \ - if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \ - { \ - size_directive_output = 1; \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ - assemble_name (FILE, NAME); \ - fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL))); \ - } \ - ASM_OUTPUT_LABEL(FILE, NAME); \ +#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ + do { \ + HOST_WIDE_INT size; \ + fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \ + assemble_name (FILE, NAME); \ + putc (',', FILE); \ + fprintf (FILE, TYPE_OPERAND_FMT, "object"); \ + putc ('\n', FILE); \ + size_directive_output = 0; \ + if (!flag_inhibit_size_directive \ + && DECL_SIZE (DECL) \ + && (size = int_size_in_bytes (TREE_TYPE (DECL))) > 0) \ + { \ + size_directive_output = 1; \ + fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + assemble_name (FILE, NAME); \ + fputc (',', FILE); \ + fprintf (FILE, HOST_WIDE_INT_PRINT_DEC, size); \ + fputc ('\n', FILE); \ + } \ + ASM_OUTPUT_LABEL(FILE, NAME); \ } while (0) /* Output the size directive for a decl in rest_of_decl_compilation @@ -440,22 +445,24 @@ void FN () \ by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */ #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \ -do { \ - char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ - if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \ - && ! AT_END && TOP_LEVEL \ - && DECL_INITIAL (DECL) == error_mark_node \ - && !size_directive_output) \ - { \ - size_directive_output = 1; \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ - assemble_name (FILE, name); \ - putc (',', FILE); \ - fprintf (FILE, HOST_WIDE_INT_PRINT_DEC, \ - int_size_in_bytes (TREE_TYPE (DECL))); \ - putc ('\n', FILE); \ - } \ -} while (0) + do { \ + char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ + HOST_WIDE_INT size; \ + if (!flag_inhibit_size_directive \ + && DECL_SIZE (DECL) \ + && ! AT_END && TOP_LEVEL \ + && DECL_INITIAL (DECL) == error_mark_node \ + && !size_directive_output \ + && (size = int_size_in_bytes (TREE_TYPE (DECL))) > 0) \ + { \ + size_directive_output = 1; \ + fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + assemble_name (FILE, name); \ + fputc (',', FILE); \ + fprintf (FILE, HOST_WIDE_INT_PRINT_DEC, size); \ + fputc ('\n', FILE); \ + } \ + } while (0) /* A table of bytes codes used by the ASM_OUTPUT_ASCII and ASM_OUTPUT_LIMITED_STRING macros. Each byte in the table |