1. 18 Jan, 2015 7 commits
  2. 17 Jan, 2015 26 commits
    • ppc-fpconv-4.c: Skip for -mpowerpc64. · f2a93012
      	* gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64.
      	* gcc.target/powerpc/ppc-fpconv-8.c: Ditto.
      
      From-SVN: r219808
      Segher Boessenkool committed
    • rs6000.md (probe_stack): Delete. · 779fc8fb
      	* config/rs6000/rs6000.md (probe_stack): Delete.
      	(probe_stack_address): New.
      
      From-SVN: r219806
      Segher Boessenkool committed
    • rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT to test for 32-bit ABIs, not !TARGET_POWERPC64. · ffafb4f0
      	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
      	to test for 32-bit ABIs, not !TARGET_POWERPC64.
      
      From-SVN: r219805
      Segher Boessenkool committed
    • rs6000.c (rs6000_parallel_return): New function. · 436bd917
      	* config/rs6000/rs6000.c (rs6000_parallel_return): New function.
      	(rs6000_function_value): Use it.  Handle SCmode and TCmode as well,
      	for TARGET_32BIT && TARGET_POWERPC64.  Fix another BITS_PER_WORD
      	snafu.
      	(rs6000_libcall_value): Use the new function.
      
      From-SVN: r219804
      Segher Boessenkool committed
    • invoke.texi ([-ftracer]): Remove duplicate option listing. · 3b97ab5a
      2015-01-17  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
      
      From-SVN: r219803
      Sandra Loosemore committed
    • re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function) · 029b2d55
      2015-01-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/64578
      	* trans-expr.c (gfc_trans_pointer_assignment): Make sure that
      	before reinitializing rse, to add the rse.pre to block before
      	creating 'ptrtemp'.
      	* trans-intrinsic.c (gfc_conv_associated): Deal with the class
      	data being a descriptor.
      
      2015-01-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/64578
      	* gfortran.dg/unlimited_polymorphic_21.f90: New test
      
      From-SVN: r219802
      Paul Thomas committed
    • re PR fortran/60357 ([F08] structure constructor with unspecified values for… · 9b548517
      re PR fortran/60357 ([F08] structure constructor with unspecified values for allocatable components)
      
      2015-01-17  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/60357
      	* primary.c (build_actual_constructor): Prevent warning.
      	* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
      	assignment): New function encapsulates treatment of allocatable
      	components.
      	(gfc_trans_subcomponent_assign): Needed to distinguish between
      	regular assignment and initilization.
      	(gfc_trans_structure_assign): Same.
      	(gfc_conv_structure): Same.
      
      	PR fortran/61275
      	* gfortran.h: deferred_parameter is not needed, because
      	it artificial does the trick completely.
      	* primary.c (build_actual_constructor): Same.
      	(gfc_convert_to_structure_constructor): Same.
      	* resolve.c (resolve_fl_derived0): Same.
      	* trans-expr.c (gfc_conv_component_ref): Prevent treating
      	allocatable deferred length char arrays here.
      	(gfc_trans_subcomponent_assign): Same as above.
      	* trans-types.c (gfc_sym_type): This is done in
      	gfc_get_derived_type already.
      
      2015-01-17  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/60357
      	* gfortran.dg/alloc_comp_assign_13.f08: New test.
      
      	PR fortran/61275
      	* gfortran.dg/alloc_comp_assign_14.f08: New test.
      
      	PR fortran/55932
      	* gfortran.dg/alloc_comp_initializer_4.f03: New test.
      
      From-SVN: r219801
      Andre Vehreschild committed
    • reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid... · 33c2207d
      	* reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
      	implement a more precise life analysis for it during backward scan.
      
      From-SVN: r219800
      Eric Botcazou committed
    • re PR libstdc++/64638 (Build failure with recent futex changes in libstdc++,… · c6c1bfd9
      re PR libstdc++/64638 (Build failure with recent futex changes in libstdc++, likely all non-gthreads targets)
      
      	PR libstdc++/64638
      	* include/bits/atomic_futex.h: Use appropriate config macros for
      	availability of std::mutex, std::condition and std::chrono.
      
      From-SVN: r219799
      Jonathan Wakely committed
    • re PR fortran/60334 (Segmentation fault on character pointer assignments) · adbfb3f8
      2015-01-17  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/60334
      	* trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
      	length when the symbol is declared to be a result.
      	* trans-expr.c (gfc_conv_procedure_call): Strip deref on the
      	string length when functions are nested and the string length
      	is a reference already.
      
      2015-01-17  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/60334
      	* gfortran.dg/deferred_type_param_6.f90: Add tests for this PR.
      
      From-SVN: r219798
      Andre Vehreschild committed
    • dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed. · c3943573
      2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	* dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
      
      From-SVN: r219797
      Jan Kratochvil committed
    • re PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c:577) · 0ed4bf92
      	PR rtl-optimization/52773
      	* calls.c (emit_library_call_value): When pushing arguments use
      	stack_pointer_rtx rather than virtual_outgoing_args_rtx in
      	CALL_INSN_FUNCTION_USAGE.  Only emit one of use of the magic
      	stack pointer reference into CALL_INSN_FUNCTION_USAGE.
      
      	PR rtl-optimization/52773
      	* gcc.c-torture/compile/pr52773.c: New test.
      
      From-SVN: r219796
      Bernd Schmidt committed
    • re PR rtl-optimization/32790 (REG_N_SETS holds wrong value) · bd5fb71c
      	PR rtl-optimization/32790
              * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
              not ZERO_EXTEND in SET_DESTs.
      
      From-SVN: r219795
      Jeff Law committed
    • status_cxx2011.xml: Update C++11 status. · 21c4af43
      2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
      	* doc/html/*: Regenerate.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r219794
      Ville Voutilainen committed
    • DR 488 PR libstdc++/58357 · 1d0a12dc
      	DR 488
      	PR libstdc++/58357
      	* include/bits/algorithmfwd.h (rotate): Return an iterator.
      	* include/bits/stl_algo.h (rotate, __rotate): Likewise.
      	* testsuite/25_algorithms/rotate/dr488.cc: New.
      	* testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
      	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
      	2.cc: Likewise.
      	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
      	pod.cc: Likewise.
      
      From-SVN: r219793
      Jonathan Wakely committed
    • Revert last change · aed38127
      From-SVN: r219792
      Alan Modra committed
    • rl78-real.md (addqi3_real): Allow volatiles. · 48c528ae
      * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
      (addhi3_real): Likewise.  Fix [HL+0] syntax.
      (subqi3_real): Likewise.
      (subhi3_real): Likewise.
      (cbranchqi4_real): Likewise.  Allow saddr,#imm.
      (cbranchhi4_real): Likewise.
      (cbranchhi4_real_inverted): Likewise.
      (cbranchsi4_real_lt): Likewise.
      (cbranchsi4_real_ge): Likewise.
      (cbranchsi4_real_ge): Likewise.
      * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
      (sub<mode>3_virt): Likewise.
      (cbranchqi4_virt): Likewise.
      (cbranchhi4_virt): Likewise.
      * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
      always use '[reg+imm]' even when imm is zero.
      * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
      (rl78_general_operand): New.
      (rl78_nonimmediate_operand): New.
      (rl78_nonfar_operand): Use them.
      (rl78_nonfar_nonimm_operand): Likewise.
      (rl78_stack_based_mem): Fix.
      * config/rl78/constraints.md (Ibqi): New.
      (IBqi): New.
      (Wsa): New.
      (Wsf): New.
      (Cs1): Fix.
      * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
      (iorqi3): Likewise.
      (xorqi3): Likewise.
      * config/rl78/rl78-protos.h (rl78_sfr_p): New.
      
              * config/rl78/constrains (Qs8): New constraint.
              * config/rl78/rl78.c (rl78_flags_already_set): New function.
              * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
              * config/rl78/rl78-real.md (update_Z): New attribute.
              Update patterns to set it.
              (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
              shorter compare and branch sequence can be used.
              (cbranchhi4_real): Likewise.
              (cbranchhi4_real_inverted): Likewise.
      
      * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
      * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
      address space.
      * config/rl78/rl78.c (rl78_get_name_encoding): New.
      (rl78_option_override): Allow -mes0 only if C.
      (characterize_address): Support subregs of symbol_refs.
      (rl78_addr_space_address_mode): Move.  Add __near.
      (rl78_far_p): Likewise.
      (rl78_addr_space_pointer_mode): Likewise.
      (rl78_as_legitimate_address): Likewise.
      (rl78_addr_space_subset_p): Likewise.
      (rl78_addr_space_convert): Likewise.
      (rl78_print_operand_1): Support 16-bit addressing of 32-bit
      symbols with -mes0.
      (transcode_memory_rtx): Don't copy ES if -mes0.  Allow symbol[BC]
      addressing.
      (rl78_alloc_physical_registers_op1): Change logic to prefer
      symbol[BC] addressing.
      (frodata_section): New.
      (rl78_asm_init_sections): Initialize it.
      (rl78_select_section): Put __far readonly symbols in .frodata.
      (rl78_make_type_far): New.
      (rl78_insert_attributes): Force all readonly symbols to be __far when -mes0.
      (rl78_asm_out_integer): New.
      * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
      * config/rl78/rl78.opt (-mes0): New.
      
      * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
      (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
      (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
      * config/rl78/rl78-protos.h (rl78_output_labelref): New.
      (rl78_saddr_p): New.
      (rl78_output_aligned_common): New.
      * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
      (rl78_handle_saddr_attribute): New.
      (rl78_handle_naked_attribute): New.
      (rl78_attribute_table): Add saddr.
      (rl78_print_operand_1): Don't print '!' on saddr operands.
      (rl78_print_operand_1): Strip encodings.
      (rl78_sfr_p): New.
      (rl78_strip_name_encoding): New.
      (rl78_attrlist_to_encoding): New.
      (rl78_encode_section_info): New.
      (rl78_asm_init_sections): New.
      (rl78_select_section): New.
      (rl78_output_labelref): New.
      (rl78_output_aligned_common): New.
      (rl78_asm_out_integer): New.
      (rl78_asm_ctor_dtor): New.
      (rl78_asm_constructor): New.
      (rl78_asm_destructor): New.
      
      * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
      * config/rl78/rl78.c (rl78_expand_epilogue): Update.
      (transcode_memory_rtx): Update.
      (rl78_expand_epilogue): Use A_REG instead of 0.
      
      Co-Authored-By: Nick Clifton <nickc@redhat.com>
      
      From-SVN: r219791
      DJ Delorie committed
    • re PR libstdc++/60940 (general operations on atomic types do not work with… · d31b8797
      re PR libstdc++/60940 (general operations on atomic types do not work with atomic integral typedefs)
      
      	PR libstdc++/60940
      	* include/bits/atomic_base.h: Remove atomic integral typedefs as
      	synonyms for __atomic_base<int> etc.
      	* include/std/atomic: Make atomic_int a synonym for atomic<int> and
      	likewise for all atomic integral types.
      	* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
      	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
      
      From-SVN: r219790
      Jonathan Wakely committed
    • Model cache auto-prefetcher in scheduler · 340c7904
      	* config/arm/arm-protos.h (struct tune_params): New field
      	sched_autopref_queue_depth.
      	* config/arm/arm.c (sched-int.h): Include header.
      	(arm_first_cycle_multipass_dfa_lookahead_guard,)
      	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
      	(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
      	(arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
      	(arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
      	(arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
      	(arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
      	(arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
      	Specify sched_autopref_queue_depth value.  Enabled for A15 and A57.
      	* config/arm/t-arm (arm.o): Update.
      	* haifa-sched.c (update_insn_after_change): Update.
      	(rank_for_schedule): Use auto-prefetcher model, if requested.
      	(autopref_multipass_init): New static function.
      	(autopref_rank_for_schedule): New rank_for_schedule heuristic.
      	(autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
      	variable for debug dumps.
      	(autopref_multipass_dfa_lookahead_guard_1): New static helper function.
      	(autopref_multipass_dfa_lookahead_guard): New global function that
      	implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
      	(init_h_i_d): Update.
      	* params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
      	* sched-int.h (enum autopref_multipass_data_status): New const enum.
      	(autopref_multipass_data_): Structure for auto-prefetcher data.
      	(autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
      	(struct _haifa_insn_data:autopref_multipass_data): New field.
      	(INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
      	(autopref_multipass_dfa_lookahead_guard): Declare.
      
      From-SVN: r219789
      Maxim Kuvyrkov committed
    • Handle SCRATCH in decompose_address · 71acd477
      	* rtlanal.c (get_base_term): Handle SCRATCH.
      
      From-SVN: r219788
      Maxim Kuvyrkov committed
    • Enable max_issue for AArch32 and AArch64 · d03f7e44
      Enable max_issue for AArch32 and AArch64
      	* config/aarch64/aarch64.c
      	(aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
      	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
      	* config/arm/arm.c
      	(arm_first_cycle_multipass_dfa_lookahead): Implement hook.
      	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
      
      From-SVN: r219787
      Maxim Kuvyrkov committed
    • cprop.c (do_local_cprop): Disallow replacement of fixed hard registers. · 25d1a5a7
      	* cprop.c (do_local_cprop): Disallow replacement of fixed
      	hard registers.
      
      From-SVN: r219786
      Alan Modra committed
    • re PR libstdc++/56785 (std::tuple of two elements does not apply empty base… · 3ecec1ef
      re PR libstdc++/56785 (std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements)
      
      	PR libstdc++/56785
      	* include/std/tuple (_Tuple_impl): Remove zero-element specialization
      	and define one-element specialization.
      	* testsuite/20_util/tuple/56785.cc: New.
      
      From-SVN: r219785
      Jonathan Wakely committed
    • Daily bump. · 3c16c423
      From-SVN: r219784
      GCC Administrator committed
    • 1.cc: Remove unused header. · c23ccace
      	* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
      	Remove unused header.
      	* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
      	Likewise.
      
      From-SVN: r219781
      Jonathan Wakely committed
  3. 16 Jan, 2015 7 commits
    • locale_conv.h (wstring_convert, [...]): New. · 96d8c147
      	* include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
      	* include/std/locale: Include new header.
      	* include/Makefile.am: Add it.
      	* include/Makefile.in: Regenerate.
      	* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
      	* testsuite/22_locale/conversions/string/1.cc: New.
      	* testsuite/22_locale/conversions/string/2.cc: New.
      	* testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
      	* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
      	New.
      
      From-SVN: r219780
      Jonathan Wakely committed
    • Implement C++11 <codecvt> header. · 28af1fb3
      	* config/abi/pre/gnu.ver: Export new symbols.
      	* include/Makefile.am: Add codecvt.
      	* include/Makefile.in: Regenerate.
      	* include/std/codecvt: New header.
      	* src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
      	__codecvt_utf8_utf16_base): Define specializations.
      	* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
      	* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
      	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
      	New.
      
      From-SVN: r219779
      Jonathan Wakely committed
    • runtime: Add __sparc__ case for SETCONTEXT_CLOBBERS_TLS. · 0f59f5c1
      The glibc setcontext incorrectly modifies %g7 on SPARC.
      
      From Richard Henderson.
      
      From-SVN: r219778
      Ian Lance Taylor committed
    • testing/quick: Revert Alpha specific change. · 20780a00
      No longer needed now that libffi supports complex types.
      
      From-SVN: r219777
      Ian Lance Taylor committed
    • compiler, reflect, runtime: Use static chain for closures. · 38bf819a
      Change from using __go_set_closure to passing the closure
      value in the static chain field.  Uses new backend support for
      setting the closure chain in a call from C via
      __builtin_call_with_static_chain.  Uses new support in libffi
      for Go closures.
      
      The old architecture specific support for reflect.MakeFunc is
      removed, replaced by the libffi support.
      
      All work done by Richard Henderson.
      
      	* go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
      	(Gcc_backend::static_chain_variable): New method.
      
      From-SVN: r219776
      Richard Henderson committed
    • invoke.texi (--param early-inlining-insns): Update default value. · 21cb3518
      	* doc/invoke.texi (--param early-inlining-insns): Update default value.
      	* params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
      
      From-SVN: r219775
      Jan Hubicka committed
    • Parallelize the jit testsuite · 499de348
      gcc/jit/ChangeLog:
      	* Make-lang.in (lang_checks_parallelized): Add "check-jit".
      	(check_jit_parallelize): Set this to an arbitrary value (10).
      
      From-SVN: r219774
      David Malcolm committed