diff options
author | Mark Mitchell <mmitchel@gcc.gnu.org> | 2002-10-20 18:52:01 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2002-10-20 18:52:01 +0000 |
commit | eb0424da9d7f2680ba02986028842b920a429803 (patch) | |
tree | f987337a20b33d008b269c7740dfb4a88ae59e1f /gcc/config/frv | |
parent | c654ee28cf64812b84eba99b76f5708f3ac7bc47 (diff) | |
download | gcc-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.h | 3 | ||||
-rw-r--r-- | gcc/config/frv/frv.c | 12 | ||||
-rw-r--r-- | gcc/config/frv/frv.h | 12 |
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. */ |