aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-05-12 11:51:36 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2003-05-12 09:51:36 +0000
commit58e15542fc00d9d47324e657ae43d941b272f9a1 (patch)
tree4d671520c04691a443ddf3b044eba66212f74589 /gcc/varasm.c
parent7660e67ec675e809eb65f7c0337172c9b7cc1df3 (diff)
downloadgcc-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.c41
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);
}