Commit graph

95905 commits

Author SHA1 Message Date
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
Richard Guenther
2df373c2eb re PR bootstrap/41395 (Revision 151800 failed bootstrap)
2009-09-22  Richard Guenther  <rguenther@suse.de>

	PR middle-end/41395
	* tree-dfa.c (get_ref_base_and_extent): Handle trailing
	arrays really properly.

	* gcc.c-torture/execute/pr41395-1.c: New testcase.
	* gcc.c-torture/execute/pr41395-2.c: Likewise.

From-SVN: r151981
2009-09-22 14:58:05 +00:00
Richard Guenther
cf76ef1a46 re PR objc++/41430 (exception handling testsuite failures in objc++)
2009-09-22  Richard Guenther  <rguenther@suse.de>

	PR objc++/41430
	* Make-lang.in (objcp-lang.o): Add $(EXCEPT_H) dependency.
	* objcp-lang.c (LANG_HOOKS_EH_PERSONALITY): Define.
	(LANG_HOOKS_EH_RUNTIME_TYPE): Likewise.
	(objcxx_eh_personality): New function.

From-SVN: r151979
2009-09-22 13:49:03 +00:00
Jakub Jelinek
65f753a01e re PR bootstrap/41405 (Bootstrap fails on *-apple-darwin* due to revision 151815)
PR bootstrap/41405
	* dwarf2out.c (base_type_die, record_type_tag, gen_subprogram_die,
	add_call_src_coords_attributes, add_high_low_attributes,
	gen_compile_unit_die, gen_type_die_with_usage force_decl_die,
	gen_decl_die, dwarf2out_imported_module_or_decl_1, dwarf2out_finish,
	dwarf2out_imported_module_or_decl): Avoid using DWARF3 additions
	when -gdwarf-2 -gstrict-dwarf.
	(loc_list_from_tree): Likewise.  Avoid using DWARF4 additions when
	-gdwarf-[23] -gstrict-dwarf.
	(address_of_int_loc_descriptor, loc_descriptor,
	loc_list_for_address_of_addr_expr_of_indirect_ref): Avoid using
	DWARF4 additions when -gdwarf-[23] -gstrict-dwarf.
	* common.opt (gno-strict-dwarf, gstrict-dwarf): New options.

	* gfortran.dg/debug/pr37738.f: Add -gno-strict-dwarf to dg-options.
	* gfortran.dg/debug/pr35154-dwarf2.f: Likewise.
	* g++.dg/debug/dwarf2/explicit-constructor.C: Likewise.
	* g++.dg/debug/dwarf2/imported-module-2.C: Likewise.
	* g++.dg/debug/dwarf2/imported-module-3.C: Likewise.
	* g++.dg/debug/dwarf2/imported-module-4.C: Likewise.
	* g++.dg/debug/dwarf2/namespace-1.C: Likewise.
	* objc.dg/dwarf-2.m: Likewise.

From-SVN: r151978
2009-09-22 15:22:15 +02:00
Jakub Jelinek
9190e0a99c rs6000.c (bdesc_2arg): Fix CODE_FOR_vector_gt* codes for __builtin_altivec_vcmpgt{sb,uh,sh,uw}.
* config/rs6000/rs6000.c (bdesc_2arg): Fix CODE_FOR_vector_gt* codes
	for __builtin_altivec_vcmpgt{sb,uh,sh,uw}.

From-SVN: r151977
2009-09-22 14:53:14 +02:00
Jakub Jelinek
39dbcfc364 reload1.c (reload): Call wrap_constant when substituting reg for equiv inside of DEBUG_INSNs.
* reload1.c (reload): Call wrap_constant when substituting
	reg for equiv inside of DEBUG_INSNs.

	* gcc.dg/20090922-1.c: New test.

From-SVN: r151976
2009-09-22 14:52:20 +02:00
Iain Sandoe
db1cf15c83 configure.ac: Check for GFORTRAN_C99_1.1 funcs in OS libm.
2009-09-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>

* configure.ac: Check for GFORTRAN_C99_1.1 funcs in OS libm.
        * configure: Regenerate.
        * config.h.in: Ditto.

From-SVN: r151972
2009-09-22 12:23:06 +02:00