1. 11 Jan, 2012 17 commits
  2. 10 Jan, 2012 23 commits
    • cp-demangle.c (d_print_comp): Omit a trailing space in the operator name. · 3abbe458
      	* cp-demangle.c (d_print_comp) [DEMANGLE_COMPONENT_OPERATOR]:
      	Omit a trailing space in the operator name.
      
      From-SVN: r183072
      Jason Merrill committed
    • re PR middle-end/51516 ([trans-mem] problem with TM clone aliases) · 594ec92f
              PR middle-end/51516
              * trans-mem.c (get_cg_data): Traverse aliases if requested.
              (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
              (ipa_tm_note_irrevocable): Same.
              (ipa_tm_scan_irr_block): Same.
              (ipa_tm_decrement_clone_counts): Same.
              (ipa_tm_scan_irr_function): Same.
              (ipa_tm_create_version_alias): Same.
              (ipa_tm_create_version): Same.
              (ipa_tm_transform_calls_redirect): Same.
              (ipa_tm_transform_calls): Same.
              (ipa_tm_transform_transaction): Same.
              (ipa_tm_execute): Same.
      
      
      Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>
      
      From-SVN: r183070
      Aldy Hernandez committed
    • re PR lto/51806 (-flto ignores -Werror) · aee15221
      2012-01-10  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/51806
      	c-family/
      	* c-opts.c (c_common_handle_option): Move -Werror handling
      	to language independent code.
      
      	* opts.c (common_handle_option): Handle -Werror.
      
      From-SVN: r183069
      Richard Guenther committed
    • sync.md ("atomic_compare_and_swap<mode>_1"): Fix operand number. · b339cf22
      * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
      operand number.
      
      From-SVN: r183067
      Andreas Schwab committed
    • invoke.texi (C++ Dialect Options): Update -fabi-version=6 information. · 90aa444c
      	* doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
      	information.
      
      From-SVN: r183066
      Jason Merrill committed
    • re PR c++/51433 (constexpr caching leads to incorrect dynamic initialization) · a1e0490f
      	PR c++/51433
      	* semantics.c (cxx_eval_call_expression): Always retry previously
      	non-constant expressions.
      
      From-SVN: r183065
      Jason Merrill committed
    • re PR tree-optimization/51801 (ICE in inline_small_functions) · 91f074ce
      2012-01-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/51801
      	* gcc.dg/torture/pr51801.c: New testcase.
      
      From-SVN: r183064
      Richard Guenther committed
    • Check if linker supports R_386_TLS_GD_PLT, R_386_TLS_LDM_PLT relocs · 0f24748c
      	* configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
      	supports R_386_TLS_GD_PLT reloc.
      	(gcc_cv_as_ix86_tlsldmplt): Check if linker
      	supports R_386_TLS_LDM_PLT reloc.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      
      From-SVN: r183063
      Rainer Orth committed
    • gfortran.texi (Fortran 2003 Status): Fix grammar. · 7c5825a7
      2012-01-10  Gerald Pfeifer  <gerald@pfeifer.com>
      
              * gfortran.texi (Fortran 2003 Status): Fix grammar.
      
      From-SVN: r183062
      Gerald Pfeifer committed
    • re PR fortran/51652 (Allocate with type-spec and source-expr: check whether… · 2e0bffaf
      re PR fortran/51652 (Allocate with type-spec and source-expr: check whether length type-parameter is the same is lacking)
      
      2012-01-10  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/51652
              * resolve.c (resolve_allocate_expr): For non-deferred char
              lengths, check whether type-spec matches declaration.
      
      2012-01-10  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/51652
              * gfortran.dg/allocate_with_typespec_5.f90: New.
      
      From-SVN: r183061
      Tobias Burnus committed
    • [multiple changes] · c9423ca3
      2012-01-10  Pascal Obry  <obry@adacore.com>
      
      	* prj-nmsc.adb (Check_Library_Attributes): Kill check for object/source
      	directories for aggregate libraries.
      
      2012-01-10  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
      	a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
      	a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
      	a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
      	a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
      	a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
      	a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
      	a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
      	a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
      	container parameter as aliased in/in out.
      	Code clean ups.
      
      2012-01-10  Bob Duff  <duff@adacore.com>
      
      	* s-os_lib.ads: Improve comment.
      
      2012-01-10  Geert Bosch  <bosch@adacore.com>
      
      	* s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
      	for complex Scalar.
      
      From-SVN: r183060
      Arnaud Charlet committed
    • [multiple changes] · 72348e26
      2012-01-10  Bob Duff  <duff@adacore.com>
      
      	* sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
      	checking that the 'Size is correct. If the type is "mod 2**12",
      	for example, it's illegal, but Esize is the 'Object_Size, which
      	will be something like 16 or 32, so the error ('Size = 12) was
      	not detected.
      	* gnat_rm.texi: Improve documentation of shift
      	and rotate intrinsics.
      
      2012-01-10  Pascal Obry  <obry@adacore.com>
      
      	* prj.adb (For_Every_Project_Imported): Fix
      	implementation to make sure we return each project only once
      	for aggragte libraries. It is fine to return a project twice for
      	aggregate projects, this was the case as a Project_Id is different
      	in each project tree. The new implementation use a table based on
      	the project name to ensure proper detection of duplicate project
      	in aggregate library. A new context is then created to continue
      	retrurning duplicate project for aggregate libraries.
      
      From-SVN: r183059
      Arnaud Charlet committed
    • re PR target/49868 (Implement named address space to place/access data in flash memory) · cba300dd
      libgcc/
      	PR target/49868
      	Extend __pgmx semantics to linearize memory.
      	* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_1, _movmemx.
      	* config/avr/lib1funcs.S (__xload_1): New function.
      	(__movmemx_qi, __movmemx_hi): New functions.
      	(__xload_2, __xload_3, __xload_4): Rewrite to fit new __pgmx
      	semantics.
      
      gcc/
      	PR target/49868
      	Extend __pgmx semantics to linearize memory.
      	* config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
      	determine if code comes inline or from libgcc.
      	(MOVMEM_r_d:HI): Add "w" to constraint for better preference.
      	(movmem_qi, movmem_qi): Set constraint #2 to "n".
      	(movmem_qi_elpm, movmem_hi_elpm): Remove insns.
      	(movmemx_qi, movmemx_hi): New insns.
      	(xload_<mode>_libgcc): Rewrite to new insn condition.
      	(xload_<mode>): Remove insns.
      	* config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
      	cases that don't satisfy avr_xload_libgcc_p().
      	(avr_addr_space_convert): Allow converting in any direction.
      	(avr_addr_space_subset_p): Return always true.
      	(avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
      	(avr_emit_movmemhi): Ditto.
      	(avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
      	(avr_out_movmem): Ditto.
      	(AVR_SYMBOL_FLAG_PROGMEM): New macro.
      	(AVR_SYMBOL_SET_ADDR_SPACE): New macro.
      	(AVR_SYMBOL_GET_ADDR_SPACE): New macro.
      	(avr_encode_section_info): Encode 'progmem' in symbol flags.
      	(output_reload_in_const): Don't zero-extend any 24-bit symbols.
      
      From-SVN: r183058
      Georg-Johann Lay committed
    • re PR fortran/51197 (Backtrace information less useful) · 59c61547
      2012-01-10  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/51197
              * runtime/compile_options.c (show_signal): List
              more signals.
      
      From-SVN: r183057
      Tobias Burnus committed
    • resolve.c (resolve_ordinary_assign): Improve error wording. · fa8df9de
      2012-01-10  Tobias Burnus  <burnus@net-b.de>
      
              * resolve.c (resolve_ordinary_assign): Improve error wording.
      
      2012-01-10  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.dg/class_39.f03: Update dg-error string.
      
      From-SVN: r183056
      Tobias Burnus committed
    • re PR tree-optimization/50913 (ICE in scan_tree_for_params_right_scev, at… · 390b24dc
      re PR tree-optimization/50913 (ICE in scan_tree_for_params_right_scev, at graphite-sese-to-poly.c:633 compiling libgfortran with -floop-interchange -m32)
      
      2012-01-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/50913
      	* graphite-scop-detection.c (stmt_has_simple_data_refs_p):
      	Require data-refs to be representable by Graphite with respect
      	to any loop nest.
      
      	* gcc.dg/graphite/interchange-16.c: New testcase.
      	* gcc.dg/graphite/scop-20.c: XFAIL.
      	* gfortran.dg/graphite/interchange-1.f: Likewise.
      	* gfortran.dg/graphite/block-1.f90: Likewise.
      	* gfortran.dg/graphite/block-2.f: Likewise.
      
      From-SVN: r183055
      Richard Guenther committed
    • constraints.md ("L"): Return true for 0xffffffff. · f148a434
      	* config/i386/constraints.md ("L"): Return true for 0xffffffff.
      	* config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
      
      From-SVN: r183054
      Uros Bizjak committed
    • Add missing PR lines · 6fcebe79
      From-SVN: r183053
      Tom de Vries committed
    • re PR rtl-optimization/51271 (ICE in in maybe_record_trace_start, at dwarf2cfi.c:2244) · 5d1f1cd5
      2012-01-10  Tom de Vries  <tom@codesourcery.com>
      
      	PR rtl-optimization/51271
      	* dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
      	handling annulled branch.
      
      From-SVN: r183052
      Tom de Vries committed
    • arm: Implement vec_perm and vec_perm_const for NEON. · b440f324
      	* config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
      	TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
      	struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
      	arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
      	arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
      	arm_expand_vec_perm_const): New.
      	* config/arm/arm-protos.h: Update.
      	* config/arm/neon.md (UNSPEC_VCONCAT): New.
      	(*neon_vswp<VDQX>): New.
      	(neon_vcombine<VDX>): Use neon_split_vcombine.
      	(neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
      	* config/arm/vec-common.md (vec_perm_const<VALL>): New.
      	(vec_perm<VE>): New.
      
      testsuite/
      	* lib/target-supports.exp (check_effective_target_vect_perm,
      	check_effective_target_vect_perm_byte,
      	check_effective_target_vect_perm_short): Enable for arm neon.
      
      From-SVN: r183051
      Richard Henderson committed
    • arm: Convert to atomic optabs. · 18f0fe6b
      	* config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
      	use it if reload_completed.
      	(arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
      	arm_output_asm_insn, arm_process_output_memory_barrier,
      	arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
      	arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
      	arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
      	arm_process_output_sync_insn, arm_output_sync_insn,
      	arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
      	(arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
      	(arm_emit_load_exclusive, arm_emit_store_exclusive): New.
      	(emit_unlikely_jump): New.
      	(arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
      	(arm_split_atomic_op): New.
      	* config/arm/arm-protos.h: Update.
      	* config/arm/arm.h (enum arm_sync_generator_tag): Remove.
      	(struct arm_sync_generator): Remove.
      	* config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
      	VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
      	(VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
      	(VUNSPEC_LL, VUNSPEC_SC): New.
      	(sync_result, sync_memory, sync_required_value, sync_new_value,
      	sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
      	(attr length): Don't use arm_sync_loop_insns.
      	(cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
      	(movsfcc, movdfcc): Likewise.
      	* config/arm/constraints.md (Ua): New.
      	* config/arm/prediates.md (mem_noofs_operand): New.
      	(sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
      	(sync_clobber, sync_t2_reqd): Remove.
      	(sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
      	(sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
      	(sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
      	(arm_sync_compare_and_swap<SIDI>): Remove.
      	(arm_sync_compare_and_swap<NARROW>): Remove.
      	(arm_sync_lock_test_and_set<SIDI>): Remove.
      	(arm_sync_lock_test_and_set<NARROW>): Remove.
      	(arm_sync_new_<syncop><SIDI>): Remove.
      	(arm_sync_new_<syncop><NARROW>): Remove.
      	(arm_sync_new_nand<SIDI>): Remove.
      	(arm_sync_new_nand<NARROW>): Remove.
      	(arm_sync_old_<syncop><SIDI>): Remove.
      	(arm_sync_old_<syncop><NARROW>): Remove.
      	(arm_sync_old_nand<SIDI>): Remove.
      	(arm_sync_old_nand<NARROW>): Remove.
      	(*memory_barrier): Merge arm_output_memory_barrier.
      	(atomic_compare_and_swap<QHSD>): New.
      	(atomic_compare_and_swap<NARROW>_1): New.
      	(atomic_compare_and_swap<SIDI>_1): New.
      	(atomic_exchange<QHSD>): New.
      	(cas_cmp_operand, cas_cmp_str): New.
      	(atomic_op_operand, atomic_op_str): New.
      	(atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
      	(atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
      	(atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
      	(arm_load_exclusive<NARROW>): New.
      	(arm_load_exclusivesi, arm_load_exclusivedi): New.
      	(arm_store_exclusive<QHSD>): New.
      
      From-SVN: r183050
      Richard Henderson committed
    • libitm_i.h (_Unwind_DeleteException): Declare weak. · 8377e5e5
      	* libitm_i.h (_Unwind_DeleteException): Declare weak.
      	* eh_cpp.cc (_Unwind_DeleteException): Define for
      	!HAVE_ELF_STYLE_WEAKREF.
      
      From-SVN: r183049
      Richard Henderson committed
    • Fix bugs in -mvsx-scalar-memory and -mvsx-scalar-double · df5a9a7c
      From-SVN: r183048
      Michael Meissner committed