aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/frv
diff options
context:
space:
mode:
authorMark Mitchell <mmitchel@gcc.gnu.org>2002-10-20 18:52:01 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2002-10-20 18:52:01 +0000
commiteb0424da9d7f2680ba02986028842b920a429803 (patch)
treef987337a20b33d008b269c7740dfb4a88ae59e1f /gcc/config/frv
parentc654ee28cf64812b84eba99b76f5708f3ac7bc47 (diff)
downloadgcc-eb0424da9d7f2680ba02986028842b920a429803.zip
gcc-eb0424da9d7f2680ba02986028842b920a429803.tar.gz
gcc-eb0424da9d7f2680ba02986028842b920a429803.tar.bz2
alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to match target.h.
* alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to match target.h. * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise. * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise. * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise. * i386-protos.h, i386.c (x86_output_mi_vcall_thunk, x86_output_mi_thunk): Likewise. * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise. * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise. * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise. * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise. * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise. * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise. * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk): Likewise. * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise. * target.h (gcc_target): Update output_mi_thunk and output_mi_vcall_thunk to take a HOST_WIDE_INT delta and vcall_index. * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with TARGET_ASM_OUTPUT_MI_THUNK in comments. * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it. (TARGET_ASM_OUTPUT_MI_THUNK): #undef it. * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition. * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update signature. * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise. * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with TARGET_ASM_OUTPUT_MI_THUNK in comments. * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define. (TARGET_ASM_OUTPUT_MI_THUNK): Do define. * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with TARGET_ASM_OUTPUT_MI_THUNK in comments. * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef ASM_OUTPUT_MI_THUNK and replace with check of targetm. * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature. (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise. From-SVN: r58333
Diffstat (limited to 'gcc/config/frv')
-rw-r--r--gcc/config/frv/frv-protos.h3
-rw-r--r--gcc/config/frv/frv.c12
-rw-r--r--gcc/config/frv/frv.h12
3 files changed, 9 insertions, 18 deletions
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index c3f13f5..5965c58 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -115,8 +115,7 @@ extern rtx frv_index_memory PARAMS ((rtx,
int));
#ifdef TREE_CODE
-extern void frv_asm_output_mi_thunk PARAMS ((FILE *, tree, long,
- tree));
+extern void frv_asm_output_mi_thunk PARAMS ((FILE *, tree, HOST_WIDE_INT, tree));
#endif /* TREE_CODE */
extern const char *frv_asm_output_opcode
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index a49b157..39a1cd7 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -1870,7 +1870,7 @@ void
frv_asm_output_mi_thunk (file, thunk_fndecl, delta, function)
FILE *file;
tree thunk_fndecl ATTRIBUTE_UNUSED;
- long delta;
+ HOST_WIDE_INT delta;
tree function;
{
const char *name_func = XSTR (XEXP (DECL_RTL (function), 0), 0);
@@ -1880,12 +1880,16 @@ frv_asm_output_mi_thunk (file, thunk_fndecl, delta, function)
/* Do the add using an addi if possible */
if (IN_RANGE_P (delta, -2048, 2047))
- fprintf (file, "\taddi %s,#%ld,%s\n", name_arg0, delta, name_arg0);
+ fprintf (file, "\taddi %s,#%d,%s\n", name_arg0, (int) delta, name_arg0);
else
{
const char *name_add = reg_names[TEMP_REGNO];
- fprintf (file, "\tsethi%s #hi(%ld),%s\n", parallel, delta, name_add);
- fprintf (file, "\tsetlo #lo(%ld),%s\n", delta, name_add);
+ fprintf (file, "\tsethi%s #hi(", parallel);
+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, delta);
+ fprintf (file, "),%s\n", name_add);
+ fprintf (file, "\tsetlo #lo(");
+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, delta);
+ fprintf (file, "),%s\n", name_add);
fprintf (file, "\tadd %s,%s,%s\n", name_add, name_arg0, name_arg0);
}
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index 8fc43a4..f8c2755 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -748,18 +748,6 @@ extern int g_switch_set; /* whether -G xx was passed. */
Defined in svr4.h. */
#define PCC_BITFIELD_TYPE_MATTERS 1
-/* GNU CC supports two ways of implementing C++ vtables: traditional or with
- so-called "thunks". The flag `-fvtable-thunk' chooses between them. Define
- this macro to be a C expression for the default value of that flag. If
- `DEFAULT_VTABLE_THUNKS' is 0, GNU CC uses the traditional implementation by
- default. The "thunk" implementation is more efficient (especially if you
- have provided an implementation of `ASM_OUTPUT_MI_THUNK', but is not binary
- compatible with code compiled using the traditional implementation. If you
- are writing a new ports, define `DEFAULT_VTABLE_THUNKS' to 1.
-
- If you do not define this macro, the default for `-fvtable-thunk' is 0. */
-#define DEFAULT_VTABLE_THUNKS 1
-
/* Layout of Source Language Data Types. */