1. 29 Nov, 2010 1 commit
    • system.h: Include "safe-ctype.h" instead of <safe-ctype.h>. · 71f3e391
      	* system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
      	Include <signal.h>, <sys/mman.h>, <sys/resource.h> and
      	<sys/times.h>.
      	(O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
      	Conditionally define.
      	(GET_ENVIRONMENT): Poison.
      	* configure.ac: Don't test for mincore.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* collect2-aix.c: Don't include <sys/mman.h>.
      	* collect2.c: Don't include <signal.h>.
      	(SIGCHLD): Don't define.
      	(prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
      	* config/alpha/alpha.c: Include "splay-tree.h" instead of
      	<splay-tree.h>.
      	* config/arm/arm.c (arm_target_help): Use getenv instead of
      	GET_ENVIRONMENT.
      	* config/avr/driver-avr.c: Don't include <stdlib.h>.
      	* config/frv/frv.c: Don't include <ctype.h>.
      	* config/host-darwin.c: Don't include <sys/mman.h>.
      	* config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
      	(MAP_FAILED): Don't define.
      	* config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
      	* config/host-solaris.c: Don't include <sys/mman.h>.
      	* config/i386/cygming.h: Don't include <stdio.h>.
      	* config/i386/driver-i386.c: Don't include <stdlib.h>.
      	* config/i386/host-cygwin.c: Don't include <sys/mman.h>.
      	* config/iq2000/iq2000.c: Don't include <signal.h>.
      	* config/m32c/m32c-pragma.c: Don't include <stdio.h>.
      	* config/m68hc11/m68hc11.c: Don't include <stdio.h>.
      	* config/mep/mep-pragma.c: Don't include <stdio.h>.
      	* config/microblaze/microblaze.c: Don't include <signal.h>.
      	* config/mips/mips.c: Don't include <signal.h>.
      	* config/rs6000/host-darwin.c: Don't include <signal.h>.
      	* cppdefault.c (cpp_relocated): Use getenv instead of
      	GET_ENVIRONMENT.
      	* defaults.h (GET_ENVIRONMENT): Don't define.
      	* et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
      	* gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
      	(SIGCHLD, MAP_FAILED, kill): Don't define.
      	(process_command): Use getenv instead of GET_ENVIRONMENT.
      	* genhooks.c: Don't include <string.h>.
      	* ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
      	<sys/types.h>.
      	(MAP_FAILED): Don't define.
      	* ggc-page.c Don't include <sys/mman.h>.
      	(MAP_ANONYMOUS, MAP_FAILED): Don't define.
      	* ggc-zone.c: Don't include <sys/mman.h>.
      	(MAP_ANONYMOUS, MAP_FAILED): Don't define.
      	* graph.c: Include "config.h" instead of <config.h>.
      	* incpath.c (add_env_var_paths): Use getenv instead of
      	GET_ENVIRONMENT.
      	* lto-wrapper.c: Don't include <errno.h>, <signal.h> or
      	"libiberty.h".
      	(SIGCHLD, kill): Don't define.
      	* mips-tfile.c: Don't include <signal.h>.
      	* opts.c: Don't include <signal.h> or <sys/resource.h>.
      	(print_specific_help): Use getenv instead of GET_ENVIRONMENT.
      	* passes.c: Don't include <signal.h>, <sys/resource.h> or
      	<sys/times.h>.
      	* sparseset.h: Don't include <assert.h>.
      	* timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
      	* tlink.c: Don't include "libiberty.h".
      	* toplev.c: Don't include <signal.h> or <sys/times.h>.
      	* tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
      	* tree-switch-conversion.c: Don't include <signal.h>.
      	* vmsdbgout.c: Don't include <errno.h> or <string.h>.
      
      c-family:
      	* c-opts.c (check_deps_environment_vars): Use getenv instead of
      	GET_ENVIRONMENT.
      	* c-pch.c (O_BINARY): Don't define here.
      	* c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
      
      fortran:
      	* gfortran.h (alloca): Don't include definitions.
      	(NULL): Don't define.
      
      java:
      	* boehm.c: Include "config.h" instead of <config.h>.
      	* builtins.c: Don't include <stdarg.h>.
      	* class.c: Don't include "stdio.h".
      	(O_BINARY): Don't define here.
      	* jcf-depend.c: Don't include <assert.h>.
      	(jcf_dependency_set_dep_file, jcf_dependency_init,
      	jcf_dependency_write): Use gcc_assert.
      	* jcf-io.c (O_BINARY): Don't define here.
      	* jcf-path.c: Don't include "tm.h".
      	(jcf_path_init): Use getenv instead of GET_ENVIRONMENT.
      	* resource.c: Don't include "stdio.h".
      	(O_BINARY): Don't define here.
      	* verify-impl.c: Don't include <stdio.h>.
      
      lto:
      	* lto-endian.h: Delete.
      	* lto-object.c: Don't include "libiberty.h".
      	(O_BINARY): Don't define.
      	* lto.c: Don't include "libiberty.h" or <sys/mman.h>.
      	(O_BINARY): Don't define.
      
      From-SVN: r167241
      Joseph Myers committed
  2. 25 Nov, 2010 1 commit
    • target.def (supports_split_stack, [...]): Take gcc_options parameters. · d5fabb58
      	* target.def (supports_split_stack, except_unwind_info): Take
      	gcc_options parameters.
      	* targhooks.c (default_except_unwind_info,
      	dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
      	gcc_options parameters.
      	* targhooks.h (default_except_unwind_info,
      	dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
      	prototypes.
      	* doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
      	TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
      	Document that hooks must not be modified.
      	(TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
      	* doc/tm.texi: Regenerate.
      	* defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
      	&global_options to targetm.except_unwind_info.
      	* dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
      	dwarf2out_begin_prologue, dwarf2out_frame_init,
      	dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
      	&global_options to targetm.except_unwind_info.
      	* except.c (init_eh, finish_eh_generation,
      	gate_convert_to_eh_region_ranges,
      	output_one_function_exception_table): Pass &global_options to
      	targetm.except_unwind_info.
      	* expr.c (build_personality_function): Pass &global_options to
      	targetm.except_unwind_info.
      	* function.c (expand_function_end): Pass &global_options to
      	targetm.except_unwind_info.
      	* hooks.c (hook_bool_bool_gcc_optionsp_false): New.
      	* hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
      	* opts.c (finish_options): Pass opts to targetm.except_unwind_info
      	and targetm.supports_split_stack.  Remove assertions about opts
      	and opts_set.
      	(common_handle_option): Remove assertions about opts, opts_set and
      	dc.
      	* tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
      	&global_options to targetm.except_unwind_info.
      	* tree.c (build_common_builtin_nodes: Pass &global_options to
      	targetm.except_unwind_info.
      	* config/arm/arm.c (arm_except_unwind_info): Add gcc_options
      	parameter.
      	(arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
      	thumb1_expand_prologue, thumb1_output_function_prologue,
      	arm_unwind_emit, arm_output_fn_unwind): Update calls to
      	arm_except_unwind_info.
      	* config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
      	parameter.
      	* config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
      	parameter.
      	(ia64_output_function_prologue, ia64_add_bundle_selector_before,
      	ia64_reorg, ia64_asm_unwind_emit): Update calls to
      	ia64_except_unwind_info.
      	* config/pa/pa.c (pa_option_override): Pass &global_options to
      	targetm.except_unwind_info.
      	* config/picochip/picochip-protos.h (picochip_except_unwind_info):
      	Remove prototype.
      
      c-family:
      	* c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
      	targetm.except_unwind_info.
      
      From-SVN: r167145
      Joseph Myers committed
  3. 23 Nov, 2010 1 commit
    • tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro. · f16d3f39
      	* tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
      	(tree_decl_with_vis): Add implicit_section_name_p.
      	* targhooks.h (default_function_section): Declare.
      	* target.def (function_section): New hook.
      	* defaults.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
      	* predict.c (choose_function_section): Remove.
      	(estimate_bb_frequencies): Do not use choose_function_section.
      	* coretypes.h (enum node_frequency): Move here from cgraph.h
      	* cgraph.h (enum node_frequency): Remove.
      	* varasm.c (initialize_cold_section_name, unlikely_text_section,
      	unlikely_text_section_p): Remove.
      	(named_subsection_entry): New structure.
      	(get_text_section): New function.
      	(default_function_section): New function.
      	(function_section_1): Break out from ...; handle profile info.
      	(function_section): ... here.
      	(unlikely_text_section): Remove.
      	(unlikely_text_section_p): Use function_section_1.
      	(assemble_start_function): Do not initialize cold section.
      	(default_section_type_flags): Do not special case cold subsection.
      	(switch_to_section): Likewise.
      	* output.h (get_text_section): Define.
      	* config/i386/winnt.c: Do not special case cold section.
      	* config/darwin-protos.h (darwin_function_section): Declare.
      	* config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
      	* config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
      	(TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
      	* config/ia64/ia64.c (ia64_hpux_function_section): New function.
      	* config/darwin.c (machopic_select_section): Use
      	darwin_function_section.
      	(darwin_function_section): New function.
      	* config/darwin.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
      	(TARGET_ASM_FUNCTION_SECTION): Define.
      	* system.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
      
      From-SVN: r167085
      Jan Hubicka committed
  4. 16 Nov, 2010 1 commit
    • builtins.c (std_gimplify_va_arg_expr): Use targetm.calls.function_arg_boundary. · c2ed6cf8
      	* builtins.c (std_gimplify_va_arg_expr): Use
      	targetm.calls.function_arg_boundary.
      	* function.c (assign_parms, locate_and_pad_parm): Likewise.
      	* calls.c (struct arg_data): Update comment.
      	* defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* target.def (function_arg_boundary): Define.
      	* targhooks.h (default_function_arg_boundary): Declare.
      	* targhooks.c (default_function_arg_boundary): Define.
      	* doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
      	TARGET_FUNCTION_ARG_BOUNDARY.
      	(FUNCTION_ARG_BOUNDARY): Delete.
      	(TARGET_FUNCTION_ARG_BOUNDARY): New.
      	* doc/tm.texi: Regenerate.
      	* system.h (FUNCTION_ARG_BOUNDARY): Poison.
      	* config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/arc/arc.c (arc_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
      	* config/arm/arm.c (arm_needs_doubleword_align): Make static.
      	(arm_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
      	* config/frv/frv.c (frv_function_arg_boundary): Make static.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
      	* config/i386/i386.c (ix86_function_arg_boundary): Make static.
      	(ix86_compat_function_arg_boundary): Take and return unsigned int.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
      	* config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/m32c/m32c.c (m32c_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/mcore/mcore.c (mcore_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
      	* config/mips/mips.c (mips_function_arg_boundary): Make static.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/pa/pa.c (pa_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/picochip/picochip-protos.h
      	(picochip_get_function_arg_boundary): Delete.
      	* config/picochip/picochip.c (picochip_get_function_arg_boundary):
      	Rename to...
      	(picochip_function_arg_boundary): ...this.  Make static.
      	(picochip_function_arg, picochip_arg_partial_bytes): Adjust.
      	(picochip_arg_advance): Adjust.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
      	* config/rs6000/rs6000.c (function_arg_boundary): Rename to...
      	(rs6000_function_arg_boundary): ...this.  Make static.
      	(rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/rx/rx.c (rx_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/sparc/sparc.c (sparc_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
      	* config/xtensa/xtensa.c (function_arg_boundary): Rename to...
      	(xtensa_function_arg_boundary): ...this.  Make static.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      
      From-SVN: r166803
      Nathan Froyd committed
  5. 05 Nov, 2010 1 commit
    • defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG, [...]): Remove. · c243beb0
      	* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
      	WORD_SWITCH_TAKES_ARG): Remove.
      	* doc/options.texi (Args): Document.
      	* doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
      	* doc/tm.texi: Regenerate.
      	* opt-functions.awk (switch_flags): Handle Args.
      	* opts-common.c: Update comment on tm.h include.
      	(decode_cmdline_option): Handle options with multiple arguments.
      	Don't check WORD_SWITCH_TAKES_ARG for unknown options.
      	* opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK):
      	Define.
      	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
      	CL_COMMON): Update values.
      	* system.h (WORD_SWITCH_TAKES_ARG): Poison.
      	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
      	* config/darwin.opt (Zsegaddr, sectalign, sectcreate,
      	sectobjectsymbols, sectorder, segcreate, segprot): New.
      
      From-SVN: r166359
      Joseph Myers committed
  6. 01 Nov, 2010 2 commits
    • common.opt (R, [...]): New. · 6d721f67
      	* common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
      	* defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
      	(DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
      	* doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
      	(WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
      	Document that options in .opt files do not need to be included.
      	* doc/tm.texi: Regenerate.
      	* gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
      	* opts-common.c: Update comment on tm.h include.
      	(decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
      	* system.h (SWITCH_TAKES_ARG): Poison.
      	* config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
      	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
      	in darwin.opt.
      	(LINK_COMMAND_SPEC_A): Don't include %{x}.
      	* config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
      	* config/freebsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
      	* config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
      	* config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T
      	options.
      	* config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
      	* config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
      	* config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
      	* config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/openbsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
      	* config/score/score.h (SWITCH_TAKES_ARG): Remove.
      	* config/sol2.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
      	* config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
      
      From-SVN: r166155
      Joseph Myers committed
    • defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef GCC_INSN_FLAGS_H. · 7894073c
      2010-11-01  Steve Ellcey  <sje@cup.hp.com>
      
      	* defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
      	GCC_INSN_FLAGS_H.
      	* libgcov.c (__gcov_indirect_call_profiler): Set
      	VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
      	defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
      
      From-SVN: r166145
      Steve Ellcey committed
  7. 11 Oct, 2010 1 commit
    • re PR middle-end/45862 (SUPPORTS_WEAK is documented as a C expression, used as a… · 74b90fe2
      re PR middle-end/45862 (SUPPORTS_WEAK is documented as a C expression, used as a compile time constant)
      
      	PR middle-end/45862
      	* doc/tm.texi.in (SUPPORTS_WEAK): Update.
      	(TARGET_SUPPORTS_WEAK): New.
      	* doc/tm.texi: Regenerate.
      	* defaults.h (SUPPORTS_WEAK): Update comment.
      	(TARGET_SUPPORTS_WEAK): New.
      	* dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
      	* varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
      	SUPPORTS_WEAK.
      	(merge_weak, declare_weak, do_assemble_alias, supports_one_only,
      	make_decl_one_only): Likewise.
      	* config/pa/som.h (SUPPORTS_WEAK): Rename defines to
      	TARGET_SUPPORTS_WEAK.
      	(SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
      	instead of SUPPORTS_WEAK.
      
      From-SVN: r165319
      John David Anglin committed
  8. 28 Sep, 2010 1 commit
  9. 14 Sep, 2010 1 commit
    • Turn UNITS_PER_SIMD_WORD into a target hook. · 26983c22
      2010-09-14  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* defaults.h (UNITS_PER_SIMD_WORD): Removed.
      	* config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
      
      	* target.def: Add units_per_simd_word to vectorize.
      
      	* targhooks.c (default_units_per_simd_word): New.
      	* targhooks.h (default_units_per_simd_word): Likewise.
      	* config/arm/arm.c (arm_units_per_simd_word): Likewise.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
      	* config/mips/mips.c (mips_units_per_simd_word): Likewise.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
      	* config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
      	* config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
      
      	* tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with
      	TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments.
      
      	* tree-vect-stmts.c (get_vectype_for_scalar_type): Replace
      	UNITS_PER_SIMD_WORD with targetm.vectorize.units_per_simd_word.
      
      	* system.h (UNITS_PER_SIMD_WORD): Poisoned.
      
      	* config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
      
      	* config/i386/i386.c (ix86_units_per_simd_word): Make it
      	static.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
      
      	* doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD.  Add
      	TARGET_VECTORIZE_UNITS_PER_SIMD_WORD.
      
      	* doc/tm.texi: Regenerated.
      
      From-SVN: r164285
      H.J. Lu committed
  10. 09 Sep, 2010 1 commit
    • configure.ac (gnu_indirect_function): New test. · ba885ec5
      	* configure.ac (gnu_indirect_function): New test.
      	* configure: Rebuilt.
      	* config.in (HAVE_GAS_INDIRECT_FUNCTION): New.
      	* defaults.h (IFUNC_ASM_TYPE): Provide default.
      
      	* doc/extend.texi (Function Attributes): Document ifunc.
      	* varasm.c (do_assemble_alias): Deal with ifuncs too.
      
      	c-family/
      	* c-common.c (handle_alias_ifunc_attribute): New, broken out of	...
      	(handle_alias_attribute): ... here.
      	(handle_ifunc_attribute): New.
      
      	testsuite/
      	* lib/target-supports-dg.exp (dg-require-ifunc): New.
      	* lib/target-supports.exp (check_ifunc_available): New.
      	* gcc.dg/attr-ifunc-1.c: New.
      	* gcc.dg/attr-ifunc-2.c: New.
      	* gcc.dg/attr-ifunc-3.c: New.
      	* gcc.dg/attr-ifunc-4.c: New.
      	* gcc.dg/attr-ifunc-5.c: New.
      	* testsuite/g++.dg/ext/attr-ifunc-1.C
      	* testsuite/g++.dg/ext/attr-ifunc-2.C
      	* testsuite/g++.dg/ext/attr-ifunc-3.C
      	* testsuite/g++.dg/ext/attr-ifunc-4.C
      
      From-SVN: r164110
      Nathan Sidwell committed
  11. 03 Sep, 2010 1 commit
    • options.texi (SeparateAlias): Document. · d1583032
      	* doc/options.texi (SeparateAlias): Document.
      	* opt-functions.awk (switch_flags): Handle SeparateAlias.
      	* opth-gen.awk: Generate enumeration names for options marked
      	SeparateAlias, but not for those marked Ignore.
      	* opts-common.c (generate_canonical_option): Don't output separate
      	argument for options marked CL_SEPARATE_ALIAS.
      	(decode_cmdline_option): Handle CL_SEPARATE_ALIAS.
      	* opts.h (CL_SEPARATE_ALIAS): New.
      	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
      	CL_COMMON): Adjust definitions.
      	* config/i386/darwin.opt, config/mips/sde.opt: New.
      	* common.opt (fdump-final-insns): New.
      	* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
      	i386/darwin.opt.
      	(mips*-sde-elf*): Add mips/sde.opt.
      	* config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle
      	-mno-data-in-code and -mcode-xonly here.
      	* defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'.
      	* gcc.c (option_map): Add "j" to --dump entry.
      	(translate_options): Don't translate -d to -foutput-class-dir=
      	here.
      
      java:
      	* lang.opt (d): New.
      
      testsuite:
      	* gcc.dg/opts-4.c: New test.
      
      From-SVN: r163844
      Joseph Myers committed
  12. 20 Aug, 2010 1 commit
    • tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to be zero or nonzero. · f8fe0a4a
      2010-08-20  Joseph Myers  <joseph@codesourcery.com>
      
      	gcc/
      	* doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
      	be zero or nonzero.
      	* doc/tm.texi: Regenerate.
      	* defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
      	* df-scan.c (df_get_exit_block_use_set), reginfo.c
      	(init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
      	Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
      	* config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
      	to 1.
      
      From-SVN: r163399
      Joseph Myers committed
  13. 03 Aug, 2010 1 commit
    • alpha.h (SWITCH_TAKES_ARG): Define. · 1890bccc
      	* config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
      	* config/alpha/osf5.h (LIB_SPEC): Don't handle -a.
      	* config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G*
      	options.
      	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework.
      	* config/ia64/ia64.h (SWITCH_TAKES_ARG): Define.
      	* config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove.
      	* config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using
      	DEFAULT_SWITCH_TAKES_ARG.
      	* config/rx/rx.opt (-patch=): Remove option.
      	* config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_.
      	* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib.
      	* doc/invoke.texi (RX Options): Remove -patch=.
      	* gcc.c (cc1_options): Pass -aux-info* instead of -a* options.
      	(option_map): Remove --profile-blocks, --quiet and --silent.
      
      ada:
      	* gcc-interface/lang-specs.h: Don't pass -a options.
      
      c-family:
      	* c.opt (-print-pch-checksum): Remove option.
      	* c-opts.c (c_common_handle_option): Don't handle
      	OPT_print_pch_checksum.
      
      From-SVN: r162838
      Joseph Myers committed
  14. 28 Jul, 2010 1 commit
    • darwin-driver.c (SWITCH_TAKES_ARG, [...]): Remove. · eea13ead
      	* config/darwin-driver.c (SWITCH_TAKES_ARG,
      	WORD_SWITCH_TAKES_ARG): Remove.
      	* cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
      	* defaults.h (DEFAULT_SWITCH_TAKES_ARG,
      	DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h.
      	(SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default
      	definitions from gcc.c.
      	* gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to
      	defaults.h.
      	* gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG):
      	Move to defaults.h.
      	* opts-common.c: Include tm.h.
      	(decode_cmdline_option): Use SWITCH_TAKES_ARG and
      	WORD_SWITCH_TAKES_ARG to count arguments to unknown options.
      	Handle more than one argument.  Set canonical_option_num_elements.
      	(decode_cmdline_options_to_array): Set
      	canonical_option_num_elements and trailing elements of
      	canonical_option.
      	* opts.h (struct cl_decoded_option): Allow four elements in
      	canonical_option.  Add field canonical_option_num_elements.
      	* Makefile.in (opts-common.o): Update dependencies.
      
      ada:
      	* gcc-interface/misc.c (gnat_init_options): Ignore erroneous
      	options.  Check canonical_option_num_elements on options copied.
      
      fortran:
      	* gfortranspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      
      From-SVN: r162620
      Joseph Myers committed
  15. 13 Jul, 2010 1 commit
  16. 12 Jul, 2010 2 commits
    • defaults.h (MAX_MOVE_MAX, [...]): Define if not defined. · bcbaaba1
      gcc/
      	* defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
      	* libgcc2.c (MIN_UNITS_PER_WORD): Delete.
      	* hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
      	(no_caller_save_reg_set): Redefine as a macro.
      	* reload.h (target_reload): Add x_caller_save_initialized_p and
      	x_regno_save_mode.
      	(caller_save_initialized_p): Redefine as a macro.
      	* caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
      	(MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
      	(regno_save_mode): Redefine as a macro.
      
      From-SVN: r162095
      Richard Sandiford committed
    • tm.texi.in (SWITCHABLE_TARGET): Document. · 3bd36029
      gcc/
      	* doc/tm.texi.in (SWITCHABLE_TARGET): Document.
      	* doc/tm.texi: Regenerate.
      	* Makefile.in (OBJS-common): Add target-globals.o.
      	(gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
      	and target-globals.h.
      	(target-globals.o): New rule.
      	(GTFILES): Include $(srcdir)/target-globals.h.
      	* defaults.h (SWITCHABLE_TARGET): Define.
      	* gengtype.c (open_base_files): Add target-globals.h to the
      	list of includes.
      	* target-globals.h: New file.
      	* target-globals.c: Likewise.
      
      	* Makefile.in (target-globals.o): Depend on $(FLAGS_H).
      	* flags.h (target_flag_state): New structure.
      	(default_target_flag_state): Declare.
      	(this_target_flag_state): Declare as a variable or define as a macro.
      	(align_loops_log): Redefine as a macro.
      	(align_loops_max_skip, align_jumps_log): Likewise.
      	(align_jumps_max_skip, align_labels_log): Likewise.
      	(align_labels_max_skip, align_functions_log): Likewise.
      	* toplev.c (default_target_flag_state): New variable.
      	(this_target_flag_state): New conditional variable.
      	(align_loops_log): Delete.
      	(align_loops_max_skip, align_jumps_log): Likewise.
      	(align_jumps_max_skip, align_labels_log): Likewise.
      	(align_labels_max_skip, align_functions_log): Likewise.
      	* target-globals.h (this_target_flag_state): Declare.
      	(target_globals): Add a flag_state field.
      	(restore_target_globals): Copy the flag_state field to
      	this_target_flag_state.
      	* target-globals.c: Include flags.h.
      	(default_target_globals): Initialize the flag_state field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162086
      Richard Sandiford committed
  17. 08 Jul, 2010 1 commit
    • i386-protos.h (ix86_asm_output_function_label): New prototype. · 135a687e
      2010-07-08  Kai Tietz  <kai.tietz@onevision.com>
      
      	* config/i386/i386-protos.h (ix86_asm_output_function_label):
      	New prototype.
      	* config/i386/i386.c (ix86_function_ms_hook_prologue): Check
      	for NULL fntype argument and allow 64-bit targets.
      	(ix86_asm_output_function_label): New function.
      	(ix86_expand_prologue): Handle 64-bit ms hook prologue.
      	(ix86_handle_fndecl_attribute): Likewise.
      	* doc/extend.texi (ms_hook_prologue): Adjust documentation.
      	* doc/doc/tm.texi: Regenerated.
      	* doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
      	(ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
      	* defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
      	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
      	ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
      	* config/elfos.h: Likewise.
      	* config/i386/cygming.h: Likewise.
      	* config/netbsd-aout.h: Likewise.
      	* config/openbsd.h: Likewise.
      	* config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
      	by ix86_asm_output_function_label function call.
      	* varasm.c (assemble_start_function): Use
      	ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
      
      From-SVN: r161971
      Kai Tietz committed
  18. 27 Jun, 2010 1 commit
    • target.h (struct gcc_target): Add register_move_cost field. · de8f4b07
      	* target.h (struct gcc_target): Add register_move_cost field.
      	* target-def.h (TARGET_REGISTER_MOVE_COST): New.
      	(TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
      	* targhooks.c (default_register_move_cost): New function.
      	* targhooks.h (default_register_move_cost): Declare function.
      	* defaults.h (REGISTER_MOVE_COST): Delete.
      	* ira-int.h (ira_register_move_cost): Update comment.
      	* ira.c: (ira_register_move_cost): Update comment.
      	* reload.h (register_move_cost): Declare.
      	* reginfo.c (register_move_cost): New function.
      	(move_cost): Update comment.
      	(init_move_cost, memory_move_secondary_cost): Replace
      	REGISTER_MOVE_COST with register_move_cost.
      	* postreload.c (reload_cse_simplify_set): (Ditto.).
      	* reload.c (find_valid_class, find_reloads): (Ditto.).
      	* reload1.c (choose_reload_regs): (Ditto.).
      	* doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
      	(REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
      	* doc/md.texi (can_create_pseudo_p): Update documentation.
      
      	* config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
      	* config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
      	* config/i386/i386.h (ix86_memory_move_cost): Make static.
      	(TARGET_MEMORY_MOVE_COST): Define.
      
      	* config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
      	* config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
      	* config/ia64/ia64.h (ia64_memory_move_cost): Make static.
      	(TARGET_MEMORY_MOVE_COST): Define.
      
      From-SVN: r161470
      Anatoly Sokolov committed
  19. 10 Jun, 2010 1 commit
    • Makefile.in (READ_MD_H): New variable. · 10692477
      gcc/
      	* Makefile.in (READ_MD_H): New variable.
      	(BUILD_RTL): Add build/read-md.o.
      	(lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
      	(build/gensupport.o, build/read-rtl.o, build/genattr.o)
      	(build/genattrtab.o, build/genconditions.o build/genemit.o)
      	(build/genextract.o, build/genflags.o, build/genoutput.o)
      	(build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
      	(build/read-md.o): New rule.
      	* defaults.h (obstack_chunk_alloc, obstack_chunk_free)
      	(OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
      	* coretypes.h: ...here.
      	* lto-wrapper.c: Include coretypes.h instead of defaults.h.
      	* pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
      	* genattr.c: Include read-md.h.
      	* genattrtab.c: Likewise.
      	* genconditions.c: Likewise.
      	* genemit.c: Likewise.
      	* genextract.c: Likewise.
      	* genflags.c: Likewise.
      	* genoutput.c: Likewise.
      	* genpreds.c: Likewise.
      	* genrecog.c: Likewise.
      	* rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
      	(join_c_conditions, print_c_condition, read_rtx_filename)
      	(read_rtx_lineno): Move to read-md.h.
      	* read-rtl.c: Include read-md.h.
      	(ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
      	(joined_conditions, joined_conditions_obstack, read_rtx_lineno)
      	(read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
      	(leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
      	(copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
      	(print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
      	(read_braced_string, read_string): Move to read-md.c.
      	(read_rtx): Move some initialization to init_md_reader and call
      	init_md_reader here.
      	* gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
      	Move to read-md.h.
      	* gensupport.c: Include read-md.h.
      	(message_with_line, n_comma_elts, scan_comma_elt): Move to
      	read-md.c.
      	* read-md.h, read-md.c: New files.
      
      From-SVN: r160570
      Richard Sandiford committed
  20. 07 Jun, 2010 1 commit
    • common.opt (fira-verbose): Use Var. · 5498f011
      	* common.opt (fira-verbose): Use Var.
      	(fpcc-struct-return): Use Init instead of VarExists.
      	* defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
      	toplev.c.
      	* flags.h (flag_signed_char, flag_short_enums,
      	flag_pcc_struct_return, flag_ira_verbose,
      	flag_detailed_statistics, flag_remove_unreachable_functions):
      	Remove.
      	* toplev.c (flag_detailed_statistics, flag_signed_char,
      	flag_short_enums, flag_pcc_struct_return, flag_ira_verbose):
      	Remove.
      	(DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
      	* toplev.h (flag_crossjumping, flag_if_conversion,
      	flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
      	flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
      	flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
      	flag_cprop_registers, time_report, flag_ira_loop_pressure,
      	flag_ira_coalesce, flag_ira_move_spills,
      	flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
      
      c-family:
      	* c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
      	flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
      	flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
      	flag_signed_bitfields, warn_strict_null_sentinel,
      	flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
      	flag_gen_declaration, flag_no_gnu_keywords,
      	flag_implement_inlines, flag_implicit_templates,
      	flag_implicit_inline_templates, flag_optional_diags,
      	flag_elide_constructors, flag_default_inline, flag_rtti,
      	flag_conserve_space, flag_access_control, flag_check_new,
      	flag_new_for_scope, flag_weak, flag_working_directory,
      	flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
      	flag_enforce_eh_specs, flag_threadsafe_statics,
      	flag_pretty_templates): Remove.
      	* c-common.h (flag_preprocess_only, flag_nil_receivers,
      	flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
      	flag_replace_objc_classes, flag_undef, flag_no_builtin,
      	flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
      	flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
      	flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
      	flag_no_gnu_keywords, flag_implement_inlines,
      	flag_implicit_templates, flag_implicit_inline_templates,
      	flag_optional_diags, flag_elide_constructors, flag_default_inline,
      	flag_rtti, flag_conserve_space, flag_access_control,
      	flag_check_new, flag_new_for_scope, flag_weak,
      	flag_working_directory, flag_use_cxa_atexit,
      	flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
      	flag_threadsafe_statics, flag_pretty_templates,
      	warn_strict_null_sentinel): Remove.
      	* c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
      	fbuiltin, fcheck-new, fconserve-space, felide-constructors,
      	fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
      	fimplicit-inline-templates, fimplicit-templates,
      	flax-vector-conversions, fms-extensions, fnil-receivers,
      	fnonansi-builtins, fpretty-templates, freplace-objc-classes,
      	frtti, fshort-double, fshort-enums, fshort-wchar,
      	fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
      	funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
      	fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
      	gen-decls, undef): Use Var.
      	(fdefault-inline, foptional-diags): Document as doing nothing.
      	* c-opts.c (c_common_handle_option): Remove cases for options now
      	using Var.  Mark ignored options as such.
      
      fortran:
      	* lang.opt (fshort-enums): Define using Var and VarExists.
      	* options.c (gfc_handle_option): Don't set flag_short_enums here.
      
      lto:
      	* lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
      	(lto_handle_option): Don't set flag_signed_char here.
      
      From-SVN: r160384
      Joseph Myers committed
  21. 03 Jun, 2010 1 commit
    • Check MAX_FIXED_MODE_SIZE on bit-field in C++. · 1c314335
      gcc/ada/
      
      2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/44294
      	* gcc-interface/decl.c (MAX_FIXED_MODE_SIZE): Removed.
      
      gcc/cp/
      
      2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/44294
      	* class.c (layout_class_type): Check MAX_FIXED_MODE_SIZE on
      	bit-field.
      
      gcc/
      
      2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/44294
      	* defaults.h (MAX_FIXED_MODE_SIZE): New.
      
      	* stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
      
      From-SVN: r160229
      H.J. Lu committed
  22. 02 Jun, 2010 1 commit
    • mkconfig.sh: Include insn-flags.h and insn-constants.h before defaults.h. · 77ec4307
      	* mkconfig.sh: Include insn-flags.h and insn-constants.h before
      	defaults.h.
      	* except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
      	to defaults.h
      	* expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
      	DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
      	FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
      	STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
      	STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
      	STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
      	STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
      	STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
      	* defaults.h: Updated for above mentioned changes.
      
      From-SVN: r160195
      Steven Bosscher committed
  23. 24 Mar, 2010 1 commit
    • re PR target/38118 (gcc emits non-TLS data as TLS on Solaris 11/SPARC) · f1c26cad
      	* configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
      	and Sun as TLS syntax.
      	(TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* varasm.c (TLS_SECTION_ASM_FLAG): Define default.
      	(default_elf_asm_named_section): Use it.
      	* config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
      	(i386_output_dwarf_dtprel): Likewise.
      	(output_addr_const_extra): Likewise.
      	(output_pic_addr_const): Lowercase @GOTTPOFF.
      	(output_addr_const_extra): Likewise.
      	(output_pic_addr_const): Lowercase @GOTNTPOFF.
      	(output_addr_const_extra): Likewise.
      	(output_pic_addr_const): Lowercase @INDNTPOFF.
      	(output_addr_const_extra): Likewise.
      	(output_pic_addr_const): Lowercase @NTPOFF.
      	(output_addr_const_extra): Likewise.
      	(output_pic_addr_const): Lowercase @TPOFF.
      	(output_addr_const_extra): Likewise.
      	* config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase
      	@TLSGD.
      	(*tls_global_dynamic_64): Likewise.
      	(*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
      	(*tls_local_dynamic_base_64): Lowercase	@TLSLD.
      
      	* defaults.h (TLS_COMMON_ASM_OP): Provide default.
      	(ASM_OUTPUT_TLS_COMMON): Use it.
      	* config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
      
      	PR target/38118
      	* config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to
      	tm_file.
      	* config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
      	* config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
      	* config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
      	* config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
      
      From-SVN: r157705
      Rainer Orth committed
  24. 22 Dec, 2009 1 commit
  25. 25 Nov, 2009 1 commit
    • Remove trailing white spaces. · b8698a0f
      2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* alias.c: Remove trailing white spaces.
      	* alloc-pool.c: Likewise.
      	* alloc-pool.h: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* builtins.def: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cif-code.def: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* dbgcnt.def: Likewise.
      	* dbgcnt.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* ddg.h: Likewise.
      	* defaults.h: Likewise.
      	* df-byte-scan.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* double-int.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2asm.h: Likewise.
      	* dwarf2out.c: Likewise.
      	* ebitmap.c: Likewise.
      	* ebitmap.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-dump.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genchecksum.c: Likewise.
      	* genconfig.c: Likewise.
      	* genflags.c: Likewise.
      	* gengtype-parse.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genmddeps.c: Likewise.
      	* genmodes.c: Likewise.
      	* genopinit.c: Likewise.
      	* genpreds.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.def: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graphds.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* gthr-nks.h: Likewise.
      	* gthr-posix.c: Likewise.
      	* gthr-posix.h: Likewise.
      	* gthr-posix95.h: Likewise.
      	* gthr-single.h: Likewise.
      	* gthr-tpf.h: Likewise.
      	* gthr-vxworks.h: Likewise.
      	* gthr.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* hooks.c: Likewise.
      	* hooks.h: Likewise.
      	* hosthooks.h: Likewise.
      	* hwint.h: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* integrate.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa-type-escape.h: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lambda-code.c: Likewise.
      	* lambda-mat.c: Likewise.
      	* lambda-trans.c: Likewise.
      	* lambda.h: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* libgcov.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto-wpa-fixup.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omega.h: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* opts-common.c: Likewise.
      	* opts.c: Likewise.
      	* params.def: Likewise.
      	* params.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* predict.def: Likewise.
      	* pretty-print.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-dump.h: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sel-sched.h: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* stub-objc.c: Likewise.
      	* sync-builtins.def: Likewise.
      	* target-def.h: Likewise.
      	* target.h: Likewise.
      	* targhooks.c: Likewise.
      	* targhooks.h: Likewise.
      	* timevar.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* toplev.h: Likewise.
      	* tracer.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-affine.h: Likewise.
      	* tree-browser.def: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-loop-linear.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-operands.h: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* treestruct.def: Likewise.
      	* unwind-compat.c: Likewise.
      	* unwind-dw2-fde-glibc.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vec.c: Likewise.
      	* vec.h: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* xcoffout.c: Likewise.
      
      From-SVN: r154645
      H.J. Lu committed
  26. 04 Nov, 2009 1 commit
    • defaults.h (CONSTANT_ADDRESS_P): Provide a default definition. · 4003023f
              * defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
              Make sure that it does not allow CONST_DOUBLEs.
              * doc/tm.texi (CONSTANT_ADDRESS_P): Update description.
              * config/avr/avr.h (CONSTANT_ADDRESS_P): Delete.
              * config/bfin/bfin.h (CONSTANT_ADDRESS_P): Delete.
              * config/cris/cris.h (CONSTANT_ADDRESS_P): Delete.
              * config/fr30/fr30.h (CONSTANT_ADDRESS_P): Delete.
              * config/frv/frv.h (CONSTANT_ADDRESS_P): Delete.
              * config/m32c/m32c.h (CONSTANT_ADDRESS_P): Delete.
              * config/m68hc11/m68hc11.h (CONSTANT_ADDRESS_P): Delete.
              * config/mep/mep.h (CONSTANT_ADDRESS_P): Delete.
              * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Delete.
              * config/moxie/moxie.h (CONSTANT_ADDRESS_P): Delete.
              * config/pdp11/pdp11.h (CONSTANT_ADDRESS_P): Delete.
              * config/picochip/picochip.h (CONSTANT_ADDRESS_P): Delete.
              * config/score/score.h (CONSTANT_ADDRESS_P): Delete.
              * config/stormy16/stormy16.h (CONSTANT_ADDRESS_P): Delete.
      
      From-SVN: r153894
      Nick Clifton committed
  27. 25 Aug, 2009 1 commit
    • hooks.h (hook_bool_const_int_const_int_true): Declare. · 7b5cbb57
      	* hooks.h (hook_bool_const_int_const_int_true): Declare.
      	* hooks.c (hook_bool_const_int_const_int_true): New function.
      	* target.h (struct gcc_target): Add can_eliminate field.
      	* target-def.h (TARGET_CAN_ELIMINATE): Define.
      	(TARGET_INITIALIZER): Use TARGET_CAN_ELIMINATE.
      	* ira.c (setup_eliminable_regset): Use can_eliminate target hook.
      	* reload1.c (update_eliminables, init_elim_table): (Ditto.).
      	(elim_table): Revise comment.
      	* system.h (CAN_ELIMINATE): Poison.
      	* defaults.h (CAN_ELIMINATE): Remove.
      	* doc/tm.texi (CAN_ELIMINATE): Revise documentation.
      
      	* config/alpha/vms.h (CAN_ELIMINATE): Remove macro.
      	* config/alpha/alpha.c (TARGET_CAN_ELIMINATE) [TARGET_ABI_OPEN_VMS]:
      	Define macro.
      	(alpha_vms_can_eliminate): Declare as static, change return type to
      	bool.
      	* config/alpha/alpha-protos.h (alpha_vms_can_eliminate): Remove.
      
      	* config/arm/arm.h (CAN_ELIMINATE): Remove macro.
      	* config/arm/arm.c (TARGET_CAN_ELIMINATE): Define macro.
      	(arm_can_eliminate): New function.
      
      	* config/avr/avr.h (CAN_ELIMINATE): Remove macro.
      	* config/avr/avr.c (TARGET_CAN_ELIMINATE): Define macro.
      	(avr_can_eliminate): Declare as static.
      	* config/avr/avr-protos.h (avr_can_eliminate): Remove.
      
      	* config/bfin/bfin.h (CAN_ELIMINATE): Remove macro.
      	* config/bfin/bfin.c (TARGET_CAN_ELIMINATE): Define macro.
      	(bfin_can_eliminate): New function.
      
      	* config/crx/crx.h (CAN_ELIMINATE): Remove macro.
      	* config/crx/crx.c (TARGET_CAN_ELIMINATE): Define macro.
      	(crx_can_eliminate): New function.
      	
      	* config/fr30/fr30.h (CAN_ELIMINATE): Remove macro.
      	* config/fr30/fr30.c (TARGET_CAN_ELIMINATE): Define macro.
      	(fr30_can_eliminate): New function.
      
      	* config/frv/frv.h (CAN_ELIMINATE): Remove macro.
      	* config/frv/frv.c (TARGET_CAN_ELIMINATE): Define macro.
      	(frv_can_eliminate): New function.
      
      	* config/h8300/h8300.h (CAN_ELIMINATE): Remove macro.
      	* config/h8300/h8300.c (TARGET_CAN_ELIMINATE): Define macro.
      	(h8300_can_eliminate): New function.
      
      	* config/i386/i386.h (CAN_ELIMINATE): Remove macro.
      	* config/i386/i386.c (TARGET_CAN_ELIMINATE): Define macro.
      	(i386_can_eliminate): Declare as static, change return type to bool.
      	* config/i386/i386-protos.h (i386_can_eliminate): Remove.
      
      	* config/ia64/ia64.h (CAN_ELIMINATE): Remove macro.
      	* config/ia64/ia64.c (TARGET_CAN_ELIMINATE): Define macro.
      	(ia64_can_eliminate): New function.
      
      	* config/iq2000/iq2000.h (CAN_ELIMINATE): Remove macro.
      	* config/iq2000/iq2000.c (TARGET_CAN_ELIMINATE): Define macro.
      	(iq2000_can_eliminate): New function.
      
      	* config/m32r/m32r.h (CAN_ELIMINATE): Remove macro.
      	* config/m32r/m32r.c (TARGET_CAN_ELIMINATE): Define macro.
      	(m32r_can_eliminate): New function.
      
      	* config/m68hc11/m68hc11.h (CAN_ELIMINATE): Remove macro.
      	* config/m68hc11/m68hc11.c (TARGET_CAN_ELIMINATE): Define macro.
      	(m68hc11_can_eliminate): New function.
      
      	* config/m68k/m68k.h (CAN_ELIMINATE): Remove macro.
      	* config/m68k/m68k.c (TARGET_CAN_ELIMINATE): Define macro.
      	(m68k_can_eliminate): New function.
      
      	* config/mep/mep.h (CAN_ELIMINATE): Remove macro.
      	* config/mep/mep.c (TARGET_CAN_ELIMINATE): Define macro.
      	(mep_can_eliminate): New function.
      
      	* config/mips/mips.h (CAN_ELIMINATE): Remove macro.
      	* config/mips/mips.c (TARGET_CAN_ELIMINATE): Define macro.
      	(mips_can_eliminate): New function.
      
      	* config/rs6000/rs6000.h (CAN_ELIMINATE): Remove macro.
      	* config/rs6000/rs6000.c (TARGET_CAN_ELIMINATE): Define macro.
      	(rs6000_can_eliminate): New function.
      
      	* config/s390/s390.h (CAN_ELIMINATE): Remove macro.
      	* config/s390/s390.c (TARGET_CAN_ELIMINATE): Define macro.
      	(s390_can_eliminate): Declare as static.
      	* config/s390/s390-protos.h (sparc_can_eliminate): Remove.
      
      	* config/score/score.h (CAN_ELIMINATE): Remove macro.
      	* config/score/score.c (TARGET_CAN_ELIMINATE): Define macro.
      	(score_can_eliminate): New function.
      
      	* config/sparc/sparc.h (CAN_ELIMINATE): Remove macro.
      	* config/sparc/sparc.c (TARGET_CAN_ELIMINATE): Define macro.
      	(sparc_can_eliminate): Declare as static.
      	* config/sparc/sparc-protos.h (sparc_can_eliminate): Remove.
      
      	* config/stormy16/stormy16.h (CAN_ELIMINATE): Remove macro.
      	* config/stormy16/stormy16.c (TARGET_CAN_ELIMINATE): Define macro.
      	(xstormy16_can_eliminate): New function.
      
      	* config/v850/v850.h (CAN_ELIMINATE): Remove macro.
      	* config/v850/v850.c (TARGET_CAN_ELIMINATE): Define macro.
      	(v850_can_eliminate): New function.
      
      From-SVN: r151096
      Anatoly Sokolov committed
  28. 11 Jul, 2009 1 commit
    • re PR target/40667 (stack frames are generated even with -fomit-frame-pointer) · ae58e548
      	PR rtl-optimization/40667
      	* defaults.h (MINIMUM_ALIGNMENT): Define if not defined.
      	* doc/tm.texi (MINIMUM_ALIGNMENT): Document it.
      	* config/i386/i386.h (MINIMUM_ALIGNMENT): Define.
      	* config/i386/i386.c (ix86_minimum_alignment): New function.
      	* config/i386/i386-protos.h (ix86_minimum_alignment): New prototype.
      	* cfgexpand.c (expand_one_var): Use MINIMIM_ALIGNMENT.
      	* emit-rtl.c (gen_reg_rtx): Likewise.
      	* function.c (assign_parms): Likewise.  If nominal_type needs
      	bigger alignment than FUNCTION_ARG_BOUNDARY, use its alignment
      	rather than passed_type's alignment.
      
      From-SVN: r149513
      Jakub Jelinek committed
  29. 29 Jun, 2009 1 commit
    • target.h (struct gcc_target): Add frame_pointer_required field. · b52b1749
      	* target.h (struct gcc_target): Add frame_pointer_required field.
      	* target-def.h (TARGET_FRAME_POINTER_REQUIRED): New.
      	(TARGET_INITIALIZER): Use TARGET_FRAME_POINTER_REQUIRED.
      	* ira.c (setup_eliminable_regset): Use frame_pointer_required target
      	hook.
      	* reload1.c (update_eliminables): (Ditto.).
      	* gcc/system.h (FRAME_POINTER_REQUIRED): Poison.
      	* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
      	(INITIAL_FRAME_POINTER_OFFSET): (Ditto.).
      
      	* config/arc/arc.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/arm/arm.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/arm/arm.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      	(arm_frame_pointer_required): New function.
      
      	* config/avr/avr.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/avr/avr.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(avr_frame_pointer_required_p): Declare as static.
      	* config/avr/avr-protos.h (avr_frame_pointer_required_p): Remove.
      
      	* config/bfin/bfin.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/bfin/bfin.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      	(bfin_frame_pointer_required): Make as static, change return type
      	to bool.
      	* config/bfin/bfin-protos.h (bfin_frame_pointer_required): Remove.
      
      	* config/cris/cris.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/cris/cris.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(cris_frame_pointer_required): New function.
      	
      	* config/crx/crx.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/fr30/fr30.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/fr30/fr30.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(fr30_frame_pointer_required): New function.
      	
      	* config/frv/frv.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/frv/frv.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      	(frv_frame_pointer_required): Make as static, change return type
      	to bool.
      	* config/bfin/bfin-protos.h (frv_frame_pointer_required): Remove.
      
      	* config/i386/i386.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/i386/i386.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(ix86_frame_pointer_required): Make as static, change return type to
      	bool.
      	* config/i386/i386-protos.h (ix86_frame_pointer_required): Remove.
      
      	* config/m32c/m32c.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/m32c/m32c.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      
      	* config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/mcore/mcore.h (CAN_ELIMINATE): Remove macro.
      	
      	* config/mep/mep.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/mips/mips.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/mips/mips.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(mips_frame_pointer_required): Make as static.
      	* config/mips/mips-protos.h (mips_frame_pointer_required): Remove.
      	
      	* config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/mmix/mmix.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(mmix_frame_pointer_required): Mew function.
      
      	* config/moxie/moxie.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/moxie/moxie.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      
      	* config/pa/pa.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/score/score.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/sh/sh.h (CAN_ELIMINATE): Remove macro.
      
      	* config/sparc/sparc.h (FRAME_POINTER_REQUIRED): Remove macro.
      	(CAN_ELIMINATE): Redefine.
      	* config/sparc/sparc.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(sparc_frame_pointer_required): New function.
      	(sparc_can_eliminate): New function.
      	* config/sparc/sparc-protos.h (sparc_can_eliminate): Declare.
      
      	* config/vax/vax.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/vax/vax.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      
      	* config/xtensa/xtensa.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/xtensa/xtensa.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      	(xtensa_frame_pointer_required): Make as static, change return type
      	to bool.
      	* config/xtensa/xtensa-protos.h (xtensa_frame_pointer_required):
      	Remove.
      
      From-SVN: r149065
      Anatoly Sokolov committed
  30. 24 Jun, 2009 1 commit
    • defaults.h (CAN_ELIMINATE): Provide default. · 3be639f7
      	* defaults.h (CAN_ELIMINATE): Provide default.
      	* doc/tm.texi (CAN_ELIMINATE): Revise documentation.
      	* config/alpha/alpha.h (CAN_ELIMINATE): Delete.
      	* config/m32c/m32c.h (CAN_ELIMINATE): Delete.
      	* config/spu/spu.h (CAN_ELIMINATE): Delete.
      	* config/xtensa/xtensa.h (CAN_ELIMINATE): Delete.
      	* config/moxie/moxie.h (CAN_ELIMINATE): Delete.
      	* config/cris/cris.h (CAN_ELIMINATE): Delete.
      	* config/mn10300/mn10300.h (CAN_ELIMINATE): Delete.
      	* config/pa/pa64-linux.h (CAN_ELIMINATE): Delete.
      	* config/mmix/mmix.h (CAN_ELIMINATE): Delete.
      
      From-SVN: r148919
      Anatoly Sokolov committed
  31. 17 Jun, 2009 1 commit
    • dbxout.c (dbxout_source_line): Add is_stmt parameter. · ed5ef2e4
      	* dbxout.c (dbxout_source_line): Add is_stmt parameter.
      	Change caller.
      	* debug.c (struct gcc_debug_hooks): Change placeholder for
      	source_line hook.
      	(debug_nothing_int_charstar_int): Replaced by...
      	(debug_nothing_int_charstar_int_bool): ...this.
      	* debug.h (struct gcc_debug_hooks): Add is_stmt parameter to
      	source_line prototype.
      	(debug_nothing_int_charstar_int): Replaced by...
      	(debug_nothing_int_charstar_int_bool): ...this.
      	* defaults.h (SUPPORTS_DISCRIMINATOR): New constant.
      	* dwarf2out.c (dwarf2out_source_line): Add is_stmt parameter.
      	Output is_stmt operand when necessary.
      	* final.c (last_is_stmt): New variable.
      	(final_start_function): Initialize last_is_stmt.
      	(final_scan_insn): Pass is_stmt to source_line debug hook.
      	(notice_source_line): Add is_stmt parameter.
      	* sdbout.c (sdbout_source_line): Add is_stmt parameter.
      	* vmsdbgout.c (vmsdbgout_source_line): Add is_stmt parameter.
      	Change callers.
      	* xcoffout.c (xcoffout_source_line): Add is_stmt parameter.
      	* xcoffout.h (xcoffout_source_line): Add is_stmt parameter.
      
      From-SVN: r148635
      Cary Coutant committed
  32. 19 May, 2009 1 commit
    • * defaults.h (UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE) · 1ffc7157
      	(WCHAR_TYPE, MODIFIED_WCHAR_TYPE, PTRDIFF_TYPE, WINT_TYPE)
      	(INTMAX_TYPE, UINTMAX_TYPE, SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE)
      	(INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE)
      	(UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE)
      	(INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE)
      	(UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE)
      	(INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE)
      	(UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE)
      	(SIZE_TYPE, PID_TYPE, CHAR16_TYPE, CHAR32_TYPE): Move defaults here...
      	* c-common.c: ...from here.
      
      Co-Authored-By: Hans-Peter Nilsson <hp@axis.com>
      
      From-SVN: r147712
      Francois-Xavier Coudert committed
  33. 04 May, 2009 1 commit
    • tm.texi (LEGITIMIZE_ADDRESS): Revise documentation. · 506d7b68
      2009-05-04  Paolo Bonzini  <bonzini@gnu.org>
      
       	* doc/tm.texi (LEGITIMIZE_ADDRESS): Revise documentation.
      	* gcc/defaults.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/explow.c (memory_address): Use target hook.
      	* gcc/targhooks.c (default_legitimize_address): New.
      	* gcc/targhooks.h (default_legitimize_address): New.
      	* gcc/target.h (legitimize_address): New.
      	* gcc/target-def.h (TARGET_LEGITIMIZE_ADDRESS): New.
      	(TARGET_INITIALIZER): Include it.
      	* gcc/system.h (LEGITIMIZE_ADDRESS): Poison.
      
      	* config/bfin/bfin-protos.h (legitimize_address): Remove.
      	* config/bfin/bfin.c (legitimize_address): Remove.
      	* config/bfin/bfin.h (LEGITIMIZE_ADDRESS): Remove.
      	* config/m68hc11/m68hc11-protos.h (m68hc11_legitimize_address): Remove.
      	* config/m68hc11/m68hc11.c (m68hc11_legitimize_address): Remove.
      	* config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Remove.
      
      	* gcc/config/arm/arm.h (LEGITIMIZE_ADDRESS, ARM_LEGITIMIZE_ADDRESS,
      	THUMB_LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/s390/s390.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/m32c/m32c.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/sparc/sparc.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/m32r/m32r.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/i386/i386.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/sh/sh.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/avr/avr.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/iq2000/iq2000.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/mn10300/mn10300.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/m68k/m68k.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/score/score.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/pa/pa.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/mips/mips.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/frv/frv.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/spu/spu.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/xtensa/xtensa.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/cris/cris.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/rs6000/rs6000.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/picochip/picochip.h (LEGITIMIZE_ADDRESS): Delete.
      
      	* gcc/config/s390/s390-protos.h (legitimize_address): Delete.
      	* gcc/config/m32c/m32c-protos.h (m32c_legitimize_address): Delete.
      	* gcc/config/sparc/sparc-protos.h (legitimize_address): Delete.
      	* gcc/config/i386/i386-protos.h (legitimize_address): Delete.
      	* gcc/config/avr/avr-protos.h (legitimize_address): Delete.
      	* gcc/config/mn10300/mn10300-protos.h (legitimize_address): Delete.
      	* gcc/config/score/score-protos.h (score_legitimize_address): Delete.
      	* gcc/config/arm/arm-protos.h (arm_legitimize_address,
      	(thumb_legitimize_address): Delete.
      	* gcc/config/pa/pa-protos.h (hppa_legitimize_address): Delete.
      	* gcc/config/mips/mips-protos.h (mips_legitimize_address): Delete.
      	* gcc/config/alpha/alpha-protos.h (alpha_legitimize_address): Delete.
      	* gcc/config/frv/frv-protos.h (frv_legitimize_address): Delete.
      	* gcc/config/spu/spu-protos.h (spu_legitimize_address): Delete.
      	* gcc/config/xtensa/xtensa-protos.h (xtensa_legitimize_address): Delete.
      	* gcc/config/rs6000/rs6000-protos.h (rs6000_legitimize_address): Delete.
      
      	* config/arm/arm.c (arm_legitimize_address): Maybe call Thumb version.
      	* config/m32c/m32c.c (m32c_legitimize_address): Standardize.
      	* config/m32r/m32r.c (m32r_legitimize_address): New.
      	* config/m68k/m68k.c (m68k_legitimize_address): New.
      	* config/score/score.c (score_legitimize_address): Standardize.
      	* config/score/score3.c (score3_legitimize_address): Standardize.
      	* config/score/score3.h (score3_legitimize_address): Adjust.
      	* config/score/score7.c (score7_legitimize_address): Standardize.
      	* config/score/score7.h (score7_legitimize_address): Adjust.
      	* config/sh/sh.c (sh_legitimize_address): New.
      	* config/iq2000/iq2000.c (iq2000_legitimize_address): New.
      
      	* gcc/config/s390/s390.c (legitimize_address): Rename to...
       	(s390_legitimize_address): ... this.
      	* gcc/config/sparc/sparc.c (legitimize_address): Rename to...
      	(sparc_legitimize_address): ... this.
      	* gcc/config/i386/i386.c (legitimize_address): Rename to...
      	(ix86_legitimize_address): ... this.
      	* gcc/config/avr/avr.c (legitimize_address): Rename to...
      	(avr_legitimize_address): ... this.
      	* gcc/config/mn10300/mn10300.c (legitimize_address): Rename to...
      	(mn10300_legitimize_address): ... this.
      	* config/alpha/alpha.c (alpha_legitimize_address): Wrap...
      	(alpha_legitimize_address_1): ... the old alpha_legitimize_address.
      	(alpha_expand_mov): Adjust call.
      
      	* config/frv/frv.c (frv_legitimize_address): Return x on failure.
      	* config/spu/spu.c (spu_legitimize_address): Likewise.
      	* config/xtensa/xtensa.c (xtensa_legitimize_address): Likewise.
      	* config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
      
      From-SVN: r147098
      Paolo Bonzini committed
  34. 03 May, 2009 1 commit
    • defaults.h (FRAME_POINTER_REQUIRED): Provide default. · aea88c05
      	* defaults.h (FRAME_POINTER_REQUIRED): Provide default.
      	* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
      	* config/alpha/alpha.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/s390/s390.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/spu/spu.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/sh/sh.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/pdp11/pdp11.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/stormy16/stormy16.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/m68hc11/m68hc11.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/iq2000/iq2000.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/mn10300/mn10300.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/ia64/ia64.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/m68k/m68k.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/rs6000/rs6000.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/picochip/picochip.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/mcore/mcore.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/h8300/h8300.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/v850/v850.h (FRAME_POINTER_REQUIRED): Delete.
      
      From-SVN: r147072
      Anatoly Sokolov committed
  35. 22 Apr, 2009 1 commit
    • defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Provide empty default. · 3ad606bc
      2009-04-22  Paolo Bonzini  <bonzini@gnu.org>
      
      	* defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Provide empty default.
      	* config/frv/frv.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/s390/s390.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/spu/spu.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/crx/crx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/fr30/fr30.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/iq2000/iq2000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/picochip/picochip.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/score/score.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/arm/arm.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/mips/mips.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/v850/v850.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/mmix/mmix.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      
      From-SVN: r146548
      Paolo Bonzini committed
  36. 09 Apr, 2009 1 commit
  37. 30 Mar, 2009 1 commit
    • re PR middle-end/323 (optimized code gives strange floating point results) · 8ce94e44
      	PR rtl-optimization/323
      	* c-common.c (c_fully_fold, convert_and_check,
      	c_common_truthvalue_conversion): Handle EXCESS_PRECISION_EXPR.
      	(c_fully_fold_internal): Disallow EXCESS_PRECISION_EXPR.
      	* c-common.def (EXCESS_PRECISION_EXPR): New.
      	* c-cppbuiltin.c (builtin_define_float_constants): Define
      	constants with enough digits for long double.
      	* c-lex.c (interpret_float): Interpret constant with excess
      	precision where appropriate.
      	* c-opts.c (c_common_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for C++ for processors where the
      	option is significant.
      	* c-parser.c (c_parser_conditional_expression): Handle excess
      	precision in condition.
      	* c-typeck.c (convert_arguments): Handle arguments with excess
      	precision.
      	(build_unary_op): Move excess precision outside operation.
      	(build_conditional_expr): Likewise.
      	(build_compound_expr): Likewise.
      	(build_c_cast): Do cast on operand of EXCESS_PRECISION_EXPR.
      	(build_modify_expr): Handle excess precision in RHS.
      	(convert_for_assignment): Handle excess precision in converted
      	value.
      	(digest_init, output_init_element, process_init_element): Handle
      	excess precision in initializer.
      	(c_finish_return): Handle excess precision in return value.
      	(build_binary_op): Handle excess precision in operands and add
      	excess precision as needed for operation.
      	* common.opt (-fexcess-precision=): New option.
      	* config/i386/i386.h (X87_ENABLE_ARITH, X87_ENABLE_FLOAT): New.
      	* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
      	For standard excess precision, output explicit conversion to and
      	truncation from XFmode.
      	(*float<SSEMODEI24:mode><X87MODEF:mode>2_1,
      	*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp,
      	*float<SSEMODEI24:mode><X87MODEF:mode>2_i387, two unnamed
      	define_splits, floatdi<X87MODEF:mode>2_i387_with_xmm, two unnamed
      	define_splits, *floatunssi<mode>2_1, two unnamed define_splits,
      	floatunssi<mode>2, add<mode>3, sub<mode>3, mul<mode>3, divdf3,
      	divsf3, *fop_<mode>_comm_i387, *fop_<mode>_1_i387,
      	*fop_<MODEF:mode>_2_i387, *fop_<MODEF:mode>_3_i387,
      	*fop_df_4_i387, *fop_df_5_i387, *fop_df_6_i387, two unnamed
      	define_splits, sqrt<mode>2): Disable where appropriate for
      	standard excess precision.
      	* convert.c (convert_to_real): Do not shorten arithmetic to type
      	for which excess precision would be used.
      	* defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Define.
      	* doc/invoke.texi (-fexcess-precision=): Document option.
      	(-mfpmath=): Correct index entry.
      	* flags.h (enum excess_precision, flag_excess_precision_cmdline,
      	flag_excess_precision): New.
      	* langhooks.c (lhd_post_options): Set
      	flag_excess_precision_cmdline.
      	* opts.c (common_handle_option): Handle -fexcess-precision=.
      	* toplev.c (flag_excess_precision_cmdline, flag_excess_precision,
      	init_excess_precision): New.
      	(lang_dependent_init_target): Call init_excess_precision.
      	* tree.c (excess_precision_type): New.
      	* tree.h (excess_precision_type): Declare.
      
      ada:
      	* gcc-interface/misc.c (gnat_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for processors where the option is
      	significant.
      
      fortran:
      	* options.c (gfc_post_options): Set
      	flag_excess_precision_cmdline.  Give an error for
      	-fexcess-precision=standard for processors where the option is
      	significant.
      
      java:
      	* lang.c (java_post_options): Set flag_excess_precision_cmdline.
      	Give an error for -fexcess-precision=standard for processors where
      	the option is significant.
      
      testsuite:
      	* gcc.target/i386/excess-precision-1.c,
      	gcc.target/i386/excess-precision-2.c,
      	gcc.target/i386/excess-precision-3.c,
      	gcc.target/i386/excess-precision-4.c,
      	gcc.target/i386/excess-precision-5.c,
      	gcc.target/i386/excess-precision-6.c: New tests.
      
      From-SVN: r145272
      Joseph Myers committed
  38. 11 Mar, 2009 1 commit
    • re PR target/39137 (-mpreferred-stack-boundary=2 causes lots of dynamic realign) · 9bfaf89d
      	PR target/39137
      	* cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT
      	macro.
      	* defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
      	* config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
      	* config/i386/i386.c (ix86_local_alignment): For
      	-m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
      	long long variables on the stack to avoid dynamic realignment.
      	Allow the first argument to be a decl rather than type.
      	* doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
      
      	* gcc.target/i386/stackalign/longlong-1.c: New test.
      	* gcc.target/i386/stackalign/longlong-2.c: New test.
      
      From-SVN: r144792
      Jakub Jelinek committed