Dodji Seketeli
d40a19da13
re PR debug/41266 (Emit DW_TAG_template_parameter_pack and DW_TAG_formal_parameter_pack)
...
Fix for PR debug/41266
ChangeLog:
* include/dwarf2.h (enum dwarf_tag): Add
DW_TAG_template_parameter_pack and DW_TAG_formal_parameter_pack.
gcc/ChangeLog:
* dwarf2out.c (template_parameter_pack_die,
gen_formal_parameter_pack_die ): New functions.
(make_ith_pack_parameter_name): Remove this function.
(dwarf_tag_name): Support printing DW_TAG_template_parameter_pack and
DW_TAG_formal_parameter_pack.
(gen_generic_params_dies): Represent each template parameter pack
by a DW_TAG_template_parameter_pack DIE. Argument pack elements are
represented by usual DW_TAG_template_*_parameter DIEs that are
children of the DW_TAG_template_parameter_pack element DIE.
(generic_parameter_die): This doesn't deal with parameter pack
names anymore. Don't generate DW_AT_name for some DIEs, e.g. children of
parameter pack DIEs.
(gen_formal_parameter_die): Add a flag to not emit DW_AT_name
in certain cases, e.g. for pack elements.
(gen_formal_types_die, gen_decl_die): Adjust usage of
gen_formal_parameter_die.
(gen_subprogram_die): Represent each function parameter pack by a
DW_TAG_formal_parameter_pack DIE. Arguments of of the pack are
represented by usual DW_TAG_formal_parameter DIEs that are children
of the DW_TAG_formal_parameter_pack DIE. Remove references to
____builtin_va_alist decls as no part of the compiler uses those
anymore.
* langhooks.h (struct lang_hooks_for_decls): Add
function_parm_expanded_from_pack_p, get_generic_function_decl
and function_parameter_pack_p hooks. Fix comment for
get_innermost_generic_parms hook.
* langhooks-def.h (LANG_HOOKS_FUNCTION_PARAMETER_PACK_P,
LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P ): Declare new hook
macros and use them to initialize lang_hook.
gcc/cp/ChangeLog:
* cp-lang.c (LANG_HOOKS_FUNCTION_PARAMETER_PACK_P,
LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P,
LANG_HOOKS_GET_GENERIC_FUNCTION_DECL): Initialize these
hooks for the c++ FE.
* cp-tree.h (function_parameter_pack_p, get_function_template_decl,
function_parameter_expanded_from_pack_p): Declare ...
* pt.c (function_parameter_pack_p, get_function_template_decl,
function_parameter_expanded_from_pack_p): ... new hooks.
(get_template_info): Make this more robust.
(template_args_variadic_p, make_ith_pack_parameter_name): Add a new
line between comment and function.
(get_template_argument_pack_elems): Fix comment.
(tsubst_decl): Arguments of function parameter packs are not
parameter packs themselves.
gcc/testsuite/ChangeLog:
* g++.dg/debug/dwarf2/template-func-params-4.C: Adjust.
* g++.dg/debug/dwarf2/template-func-params-7.C: Likewise.
* g++.dg/debug/dwarf2/template-params-4.C: Likewise.
From-SVN: r152043
2009-09-22 22:20:03 +02:00
Richard Henderson
8249770055
system.h (TRAMPOLINE_TEMPLATE, [...]): Poison.
...
* system.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Poison.
(TRAMPOLINE_ADJUST_ADDRESS): Poison.
* target-def.h (TARGET_ASM_TRAMPOLINE_TEMPLATE): Don't conditionalize
on TRAMPOLINE_TEMPLATE.
(TARGET_TRAMPOLINE_ADJUST_ADDRESS): Don't conditionalize on
TRAMPOLINE_ADJUST_ADDRESS.
* targhooks.c (default_asm_trampoline_template): Remove.
(default_trampoline_adjust_address): Remove.
(default_trampoline_init): Don't handle INITIALIZE_TRAMPOLINE.
* targhooks.h: Update decls.
From-SVN: r152042
2009-09-22 12:24:56 -07:00
Dave Korn
6a92b6c7aa
cygming.h (TARGET_USE_JCR_SECTION): Enable.
...
gcc/ChangeLog
* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Enable.
* config/i386/cygwin.h (LIBGCJ_SONAME): Define.
* config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
libjava/ChangeLog
* configure.host (enable_libgcj_sublibs_default): New variable,
set for Cygwin and MinGW.
* configure.ac (--enable-libgcj-sublibs): New command-line switch.
(BUILD_SUBLIBS): New AM_CONDITIONAL relating to it.
(libgcj_spec_lgcj_override): New variable, define if building sublibs.
(libgcj_spec_lgcj_bc_override): Likewise for when USE_LIBGCJ_BC.
(LIBGCJ_SPEC_LGCJ): New variable to abstract "-lgcj" from specs.
(LIBGCJ_SPEC_LGCJ_BC): Likewise for when USE_LIBGCJ_BC.
(LIBGCJ_SPEC): Use them.
* configure: Regenerate.
* Makefile.am (LOWER_PACKAGE_FILES_LO): New variable.
(ALL_PACKAGE_SOURCE_FILES_LO): Likewise.
(NONCORE_PACKAGE_SOURCE_FILES_LO): Likewise.
(CORE_PACKAGE_SOURCE_FILES_LO): Likewise.
(toolexeclib_LTLIBRARIES): Add libgcj-noncore.la if building sublibs.
(libgcj_noncore_la_LIBADD_SUBOBJECTS): New variable.
(libgcj_la_LIBADD_SUBOBJECTS): Likewise.
(libgcj_la_LDFLAGS_NOUNDEF): Likewise.
(libgij_la_LDFLAGS): Add DLL-related options.
(libgcj_la_LDFLAGS): Use libgcj_la_LDFLAGS_NOUNDEF and
libgcj_la_LIBADD_SUBOBJECTS.
(libgcj_la_DEPENDENCIES): Adjust to match.
(libgcj_noncore_la_SOURCES, libgcj_noncore_la_LDFLAGS,
libgcj_noncore_la_LIBADD, libgcj_noncore_la_DEPENDENCIES,
libgcj_noncore_la_LINK): New automake variables for sublibrary.
(libgcj_tools_la_LDFLAGS): Add DLL-related flags.
(libgcj_tools_la_LIBADD): New variable.
(libjvm_la_LDFLAGS): Add DLL-related flags.
(lib_gnu_awt_xlib_la_LDFLAGS): Likewise.
(libgcj_bc_la_LDFLAGS): Likewise.
(libgij_la_DEPENDENCIES): Add dependency on libgcj-noncore.la when
building sublibs.
(libgcj_tools_la_DEPENDENCIES, libjvm_la_DEPENDENCIES,
lib_gnu_awt_xlib_la_DEPENDENCIES, jv_convert_DEPENDENCIES,
gcj_dbtool_DEPENDENCIES, gc_analyze_DEPENDENCIES, ecjx_DEPENDENCIES):
Likewise.
* Makefile.in: Regenerate.
* sysdep/i386/backtrace.h (MAIN_FUNC): New #define for main function,
set appropriately for Cygwin on that platform or to "main" elsewhere.
(fallback_backtrace): Use it to limit stack unwind.
libjava/libltdl/ChangeLog:
* ltdl.h (LT_SCOPE): Change conditional to avoid breaking
auto-export during libgcj DLL linking.
* Makefile.am (libltdl_la_LDFLAGS): Remove -bindir switch.
* Makefile.in: Regenerate.
From-SVN: r152041
2009-09-22 18:58:13 +00:00
Alexandre Oliva
502a1e4590
re PR debug/41295 (gfortran.dg/loc_2.f90 -O3 -g fails on SH with orphaned debug_insn)
...
gcc/ChangeLog:
PR debug/41295
* reload1.c (reload): Reset debug insns with pseudos without
equivalences.
gcc/testsuite/ChangeLog:
PR debug/41295
* gcc.dg/pr41295.c: New.
From-SVN: r152040
2009-09-22 18:31:26 +00:00
Adam Nemet
ae6032ea48
code-readable-1.c: Change \.
...
* gcc.target/mips/code-readable-1.c: Change \. to \\. when
matching assembly.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.
From-SVN: r152039
2009-09-22 18:05:29 +00:00
Ralf Wildenhues
0db770bd0a
Error out if building separately but srcdir has build remnants.
...
/:
PR bootstrap/32272
* configure.ac: Error out if $srcdir isn't '.' but contains
host-${host_noncanonical}.
* configure: Regenerate.
From-SVN: r152037
2009-09-22 18:00:15 +00:00
Neil Vachharajani
7c5c5c6e00
pr40209.c: Add test case.
...
2009-09-22 Neil Vachharajani <nvachhar@google.com>
* testsuite/gcc.dg/pr40209.c: Add test case.
From-SVN: r152032
2009-09-22 16:48:19 +00:00
Rainer Orth
711018709f
MAINTAINERS (OS Port Maintainers): Add myself as Solaris maintainer.
...
* MAINTAINERS (OS Port Maintainers): Add myself as Solaris
maintainer.
From-SVN: r152031
2009-09-22 16:48:01 +00:00
Janis Johnson
a9ab39d3b4
i386.c (ix86_scalar_mode_supported_p): Don't return unconditional true for decimal float modes.
...
* config/i386/i386.c (ix86_scalar_mode_supported_p): Don't return
unconditional true for decimal float modes.
* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Ditto.
* config/s390/s390.c (s390_scalar_mode_supported_p): Ditto.
* lib/target-supports.exp (check_effective_target_dfp_nocache):
Check support via mode instead of C type.
(check_effective_target_dfprt_nocache): Ditto.
(check_effective_target_hard_dfp): Ditto.
From-SVN: r152030
2009-09-22 16:39:35 +00:00
Ozkan Sezer
bcf11ab47f
choose-temp.c: Include unistd.h for mingw targets.
...
2009-09-22 Ozkan Sezer <sezeroz@gmail.com>
* choose-temp.c: Include unistd.h for mingw targets.
From-SVN: r152029
2009-09-22 18:34:12 +02:00
Loren J. Rittle
27ed7478c0
install.texi (*-*-freebsd*): Update target information.
...
2009-09-22 Loren J. Rittle <ljrittle@acm.org>
* doc/install.texi (*-*-freebsd*): Update target information.
From-SVN: r152028
2009-09-22 16:33:29 +00:00
Loren J. Rittle
2208d2ac95
unwind-dw2-fde-glibc.c: Define and use USE_PT_GNU_EH_FRAME.
...
2009-09-22 Loren J. Rittle <ljrittle@acm.org>
* unwind-dw2-fde-glibc.c: Define and use USE_PT_GNU_EH_FRAME.
Enable a new case for __FreeBSD__ >= 7.
* crtstuff.c: Define USE_PT_GNU_EH_FRAME for __FreeBSD__ >= 7.
* config/t-freebsd: Define LIB2ADDEH and LIB2ADDEHDEP.
* config/freebsd-spec.h: Conditionally define LINK_EH_SPEC
and USE_LD_AS_NEEDED.
From-SVN: r152027
2009-09-22 16:28:26 +00:00
Frank Ch. Eigler
5d0001f015
re PR libmudflap/41433 (security: mudflap accepts environment variables if setuid)
...
2009-09-22 Frank Ch. Eigler <fche@redhat.com>
PR libmudflap/41433
* mf-runtime.c (__mf_init): Ignore $MUDFLAP_OPTIONS if
running setuid or setgid.
From-SVN: r152026
2009-09-22 16:17:50 +00:00
Richard Henderson
e0601576f7
m68k.c (TARGET_TRAMPOLINE_INIT): New.
...
* config/m68k/m68k.c (TARGET_TRAMPOLINE_INIT): New.
(m68k_output_mi_thunk): Don't use static_chain_rtx.
(m68k_trampoline_init): New.
* config/m68k/m68k.h (INITIALIZE_TRAMPOLINE): Move code to
m68k_trampoline_init and adjust for hook parameters.
* config/m68k/netbsd-elf.h (TRAMPOLINE_TEMPLATE): Remove.
(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r152021
2009-09-22 08:49:54 -07:00
Richard Henderson
3452586be1
re PR target/41246 (should "sorry" when regparm=3 and nested functions are encountered)
...
PR target/41246
* config/i386/i386.c (ix86_function_regparm): Do not issue an
error for nested functions with regparm=3.
(ix86_compute_frame_layout): Adjust frame pointer offset for
ix86_static_chain_on_stack.
(ix86_expand_prologue): Handle ix86_static_chain_on_stack.
(ix86_emit_restore_reg_using_pop): Increment ix86_cfa_state->offset,
don't reset to UNITS_PER_WORD.
(ix86_emit_leave): Adjust ix86_cfa_state.
(ix86_expand_epilogue): Handle ix86_static_chain_on_stack.
(ix86_static_chain): New.
(ix86_trampoline_init): Rename from x86_initialize_trampoline;
make static; update for target hook parameters; use ix86_static_chain.
(TARGET_STATIC_CHAIN, TARGET_TRAMPOLINE_INIT): New.
* config/i386/i386.h (STATIC_CHAIN_REGNUM): Remove.
(INITIALIZE_TRAMPOLINE): Remove.
(TRAMPOLINE_SIZE): Use 24 for 64-bit.
(struct machine_function): Use BOOL_BITFIELD; rearrange bitfields
to the end. Add static_chain_on_stack.
(ix86_static_chain_on_stack): New.
From-SVN: r152018
2009-09-22 08:16:49 -07:00
Richard Henderson
3c1229cb54
xtensa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
...
* config/xtensa/xtensa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_TRAMPOLINE_INIT): New.
(xtensa_asm_trampoline_template): Rename from
xtensa_trampoline_template; make static.
(xtensa_trampoline_init): Rename from xtensa_initialize_trampoline;
make static; update for hook parameters.
* config/xtensa/xtensa-protos.h: Remove trampoline decls.
* config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Remove.
(INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r152017
2009-09-22 08:16:42 -07:00
Richard Henderson
3814318d55
vax.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
...
* config/vax/vax.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_TRAMPOLINE_INIT): New.
(vax_asm_trampoline_template, vax_trampoline_init): New.
* config/vax/vax.h (TRAMPOLINE_TEMPLATE): Move code to
vax_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Move code to vax_trampoline_init.
From-SVN: r152016
2009-09-22 08:16:34 -07:00
Richard Henderson
e0c6c27329
v850.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
...
* config/v850/v850.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_TRAMPOLINE_INIT): New.
(v850_can_eliminate): Make static.
(v850_asm_trampoline_template, v850_trampoline_init): New.
* config/v850/v850.h (TRAMPOLINE_TEMPLATE): Move code to
v850_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Move code to v850_trampoline_init
and adjust for target hook parameters.
From-SVN: r152015
2009-09-22 08:16:26 -07:00
Richard Henderson
fb8d0fac17
stormy16.c (xstormy16_trampoline_init): Rename from xstormy16_initialize_trampoline...
...
* config/stormy16/stormy16.c (xstormy16_trampoline_init): Rename
from xstormy16_initialize_trampoline; make static; update for
hook parameters.
(TARGET_TRAMPOLINE_INIT): New.
* config/stormy16/stormy16.h (INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r152014
2009-09-22 08:16:18 -07:00
Richard Henderson
a85b4c91b3
spu.c (TARGET_TRAMPOLINE_INIT): New.
...
* config/spu/spu.c (TARGET_TRAMPOLINE_INIT): New.
(array_to_constant): Make ARR parameter const.
(spu_trampoline_init): Rename from spu_initialize_trampoline;
make static; update for hook parameters.
* config/spu/spu-protos.h: Update decls.
* config/spu/spu.h (INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r152013
2009-09-22 08:16:10 -07:00
Richard Henderson
809e78cc90
sparc.c (TARGET_TRAMPOLINE_INIT): New.
...
* config/sparc/sparc.c (TARGET_TRAMPOLINE_INIT): New.
(sparc32_initialize_trampoline): Rename from
sparc_initialize_trampoline; make static; replace tramp parameter
with m_tramp and update memory accesses.
(sparc64_initialize_trampoline): Similarly.
(sparc_trampoline_init): New.
* config/sparc/sparc-protos.h: Remove trampoline decls.
* config/sparc/sparc.h (INITIALIZE_TRAMPOLINE): Remove.
* config/sparc/sparc.md (nonlocal_goto): Don't use static_chain_rtx.
From-SVN: r152012
2009-09-22 08:15:59 -07:00
Richard Henderson
994322ef6e
sh-protos.h (sh_initialize_trampoline): Remove.
...
* config/sh/sh-protos.h (sh_initialize_trampoline): Remove.
* config/sh/sh.c (TARGET_TRAMPOLINE_INIT): New.
(TARGET_TRAMPOLINE_ADJUST_ADDRESS): New.
(sh_trampoline_init): Rename from sh_initialize_trampoline;
make static; adjust for target hook parameters.
(sh_trampoline_adjust_address): New.
* config/sh/sh.h (INITIALIZE_TRAMPOLINE): New.
(TRAMPOLINE_ADJUST_ADDRESS): Move code to sh_trampoline_adjust_address.
From-SVN: r152011
2009-09-22 08:15:50 -07:00
Richard Henderson
2f5bb28c29
score-protos.h (score_initialize_trampoline): Remove.
...
* config/score/score-protos.h (score_initialize_trampoline): Remove.
* config/score/score.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_TRAMPOLINE_INIT): New.
(score_asm_trampoline_template): New.
(score_trampoline_init): Rename from score_initialize_trampoline;
make static; adjust for hook parameters.
* config/score/score.h (TRAMPOLINE_TEMPLATE): Move code to
score[37]_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Remove.
* config/score/score3.c (score3_asm_trampoline_template): New.
(score3_trampoline_init): Rename from score3_initialize_trampoline;
adjust for target hook.
* config/score/score7.c (score7_asm_trampoline_template): New.
(score7_trampoline_init): Rename from score7_initialize_trampoline;
adjust for target hook.
* config/score/score3.h, config/score/score7.h: Update.
From-SVN: r152010
2009-09-22 08:15:38 -07:00
Richard Henderson
b81ecf6fd6
s390.c (s390_asm_trampoline_template): Rename from s390_trampoline_template; make static.
...
* config/s390/s390.c (s390_asm_trampoline_template): Rename from
s390_trampoline_template; make static.
(s390_trampoline_init): Rename from s390_initialize_trampoline;
make static; adjust for target hook.
(TARGET_ASM_TRAMPOLINE_TEMPLATE, TARGET_TRAMPOLINE_INIT): New.
* config/s390/s390-protos.h: Remove trampoline decls.
* config/s390/s390.h (INITIALIZE_TRAMPOLINE): Remove.
(TRAMPOLINE_TEMPLATE): Remove.
(TRAMPOLINE_ALIGNMENT): New.
From-SVN: r152009
2009-09-22 08:15:30 -07:00
Richard Henderson
44d43e5377
rs6000-protos.h (rs6000_initialize_trampoline): Remove.
...
* config/rs6000/rs6000-protos.h (rs6000_initialize_trampoline): Remove.
* config/rs6000/rs6000.c (TARGET_TRAMPOLINE_INIT): New.
(rs6000_trampoline_init): Rename from rs6000_initialize_trampoline;
make static; adjust parameters for the hook.
* config/rs6000/rs6000.h (INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r152008
2009-09-22 08:15:19 -07:00
Richard Henderson
454da45131
* config/picochip/picochip.h (INITIALIZE_TRAMPOLINE): Remove.
...
From-SVN: r152007
2009-09-22 08:15:08 -07:00
Richard Henderson
8dd65c37e5
pdp11.c (pdp11_trampoline_init): New.
...
* config/pdp11/pdp11.c (pdp11_trampoline_init): New.
(TARGET_TRAMPOLINE_INIT): New.
* config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Remove.
(INITIALIZE_TRAMPOLINE): Move code to pdp11_trampoline_init.
From-SVN: r152006
2009-09-22 08:14:54 -07:00
Richard Henderson
859c146ca0
pa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New.
...
* gcc/config/pa/pa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
pa_asm_trampoline_template, TARGET_TRAMPOLINE_INIT,
pa_trampoline_init, TARGET_TRAMPOLINE_ADJUST_ADDRESS,
pa_trampoline_adjust_address): New.
* config/pa/pa.h (TRAMPOLINE_TEMPLATE): Move code to
pa_asm_trampoline_template.
(TRAMPOLINE_ALIGNMENT): New.
(TRAMPOLINE_CODE_SIZE): Move to pa.c.
(INITIALIZE_TRAMPOLINE): Move code to pa_trampoline_init;
adjust for hook parameters.
(TRAMPOLINE_ADJUST_ADDRESS): Move code to pa_trampoline_adjust_address.
From-SVN: r152005
2009-09-22 08:14:48 -07:00
Richard Henderson
4601494d99
moxie.c (moxie_static_chain, [...]): New.
...
* config/moxie/moxie.c (moxie_static_chain,
moxie_asm_trampoline_template, moxie_trampoline_init,
TARGET_STATIC_CHAIN, TARGET_ASM_TRAMPOLINE_TEMPLATE,
TARGET_TRAMPOLINE_INIT): New.
* config/moxie/moxie.h (INITIALIZE_TRAMPOLINE): Move code to
moxie_trampoline_init.
(TRAMPOLINE_TEMPLATE): Move code to moxie_asm_trampoline_template.
(STATIC_CHAIN, STATIC_CHAIN_INCOMING): Remove.
From-SVN: r152004
2009-09-22 08:14:39 -07:00
Richard Henderson
bdeb5f0c35
mn10300.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New.
...
* config/mn10300/mn10300.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
mn10300_asm_trampoline_template, TARGET_TRAMPOLINE_INIT,
mn10300_trampoline_init): New.
* config/mn10300/mn10300.h (TRAMPOLINE_TEMPLATE): Move code to
mn10300_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Move code to mn10300_trampoline_init.
From-SVN: r152003
2009-09-22 08:14:32 -07:00
Richard Henderson
dbbdb385c4
mmix.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
...
* gcc/config/mmix/mmix.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_TRAMPOLINE_INIT): New.
(mmix_trampoline_size): Remove.
(mmix_asm_trampoline_template): Rename from mmix_trampoline_template;
make static. Remove out-of-date tetra vs octa comment.
(mmix_trampoline_init): Rename from mmix_initialize_trampoline;
make static; update for hook parameters.
* config/mmix/mmix.h (TRAMPOLINE_TEMPLATE): Remove.
(INITIALIZE_TRAMPOLINE): Remove.
(TRAMPOLINE_SIZE): Use a constant instead of mmix_trampoline_size.
(TRAMPOLINE_ALIGNMENT): New.
* gcc/config/mmix/mmix-protos.h: Update.
From-SVN: r152002
2009-09-22 08:14:24 -07:00
Richard Henderson
a1d29c8cfe
mips.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New.
...
* config/mips/mips.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
mips_asm_trampoline_template, TARGET_TRAMPOLINE_INIT,
mips_trampoline_init): New.
* config/mips/mips.h (TRAMPOLINE_TEMPLATE): Move code to
mips_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Move code to mips_trampoline_init;
update for hook parameters.
From-SVN: r152001
2009-09-22 08:14:15 -07:00
Richard Henderson
87138d8d59
mep.h (INITIALIZE_TRAMPOLINE): Remove.
...
* config/mep/mep.h (INITIALIZE_TRAMPOLINE): Remove.
* config/mep/mep.c (TARGET_TRAMPOLINE_INIT): New.
(mep_trampoline_init): Rename from mep_init_trampoline; make static;
update for hook parameters.
* config/mep/mep-protos.h (mep_init_trampoline): Remove.
From-SVN: r152000
2009-09-22 08:14:04 -07:00
Richard Henderson
71e0af3ce5
mcore.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
...
* config/mcore/mcore.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_TRAMPOLINE_INIT): New.
(mcore_function_value): Fix typo.
(mcore_asm_trampoline_template, mcore_trampoline_init): New.
* config/mcore/mcore.h (TRAMPOLINE_TEMPLATE): Move code
to mcore_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Move code to mcore_trampoline_init.
From-SVN: r151999
2009-09-22 08:13:53 -07:00
Richard Henderson
0d7e5af167
m68hc11.c (TARGET_TRAMPOLINE_INIT): New.
...
* config/m68hc11/m68hc11.c (TARGET_TRAMPOLINE_INIT): New.
(m68hc11_trampoline_init): Rename from m68hc11_initialize_trampoline;
make static; update for hook parameters.
* config/m68hc11/m68hc11-protos.h: Update.
* config/m68hc11/m68hc11.h (INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r151998
2009-09-22 08:13:36 -07:00
Richard Henderson
1548bf0514
m32r.c (TARGET_TRAMPOLINE_INIT): New.
...
* config/m32r/m32r.c (TARGET_TRAMPOLINE_INIT): New.
(m32r_trampoline_init): New.
* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Move code to
m32r_trampoline_init.
From-SVN: r151997
2009-09-22 08:13:30 -07:00
Richard Henderson
229fbccbab
m32c-protos.h (m32c_initialize_trampoline): Remove.
...
* config/m32c/m32c-protos.h (m32c_initialize_trampoline): Remove.
* config/m32c/m32c.c (TARGET_TRAMPOLINE_INIT): New.
(m32c_trampoline_init): Rename from m32c_initialize_trampoline;
adjust for hook parameters.
* config/m32c/m32c.h (INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r151996
2009-09-22 08:13:24 -07:00
Richard Henderson
f4a33d3727
iq2000.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
...
* config/iq2000/iq2000.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_TRAMPOLINE_INIT): New.
(iq2000_asm_trampoline_template, iq2000_trampoline_init): New.
* config/iq2000/iq2000.h (TRAMPOLINE_TEMPLATE): Move code to
iq2000_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Move code to iq2000_trampoline_init.
(TRAMPOLINE_CODE_SIZE): New.
(TRAMPOLINE_SIZE): Use it.
(TRAMPOLINE_ALIGNMENT): Follow Pmode.
From-SVN: r151995
2009-09-22 08:13:11 -07:00
Richard Henderson
2a1211e51b
ia64-protos.h (ia64_initialize_trampoline): Remove.
...
* config/ia64/ia64-protos.h (ia64_initialize_trampoline): Remove.
* config/ia64/ia64.c (TARGET_TRAMPOLINE_INIT): New.
(ia64_trampoline_init): Rename from ia64_initialize_trampoline;
make static; adjust for hook parameters.
* config/ia64/ia64.h (INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r151994
2009-09-22 08:13:03 -07:00
Richard Henderson
9f6ef043a8
h8300.c (h8300_trampoline_init): New.
...
* config/h8300/h8300.c (h8300_trampoline_init): New.
(TARGET_TRAMPOLINE_INIT): New.
* config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Move code
to h8300_trampoline_init and adjust for hook parameters.
From-SVN: r151993
2009-09-22 08:12:56 -07:00
Richard Henderson
e9d5fdb247
frv.c (TARGET_TRAMPOLINE_INIT): New.
...
* config/frv/frv.c (TARGET_TRAMPOLINE_INIT): New.
(frv_trampoline_init): Rename from frv_initialize_trampoline;
make static, adjust arguments for TARGET_TRAMPOLINE_INIT hook.
* config/frv/frv.h (INITIALIZE_TRAMPOLINE): Remove.
* config/frv/frv-protos.h (frv_initialize_trampoline): Remove.
From-SVN: r151992
2009-09-22 08:12:48 -07:00
Richard Henderson
98689f5ece
fr30.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New.
...
* config/fr30/fr30.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
TARGET_TRAMPOLINE_INIT, fr30_asm_trampoline_template,
fr30_trampoline_init): New.
* config/fr30/fr30.h (TRAMPOLINE_TEMPLATE): Move code to
fr30_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Move code to fr30_trampoline_init;
adjust for target hook parameters.
From-SVN: r151991
2009-09-22 08:12:41 -07:00
Richard Henderson
956c97fc69
* config/crx/crx.h (INITIALIZE_TRAMPOLINE): Remove.
...
From-SVN: r151990
2009-09-22 08:12:31 -07:00
Richard Henderson
3e322b77d6
cris.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New.
...
* config/cris/cris.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
TARGET_TRAMPOLINE_INIT, cris_asm_trampoline_template,
cris_trampoline_init): New.
* config/cris/cris.h (TRAMPOLINE_TEMPLATE): Move code to
cris_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Move code to cris_trampoline_init;
adjust for target hook parameters.
From-SVN: r151989
2009-09-22 08:12:23 -07:00
Richard Henderson
92910d774d
bfin-protos.h (initialize_trampoline): Remove.
...
* config/bfin/bfin-protos.h (initialize_trampoline): Remove.
* config/bfin/bfin.c (bfin_asm_trampoline_template): New.
(bfin_trampoline_init): Rename from initialize_trampoline;
make static; update for target hook parameters.
(TARGET_ASM_TRAMPOLINE_TEMPLATE, TARGET_TRAMPOLINE_INIT): New.
* config/bfin/bfin.h (TRAMPOLINE_TEMPLATE): Move code to
bfin_asm_trampoline_template.
(INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r151988
2009-09-22 08:12:16 -07:00
Richard Henderson
6eee506e2f
* config/avr/avr.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Remove.
...
From-SVN: r151987
2009-09-22 08:12:09 -07:00
Richard Henderson
0ef9304b22
arm.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
...
* config/arm/arm.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_TRAMPOLINE_INIT, TARGET_TRAMPOLINE_ADJUST_ADDRESS): New.
(arm_asm_trampoline_template): New.
(arm_trampoline_init, arm_trampoline_adjust_address): New.
* config/arm/arm.h (TRAMPOLINE_TEMPLATE,
* ARM_TRAMPOLINE_TEMPLATE,
THUMB2_TRAMPOLINE_TEMPLATE, THUMB1_TRAMPOLINE_TEMPLATE): Move all
code to arm_asm_trampoline_template.
(TRAMPOLINE_ADJUST_ADDRESS): Move code to
arm_trampoline_adjust_address.
(INITIALIZE_TRAMPOLINE): Move code to arm_trampoline_init;
adjust for target hook parameters.
From-SVN: r151986
2009-09-22 08:12:02 -07:00
Richard Henderson
672f0baaec
arc.h (TRAMPOLINE_ALIGNMENT): New.
...
* config/arc/arc.h (TRAMPOLINE_ALIGNMENT): New.
(TRAMPOLINE_TEMPLATE): Merge with ...
(INITIALIZE_TRAMPOLINE): ... this and move ...
* config/arc/arc.c (arc_trampoline_init): ... here.
(TARGET_TRAMPOLINE_INIT): New.
From-SVN: r151985
2009-09-22 08:11:53 -07:00
Richard Henderson
2d7b663adf
alpha.c (alpha_trampoline_init): Rename from alpha_initialize_trampoline.
...
* config/alpha/alpha.c (alpha_trampoline_init): Rename from
alpha_initialize_trampoline. Make static. Merge VMS parameter
differences into the TARGET_ABI_OPEN_VMS code block.
(TARGET_TRAMPOLINE_INIT): New.
* config/alpha/alpha.h (TRAMPOLINE_TEMPLATE): Remove.
(TRAMPOLINE_SECTION, INITIALIZE_TRAMPOLINE): Remove.
* config/alpha/vms.h (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT):
* Remove.
(INITIALIZE_TRAMPOLINE): Remove.
From-SVN: r151984
2009-09-22 08:11:45 -07:00
Richard Henderson
531ca746f9
re PR target/41246 (should "sorry" when regparm=3 and nested functions are encountered)
...
PR target/41246
* target.h (struct gcc_target): Add asm_out.trampoline_template,
calls.static_chain, calls.trampoline_init,
calls.trampoline_adjust_address.
* target-def.h (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
(TARGET_STATIC_CHAIN, TARGET_TRAMPOLINE_INIT): New.
(TARGET_TRAMPOLINE_ADJUST_ADDRESS): New.
* builtins.c (expand_builtin_setjmp_receiver): Use
targetm.calls.static_chain; only clobber registers.
(expand_builtin_init_trampoline): Use targetm.calls.trampoline_init;
set up memory attributes properly for the trampoline block.
(expand_builtin_adjust_trampoline): Use
targetm.calls.trampoline_adjust_address.
* calls.c (prepare_call_address): Add fndecl argument. Use
targetm.calls.static_chain.
* df-scan.c (df_need_static_chain_reg): Remove.
(df_get_entry_block_def_set): Use targetm.calls.static_chain;
consolodate static chain handling.
* doc/tm.texi: Document new hooks.
* emit-rtl.c (static_chain_rtx, static_chain_incoming_rtx): Remove.
(init_emit_regs): Don't initialize them.
* expr.h (prepare_call_address): Update decl.
* final.c (profile_function): Use targetm.calls.static_chain.
* function.c (expand_function_start): Likewise.
* rtl.h (static_chain_rtx, static_chain_incoming_rtx): Remove.
* stmt.c (expand_nl_goto_receiver): Use targetm.calls.static_chain;
only clobber registers.
* targhooks.c (default_static_chain): New.
(default_asm_trampoline_template, default_trampoline_init): New.
(default_trampoline_adjust_address): New.
* targhooks.h: Declare them.
* varasm.c (assemble_trampoline_template): Use
targetm.asm_out.trampoline_template. Make the memory block const
and set its size.
From-SVN: r151983
2009-09-22 08:11:37 -07:00