diff options
author | Jan Hubicka <jh@suse.cz> | 2003-05-12 11:51:36 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-05-12 09:51:36 +0000 |
commit | 58e15542fc00d9d47324e657ae43d941b272f9a1 (patch) | |
tree | 4d671520c04691a443ddf3b044eba66212f74589 /gcc/varasm.c | |
parent | 7660e67ec675e809eb65f7c0337172c9b7cc1df3 (diff) | |
download | gcc-58e15542fc00d9d47324e657ae43d941b272f9a1.zip gcc-58e15542fc00d9d47324e657ae43d941b272f9a1.tar.gz gcc-58e15542fc00d9d47324e657ae43d941b272f9a1.tar.bz2 |
Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
* expr.h (assemble_static_space): Update prototype.
* output.h (assemble_zeros, output_constant): Likewise.
* elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
* alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
it 64bit clean.
* elf.h (ASM_OTUPUT_SKIP): Likewise.
* unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
* arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
Expect HOST_WIDE_INT operand.
* aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
Expect HOST_WIDE_INT operand.
* unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
Expect HOST_WIDE_INT operand.
* avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
HOST_WIDE_INT operand.
* c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
* aout.h (ASM_OTUPUT_SKIP): Likewise.
* cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
* darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
* dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
* frv.h (ASM_OTUPUT_SKIP): Likewise.
* h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
* 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
Make it 64bit
clean.
* att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
* bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
Make it 64bit clean.
* darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
* sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
HOST_WIDE_INT operand
* svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
Expect HOST_WIDE_INT operand
* sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
* i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
* ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
Likewise.
* m32r.h (ASM_OUTPUT_COMMON): Likewise.
* 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
Likewise.
* amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
* crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
* hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
ASM_OUTPUT_SKIP): Likewise.
* m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
Likewise.
* m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
ASM_OUTPUT_SKIP): Likewise.
* m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
ASM_OUTPUT_SKIP): Likewise.
* mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
* netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
ASM_OUTPUT_SKIP): Likewise.
* sgs.h (ASM_OUTPUT_SKIP): Likewise.
* tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
ASM_OUTPUT_SKIP): Likewise.
* m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
Likewise.
* mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
* iris.h (ASM_OUTPUT_LOCAL): Likewise.
* mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
* ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
ASM_OUTPUT_SKIP): Make it 64bit clean.
* pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
Make it 64bit clean.
* pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
ASM_OUTPUT_SKIP): Make it 64bit clean.
* hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
64bit clean.
* romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
HOST_WIDE_INT argument
* s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
* sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
HOST_WIDE_INT argument
* sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
* sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
* svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
* vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
HOST_WIDE_INT argument
* vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
* xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
* varasm.c (asm_output_bss, asm_output_aligned_bss,
asm_emit_uninitialized, assemble_zeros, assemble_static_space):
HOST_WIDE_INT argument
From-SVN: r66713
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index ea9d420..40191f6 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -163,22 +163,27 @@ static int mark_constant PARAMS ((rtx *current_rtx, void *data)); static int output_addressed_constants PARAMS ((tree)); static unsigned HOST_WIDE_INT array_size_for_constructor PARAMS ((tree)); static unsigned min_align PARAMS ((unsigned, unsigned)); -static void output_constructor PARAMS ((tree, HOST_WIDE_INT, +static void output_constructor PARAMS ((tree, unsigned HOST_WIDE_INT, unsigned int)); static void globalize_decl PARAMS ((tree)); static void maybe_assemble_visibility PARAMS ((tree)); static int in_named_entry_eq PARAMS ((const PTR, const PTR)); static hashval_t in_named_entry_hash PARAMS ((const PTR)); #ifdef ASM_OUTPUT_BSS -static void asm_output_bss PARAMS ((FILE *, tree, const char *, int, int)); +static void asm_output_bss PARAMS ((FILE *, tree, const char *, + unsigned HOST_WIDE_INT, + unsigned HOST_WIDE_INT)); #endif #ifdef BSS_SECTION_ASM_OP #ifdef ASM_OUTPUT_ALIGNED_BSS static void asm_output_aligned_bss - PARAMS ((FILE *, tree, const char *, int, int)) ATTRIBUTE_UNUSED; + PARAMS ((FILE *, tree, const char *, + unsigned HOST_WIDE_INT, int)) ATTRIBUTE_UNUSED; #endif #endif /* BSS_SECTION_ASM_OP */ -static bool asm_emit_uninitialised PARAMS ((tree, const char*, int, int)); +static bool asm_emit_uninitialised PARAMS ((tree, const char*, + unsigned HOST_WIDE_INT, + unsigned HOST_WIDE_INT)); static void resolve_unique_section PARAMS ((tree, int, int)); static void mark_weak PARAMS ((tree)); @@ -501,7 +506,7 @@ asm_output_bss (file, decl, name, size, rounded) FILE *file; tree decl ATTRIBUTE_UNUSED; const char *name; - int size ATTRIBUTE_UNUSED, rounded; + unsigned HOST_WIDE_INT size ATTRIBUTE_UNUSED, rounded; { (*targetm.asm_out.globalize_label) (file, name); bss_section (); @@ -529,7 +534,8 @@ asm_output_aligned_bss (file, decl, name, size, align) FILE *file; tree decl ATTRIBUTE_UNUSED; const char *name; - int size, align; + unsigned HOST_WIDE_INT size; + int align; { bss_section (); ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT)); @@ -1208,7 +1214,7 @@ assemble_end_function (decl, fnname) void assemble_zeros (size) - int size; + unsigned HOST_WIDE_INT size; { /* Do no output if -fsyntax-only. */ if (flag_syntax_only) @@ -1219,7 +1225,7 @@ assemble_zeros (size) so we must output 0s explicitly in the text section. */ if (ASM_NO_SKIP_IN_TEXT && in_text_section ()) { - int i; + unsigned HOST_WIDE_INT i; for (i = 0; i < size; i++) assemble_integer (const0_rtx, 1, BITS_PER_UNIT, 1); } @@ -1309,8 +1315,8 @@ static bool asm_emit_uninitialised (decl, name, size, rounded) tree decl; const char *name; - int size ATTRIBUTE_UNUSED; - int rounded ATTRIBUTE_UNUSED; + unsigned HOST_WIDE_INT size ATTRIBUTE_UNUSED; + unsigned HOST_WIDE_INT rounded ATTRIBUTE_UNUSED; { enum { @@ -1751,7 +1757,7 @@ assemble_name (file, name) rtx assemble_static_space (size) - int size; + unsigned HOST_WIDE_INT size; { char name[12]; const char *namestring; @@ -1780,7 +1786,7 @@ assemble_static_space (size) /* Round size up to multiple of BIGGEST_ALIGNMENT bits so that each uninitialized object starts on such a boundary. */ /* Variable `rounded' might or might not be used in ASM_OUTPUT_LOCAL. */ - int rounded ATTRIBUTE_UNUSED + unsigned HOST_WIDE_INT rounded ATTRIBUTE_UNUSED = ((size + (BIGGEST_ALIGNMENT / BITS_PER_UNIT) - 1) / (BIGGEST_ALIGNMENT / BITS_PER_UNIT) * (BIGGEST_ALIGNMENT / BITS_PER_UNIT)); @@ -3767,11 +3773,11 @@ initializer_constant_valid_p (value, endtype) void output_constant (exp, size, align) tree exp; - HOST_WIDE_INT size; + unsigned HOST_WIDE_INT size; unsigned int align; { enum tree_code code; - HOST_WIDE_INT thissize; + unsigned HOST_WIDE_INT thissize; /* Some front-ends use constants other than the standard language-independent varieties, but which may still be output directly. Give the front-end a @@ -3851,7 +3857,8 @@ output_constant (exp, size, align) } else if (TREE_CODE (exp) == STRING_CST) { - thissize = MIN (TREE_STRING_LENGTH (exp), size); + thissize = MIN ((unsigned HOST_WIDE_INT)TREE_STRING_LENGTH (exp), + size); assemble_string (TREE_STRING_POINTER (exp), thissize); } else if (TREE_CODE (exp) == VECTOR_CST) @@ -3960,7 +3967,7 @@ array_size_for_constructor (val) static void output_constructor (exp, size, align) tree exp; - HOST_WIDE_INT size; + unsigned HOST_WIDE_INT size; unsigned int align; { tree type = TREE_TYPE (exp); @@ -4256,7 +4263,7 @@ output_constructor (exp, size, align) total_bytes++; } - if (total_bytes < size) + if ((unsigned HOST_WIDE_INT)total_bytes < size) assemble_zeros (size - total_bytes); } |