2011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/2084.md: Enable all insn reservations also for z9_ec
cpu attribute value.
* config/s390/s390-opts.h (enum s390_arch_option): Remove.
(enum processor_type): Add PROCESSOR_2094_Z9_EC.
* config/s390/s390.c (processor_flags_table): New constant array.
(s390_handle_arch_option): Remove.
(s390_handle_option): Remove s390_handle_arch_option invocations
and OPT_mwarn_framesize_ handling.
(s390_option_override): Remove s390_handle_arch_option invocation.
(s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
warnings.
* config/s390/s390.md (cpu attribute): Add z9_ec value.
* config/s390/s390.opt (s390_tune, s390_arch)
(march=): Replace s390_arch_option enum and values with
processor_type. Set variable name to s390_arch. Set
initialization value.
(mtune=): Replace s390_arch_option with processor_type. Set
variable name to s390_tune. Set initialization value.
From-SVN: r171350
* gcc-interface/trans.c (create_temporary): New function taken from...
(create_init_temporary): ...here. Call it.
(call_to_gnu): Create the temporary for the return value early, if any.
Create it for a function with copy-in/copy-out parameters if there is
no target; in other cases of copy-in/copy-out, use another temporary.
Push the new binding level lazily. Add and rename local variables.
From-SVN: r171345
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
for the padded type built in order to support a specified alignment.
Fix incorrect formatting.
From-SVN: r171342
2011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
if possible.
From-SVN: r171340
refactor emit_*_{after,before}_noloc using common functions
* emit-rtl.c (emit_pattern_before_noloc): New function.
(emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
(emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
(emit_pattern_after_noloc): New function.
(emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
(emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
From-SVN: r171339
* config/s390/s390-opts.h: New.
* config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
s390_arch_flags, s390_warn_framesize, s390_stack_size,
s390_stack_guard): Remove.
(s390_handle_arch_option): Return void. Take enum
s390_arch_option value instead of string and searching array.
(s390_handle_option): Don't assert that global structures are in
use. Access variables via opts pointer. Use error_at. Don't use
sscanf for -mstack-guard= or -mstack-size=. Update call to
s390_handle_arch_option.
(s390_option_override): Update call to s390_handle_arch_option.
(s390_emit_prologue): Use %d format for s390_stack_size in
diagnostic. Use %wd for HOST_WIDE_INT.
* config/s390/s390.h (enum processor_type): Move to s390-opts.h.
(s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
* config/s390/s390.opt (config/s390/s390-opts.h): New
HeaderInclude entry.
(s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
s390_arch_flags, s390_warn_framesize): New Variable entries.
(s390_arch_option): New Enum and EnumValue entries.
(march=): Use Enum instead of Var.
(mstack-guard=, mstack-size=): Use UInteger and Var.
(mtune=): Use Enum.
From-SVN: r171330
* config/score/score.c (score_handle_option): Don't assert that
global structures are in use. Access target_flags via opts
pointer. Use value of -march= option to determine target_flags
settings.
* config/score/score.opt (march=): Use Enum.
(score_arch): New Enum and EnumValue entries.
From-SVN: r171329
* config/mep/mep.c (option_mtiny_specified): Remove.
(mep_option_override): Move register handling for -mivc2 from
mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
instead of option_mtiny_specified.
(mep_handle_option): Access target_flags via opts pointer. Don't
assert that global structures are in use. Defer part of -mivc2
handling and move it to mep_option_override.
* config/mep/mep.opt (IVC2): New Mask entry.
(mivc2): Use Var and Defer instead of Mask.
From-SVN: r171328
* config/v850/v850-opts.h: New.
* config/v850/v850.c (small_memory): Replace with
small_memory_physical_max array. Make that array static const.
(v850_handle_memory_option): Take integer value of argument. Take
gcc_options pointer, option text and location. Return void.
Update for changes to small memory structures.
(v850_handle_option): Access target_flags via opts pointer. Don't
assert that global structures are in use. Update calls to
v850_handle_memory_option.
(v850_encode_data_area): Update references to small memory
settings.
* config/v850/v850.h (struct small_memory_info, small_memory):
Remove.
(enum small_memory_type): Move to v850-opts.h.
* config/v850/v850.opt (config/v850/v850-opts.h): New
HeaderInclude entry.
(small_memory_max): New Variable entry.
(msda): Replace by pair of options msda= and msda-. Use UInteger.
(mtda, mzda): Likewise.
From-SVN: r171327
* config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
(munix=93): Use Var.
* config/pa/pa-hpux1010.opt (munix=95): Use Var.
* config/pa/pa-hpux1111.opt (munix=98): Use Var.
* config/pa/pa-opts.h: New.
* config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
(pa_handle_option): Don't assert that global structures are in
use. Access target_flags via opts pointer. Don't handle
OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
OPT_munix_98 here.
(pa_option_override): Handle deferred OPT_mfixed_range_.
From-SVN: r171324
* config/mn10300/mn10300-opts.h: New.
* config/mn10300/mn10300.c (mn10300_processor,
mn10300_tune_string): Remove.
(mn10300_handle_option): Don't assert that global structures are
in use. Access mn10300_processor via opts pointer. Don't handle
OPT_mtune_ here.
* config/mn10300/mn10300.h (enum processor_type): Move to
mn10300-opts.h.
(mn10300_processor): Remove.
* config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
HeaderInclude entry.
(mn10300_processor): New Variable entry.
(mtune=): Use Var.
From-SVN: r171323
* config/microblaze/microblaze.c: Don't include opts.h.
(microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
* config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
(mno-clearbss): Use Var and Warn.
From-SVN: r171322
* config/m32r/m32r-opts.h: New.
* config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
(m32r_handle_option): Don't assert that global structures are in
use. Access target_flags and m32r_cache_flush_func via opts
pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
OPT_mno_flush_trap here.
* config/m32r/m32r.h (Code Models, Small Data Area): Replace by
include of m32r-opts.h.
* config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
HeaderInclude entry.
(m32r_model_selected, m32r_sdata_selected): New Variable entries.
(mmodel=): Use Enum and Var.
(m32r_model): New Enum and EnumValue entries.
(mno-flush-trap): Use Var.
(msdata=): Use Enum and Var.
(m32r_sdata): New Enum and EnumValue entries.
From-SVN: r171321
* config/iq2000/iq2000-opts.h: New.
* config/iq2000/iq2000.c: Don't include opts.h.
(iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
* config/iq2000/iq2000.h (enum processor_type, iq2000_tune):
Remove.
* config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
HeaderInclude entry.
(iq2000_tune): New Variable entry.
(march=): Add comment. Use Enum.
(iq2000_arch): New Enum and EnumValue entries.
(mcpu=): Use Enum and Var.
(iq2000_tune): New Enum and EnumValue entries.
From-SVN: r171318
* config/ia64/ia64-opts.h: New.
* config/ia64/ia64.c (ia64_tune): Remove.
(ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
here. Use error_at.
(ia64_option_override): Handle deferred OPT_mfixed_range_.
* config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
* config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
HeaderInclude entry.
(ia64_tune): New Variable entry.
(mfixed-range=): Use Defer and Var.
(mtune=): Use Enum and Var.
(ia64_tune): New Enum and EnumValue entries.
From-SVN: r171317
* config/bfin/bfin-opts.h: New.
* config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
bfin_si_revision, bfin_workarounds): Remove.
(bfin_cpus): Make static const.
(bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
not bfin_lib_id_given.
(bfin_handle_option): Don't set bfin_lib_id_given. Access
bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
pointer. Use error_at. Don't assert that global structures are in
use.
* config/bfin/bfin.h: Include bfin-opts.h.
(enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
(bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
* bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
(bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
entries.
From-SVN: r171314
* config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
* config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
or -msoft-float here.
* config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
-msoft-float and -mhard-float.
(OPTION_DEFAULT_SPECS): Don't handle -mhard-float and
-msoft-float.
* config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
msoft-float.
* config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
-msoft-float.
(MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
not mhard-float.
(LIBGCC_SPEC): Don't handle -msoft-float.
* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
-mhard-float.
* config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
msoft-float.
* config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
-mfloat-abi=*, not -msoft-float and -mhard-float.
* config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
-msoft-float.
* config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
Use mfloat-abi=hard and mfloat-abi=soft in comments, not
mhard-float and msoft-float.
* config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
mfloat-abi=soft in comments, not mhard-float and msoft-float.
* config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
mhard-float.
* config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
msoft-float.
* config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
not mhard-float.
* config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
not msoft-float.
From-SVN: r171313
* config/alpha/alpha.c (alpha_handle_option): Access target_flags
via opts pointer. Use error_at. Don't assert that global
structures are in use.
From-SVN: r171311
* config/i386/i386.c (ix86_isa_flags_explicit): Remove.
(ix86_handle_option): Access ix86_isa_flags and
ix86_isa_flags_explicit via opts pointer. Don't assert that
global structures are in use.
(ix86_function_specific_save, ix86_function_specific_restore):
Update ix86_isa_flags_explicit field name.
* config/i386/i386.opt (ix86_isa_flags_explicit): New Variable
entry.
(ix86_isa_flags_explicit): Rename TargetSave entry to
x_ix86_isa_flags_explicit.
From-SVN: r171310
* target.def (handle_option): Take gcc_options and
cl_decoded_option pointers and location_t.
* doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
* doc/tm.texi: Regenerate.
* hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
* hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
* lto-opts.c (lto_reissue_options): Generate option structure for
targetm.handle_option call.
* opts.c (target_handle_option): Update call to
targetm.handle_option. Remove assertions about values now passed
down to hook.
* targhooks.c (default_target_handle_option): New.
* targhooks.h (default_target_handle_option): Declare.
* config/alpha/alpha.c: Include opts.h.
(alpha_handle_option): Update to new hook interface.
* config/arm/arm.c: Include opts.h.
(arm_handle_option): Update to new hook interface.
* config/arm/t-arm (arm.o): Update dependencies.
* config/bfin/bfin.c: Include opts.h.
(bfin_handle_option): Update to new hook interface.
* config/cris/cris.c: Include opts.h.
(cris_handle_option): Update to new hook interface.
* config/frv/frv.c: Include opts.h.
(frv_handle_option): Update to new hook interface.
* config/i386/i386.c: Include opts.h.
(ix86_handle_option): Update to new hook interface.
(ix86_valid_target_attribute_inner_p): Generate option structure
for call to ix86_handle_option.
* config/i386/t-i386 (i386.o): Update dependencies.
* config/ia64/ia64.c: Include opts.h.
(ia64_handle_option): Update to new hook interface.
* config/ia64/t-ia64 (ia64.o): Update dependencies.
* config/iq2000/iq2000.c: Include opts.h.
(iq2000_handle_option): Update to new hook interface.
* config/m32c/m32c.c: Include opts.h.
(m32c_handle_option): Update to new hook interface.
* config/m32r/m32r.c: Include opts.h.
(m32r_handle_option): Update to new hook interface.
* config/m68k/m68k.c: Include opts.h.
(m68k_handle_option): Update to new hook interface.
* config/mep/mep.c: Include opts.h.
(mep_handle_option): Update to new hook interface.
* config/microblaze/microblaze.c: Include opts.h.
(microblaze_handle_option): Update to new hook interface.
* config/mips/mips.c: Include opts.h.
(mips_handle_option): Update to new hook interface.
* config/mn10300/mn10300.c: Include opts.h.
(mn10300_handle_option): Update to new hook interface.
* config/pa/pa.c: Include opts.h.
(pa_handle_option): Update to new hook interface.
* config/pdp11/pdp11.c: Include opts.h.
(pdp11_handle_option): Update to new hook interface.
* config/rs6000/rs6000.c: Include opts.h.
(rs6000_handle_option): Update to new hook interface.
* config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
* config/rx/rx.c: Include opts.h.
(rx_handle_option): Update to new hook interface.
* config/s390/s390.c: Include opts.h.
(s390_handle_option): Update to new hook interface.
* config/score/score.c: Include opts.h.
(score_handle_option): Update to new hook interface.
* config/sh/sh.c: Include opts.h.
(sh_handle_option): Update to new hook interface.
* config/sparc/sparc.c: Include opts.h.
(sparc_handle_option): Update to new hook interface.
* config/v850/v850.c: Include opts.h.
(v850_handle_option): Update to new hook interface.
From-SVN: r171308
* gcc.c (driver_unknown_option_callback): Only permit and save
unknown -Wno- options.
(driver_wrong_lang_callback): Save options directly instead of via
driver_unknown_option_callback.
From-SVN: r171307
* lib/target-supports.exp (check_profiling_available): Add MN10300
to the list of targets that do not support profiling. Restore
alpha sorting to this list.
From-SVN: r171299
* doc/invoke.texi (Overall Options): Move closing brace to end of
options list.
(Optimization Options): Add missing @gol.
(Directory Options): Likewise.
(i386 and x86-64 Options): Likewise.
(RS6000 and PowerPC Options): Likewise.
(i386 and x86-64 Windows Options): Likewise.
(V850 Options): Add text missing from descriptions.
From-SVN: r171298
2011-03-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/shared_ptr.h (operator>, operator<=, operator>=): Add,
per DR 1401.
(operator==, operator!=, operator<): Fix per the letter of DR 1401.
* include/bits/shared_ptr_base.h: Likewise for __shared_ptr.
* include/bits/unique_ptr.h (operator==, operator!=, operator<,
operator<=, operator>, operator>=): Fix per the letter of DR 1401.
* testsuite/20_util/shared_ptr/comparison/dr1401.cc: New.
* testsuite/20_util/unique_ptr/comparison/dr1401.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.
From-SVN: r171293