Commit Graph

96136 Commits

Author SHA1 Message Date
Jakub Jelinek
abab57efc6 re PR debug/41439 (choose DW_OP_stack_value over DW_OP_implicit_value more often, please)
PR debug/41439
	* dwarf2out.c (address_of_int_loc_descriptor): Don't emit
	DW_OP_piece after DW_OP_stack_value, adjust size calculations
	for it, when DW_OP_stack_value and DW_OP_implicit_value has
	the same size, prefer DW_OP_stack_value.
	(loc_descriptor, loc_list_for_address_of_addr_expr_of_indirect_ref,
	loc_list_from_tree): Don't emit DW_OP_piece after DW_OP_stack_value.

From-SVN: r152091
2009-09-23 20:07:07 +02:00
Alexandre Oliva
7168dc4708 re PR debug/41353 (VTA missed-debug issues)
PR debug/41353
* var-tracking.c (add_with_sets): Sort MO_VAL_LOC last among uses.

From-SVN: r152088
2009-09-23 16:30:39 +00:00
Alexandre Oliva
dda2da5819 re PR debug/41248 (VTA: Assertion at 2910 of cfgexpand.c (expand_debug_locations))
gcc/ChangeLog:
PR debug/41248
* cfgexpand.c (convert_debug_memory_address): New.
(expand_debug_expr): Convert base address and offset to the same
mode.  Use it to convert addresses to other modes.  Accept
ptr_mode addresses.
gcc/testsuite/ChangeLog:
PR debug/41248
* gcc.dg/pr41248.c: New.

From-SVN: r152087
2009-09-23 16:29:38 +00:00
Dodji Seketeli
b646ba3f1c re PR debug/41065 (DW_TAG_enumeration_type+DW_TAG_enumerator is sometimes missing)
Fix PR debug/41065

gcc/ChangeLog:
	PR debug/41065
	* function.h (types_used_by_vars_hash): Declare new hash table.
	(types_used_by_vars_eq, types_used_by_var_decl_insert): Declare
	equality and hash function for the hash table.
	(types_used_by_cur_var_decl): Declare a new global chained list.
	(types_used_by_var_decl_insert): Declare new function.
	* function.c (types_used_by_vars_hash): Define the hashtable ...
	(types_used_by_vars_eq, types_used_by_vars_do_hash): ... as well as
	its equality and hash functions.
	(hash_types_used_by_vars_entry): New hash helper.
	(types_used_by_cur_var_decl): Define the global chained list.
	(used_types_insert): Update the list of types used by the global
	variable being parsed.
	(types_used_by_var_decl_insert): Define new function.
	* c-common.h (record_types_used_by_current_var_decl): Declare ...
	* c-common.c (record_types_used_by_current_var_decl): ... new
	function.
	* c-decl.c (finish_decl): Record the types used by the global
	variable declaration we've just parsed.
	* dwarf2out.c (premark_used_types): Insert a new line between
	comment and function.
	(premark_used_types_helper): Fix comment.
	(premark_types_used_by_global_vars_helper,
	premark_types_used_by_global_vars): New functions.
	(prune_unused_types): Do not prune types used by global variables.

gcc/cp/ChangeLog:
	PR debug/41065
	* decl.c (cp_finish_decl): Record the types used by the global
	variable declaration we've just parsed.

gcc/testsuite/ChangeLog:
	PR debug/41065
	* gcc.dg/debug/dwarf2/global-used-types.c: New test.

From-SVN: r152085
2009-09-23 18:07:13 +02:00
Richard Guenther
4c6858252c alias.c (ao_ref_from_mem): Correct for negative MEM_OFFSET produced for bigendian targets with promoted...
2009-09-23  Richard Guenther  <rguenther@suse.de>

	* alias.c (ao_ref_from_mem): Correct for negative MEM_OFFSET
	produced for bigendian targets with promoted subregs.

From-SVN: r152083
2009-09-23 15:40:55 +00:00
Richard Guenther
659ad88e5f value-prof.c (gimple_ic): Purge old EH edges only after building the new ones.
2009-09-23  Richard Guenther  <rguenther@suse.de>

	* value-prof.c (gimple_ic): Purge old EH edges only after building
	the new ones.

From-SVN: r152082
2009-09-23 15:29:22 +00:00
Loren J. Rittle
e02222d2e7 configure.ac (AC_CHECK_HEADERS after AC_LANG(C++)): Add sys/stat.h.
2009-09-23  Loren J. Rittle  <ljrittle@acm.org>

	* configure.ac (AC_CHECK_HEADERS after AC_LANG(C++)): Add sys/stat.h.
	* configure: Rebuilt.

From-SVN: r152081
2009-09-23 15:21:42 +00:00
Nick Clifton
b3901be5a1 * config/arc/arc.c (arc_trampoline_init): Fix typo.
From-SVN: r152080
2009-09-23 15:17:24 +00:00
Jakub Jelinek
dc67413dff re PR bootstrap/41405 (Bootstrap fails on *-apple-darwin* due to revision 151815)
PR bootstrap/41405
	* doc/invoke.texi: Document -gstrict-dwarf and -gno-strict-dwarf.

From-SVN: r152076
2009-09-23 16:52:20 +02:00
Matthias Klose
29d1370a8f PR libffi/40242, PR libffi/41443
2009-09-23  Matthias Klose  <doko@ubuntu.com>

        PR libffi/40242, PR libffi/41443
        * src/arm/sysv.S (__ARM_ARCH__): Define for processors
        __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
        __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
        Change the conditionals to __SOFTFP__ || __ARM_EABI__
        for -mfloat-abi=softfp to work.

From-SVN: r152075
2009-09-23 14:50:35 +00:00
Andreas Schwab
28baf121d3 profopt.exp (profopt-get-options): Set tool_flags for current_compiler_flags.
* lib/profopt.exp (profopt-get-options): Set tool_flags for
current_compiler_flags.  Fix typos.

From-SVN: r152068
2009-09-23 13:44:12 +00:00
Jakub Jelinek
66f0e027f5 re PR bootstrap/41436 (Revision 152018 failed to bootstrap on i386)
PR bootstrap/41436
	* cgraphunit.c (cgraph_lower_function): Set DECL_NO_STATIC_CHAIN
	on non-nested functions.

From-SVN: r152067
2009-09-23 15:06:20 +02:00
Nick Clifton
d4c74acca9 * config.sub, config.guess: Update from upstream sources.
From-SVN: r152065
2009-09-23 09:48:35 +00:00
Yuri Gribov
3c5ce3afc4 980526-2.c: Skip if sizeof (int) > 4.
2009-09-23  Yuri Gribov  <tetra2005@googlemail.com>

	* gcc.c-torture/execute/980526-2.c: Skip if sizeof (int) > 4.

From-SVN: r152063
2009-09-23 09:23:38 +00:00
Tristan Gingold
31a9bec456 (Fix missing space).
From-SVN: r152062
2009-09-23 08:21:47 +00:00
Johannes Singler
4459d22ed1 algobase.h: Uglify internal identifiers; correct line breaks.
2009-09-23  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algobase.h: Uglify internal identifiers;
        correct line breaks.
        * include/parallel/algo.h: Likewise.
        * include/parallel/base.h: Likewise.
        * include/parallel/equally_split.h: Likewise.
        * include/parallel/find.h: Likewise.
        * include/parallel/find_selectors.h: Likewise.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/list_partition.h: Likewise.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/merge.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/search.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

From-SVN: r152061
2009-09-23 08:09:50 +00:00
Matthew Gingell
30b639a845 cplus-dem.c (ada_demangle): Ensure demangled is freed.
2009-09-23  Matthew Gingell <gingell@adacore.com>

	* cplus-dem.c (ada_demangle): Ensure demangled is freed.

From-SVN: r152060
2009-09-23 08:08:40 +00:00
Jakub Jelinek
457ff6a1d0 re PR debug/41411 (ICE: mem_loc_descriptor, at dwarf2out.c:11616)
* dwarf2out.c (loc_list_plus_const): Only define if
	DWARF2_DEBUGGING_INFO.
	(address_of_int_loc_descriptor): Likewise.

	PR debug/41411
	* dwarf2out.c (mem_loc_descriptor): Handle HIGH.

From-SVN: r152059
2009-09-23 09:02:26 +02:00
Uros Bizjak
be12343976 re PR c/39779 (ICE shifting byte to the right with constant > 7FFFFFFF)
PR c/39779
	* c-typeck.c (build_binary_op) <short_shift>: Check that integer
	constant is more than zero.

testsuite/ChangeLog:

	PR c/39779
	* gcc.c-torture/compile/pr39779.c: New test.

From-SVN: r152058
2009-09-23 08:43:56 +02:00
Alan Modra
d57c013983 re PR target/40473 (-mno-sched-prolog breaks function parameter debug location lists)
PR target/40473
	* config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't
	call final to emit non-scheduled prologue, instead insert at entry.

From-SVN: r152056
2009-09-23 09:53:24 +09:30
GCC Administrator
254767816f Daily bump.
From-SVN: r152055
2009-09-23 00:17:01 +00:00
Loren J. Rittle
f2431d5d4c install.texi (*-*-freebsd*): Add proper format codes.
2009-09-22  Loren J. Rittle  <ljrittle@acm.org>
            Joseph S. Myers  <joseph@codesourcery.com>

        * doc/install.texi (*-*-freebsd*): Add proper format codes.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r152051
2009-09-22 21:50:58 +00:00
Loren J. Rittle
03261b6da2 Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Remove stray $$r/.
2009-09-22  Loren J. Rittle <ljrittle@acm.org>

	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Remove stray $$r/.
	* Makefile.in: Rebuilt.

From-SVN: r152050
2009-09-22 21:38:25 +00:00
Basile Starynkevitch
41e7ac516e gengtype.c (is_file_equal): New function.
2009-09-22  Basile Starynkevitch  <basile@starynkevitch.net>
            Rafael Avila de Espindola  <espindola@google.com>

	* gengtype.c (is_file_equal): New function.
	(close_output_files): Use is_file_equal. Free of->buf.


Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>

From-SVN: r152049
2009-09-22 21:36:50 +00:00
Basile Starynkevitch
0182d01649 gengtype.c (write_types, [...]): Add the output_header argument.
2009-09-22  Basile Starynkevitch  <basile@starynkevitch.net>
            Rafael Avila de Espindola  <espindola@google.com>

	* gengtype.c (write_types, write_local): Add the output_header
	argument. Update all callers.


Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>

From-SVN: r152046
2009-09-22 21:00:09 +00:00
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