gcc.git
9 years agors6000.c (rs6000_parallel_return): New function.
Segher Boessenkool [Sat, 17 Jan 2015 20:58:12 +0000 (21:58 +0100)]
rs6000.c (rs6000_parallel_return): New function.

* 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

9 years agoinvoke.texi ([-ftracer]): Remove duplicate option listing.
Sandra Loosemore [Sat, 17 Jan 2015 20:51:24 +0000 (15:51 -0500)]
invoke.texi ([-ftracer]): Remove duplicate option listing.

2015-01-17  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi ([-ftracer]): Remove duplicate option listing.

From-SVN: r219803

9 years agore PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer...
Paul Thomas [Sat, 17 Jan 2015 20:44:07 +0000 (20:44 +0000)]
re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function)

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

9 years agore PR fortran/60357 ([F08] structure constructor with unspecified values for allocata...
Andre Vehreschild [Sat, 17 Jan 2015 18:08:38 +0000 (19:08 +0100)]
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

9 years agoreorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid...
Eric Botcazou [Sat, 17 Jan 2015 14:00:57 +0000 (14:00 +0000)]
reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid...

* 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

9 years agore PR libstdc++/64638 (Build failure with recent futex changes in libstdc++, likely...
Jonathan Wakely [Sat, 17 Jan 2015 13:48:48 +0000 (13:48 +0000)]
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

9 years agore PR fortran/60334 (Segmentation fault on character pointer assignments)
Andre Vehreschild [Sat, 17 Jan 2015 11:07:57 +0000 (11:07 +0000)]
re PR fortran/60334 (Segmentation fault on character pointer assignments)

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

9 years agodwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
Jan Kratochvil [Sat, 17 Jan 2015 08:00:13 +0000 (08:00 +0000)]
dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.

2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>

* dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.

From-SVN: r219797

9 years agore PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c...
Bernd Schmidt [Sat, 17 Jan 2015 07:35:40 +0000 (07:35 +0000)]
re PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c:577)

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

9 years agore PR rtl-optimization/32790 (REG_N_SETS holds wrong value)
Jeff Law [Sat, 17 Jan 2015 07:24:24 +0000 (00:24 -0700)]
re PR rtl-optimization/32790 (REG_N_SETS holds wrong value)

PR rtl-optimization/32790
        * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
        not ZERO_EXTEND in SET_DESTs.

From-SVN: r219795

9 years agostatus_cxx2011.xml: Update C++11 status.
Ville Voutilainen [Sat, 17 Jan 2015 03:23:52 +0000 (05:23 +0200)]
status_cxx2011.xml: Update C++11 status.

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

9 years agoDR 488 PR libstdc++/58357
Jonathan Wakely [Sat, 17 Jan 2015 03:15:52 +0000 (03:15 +0000)]
DR 488 PR libstdc++/58357

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

9 years agoRevert last change
Alan Modra [Sat, 17 Jan 2015 03:04:55 +0000 (13:34 +1030)]
Revert last change

From-SVN: r219792

9 years agorl78-real.md (addqi3_real): Allow volatiles.
DJ Delorie [Sat, 17 Jan 2015 02:57:53 +0000 (21:57 -0500)]
rl78-real.md (addqi3_real): Allow volatiles.

* 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

9 years agore PR libstdc++/60940 (general operations on atomic types do not work with atomic...
Jonathan Wakely [Sat, 17 Jan 2015 01:23:28 +0000 (01:23 +0000)]
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

9 years agoModel cache auto-prefetcher in scheduler
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:43 +0000 (01:06 +0000)]
Model cache auto-prefetcher in scheduler

* 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

9 years agoHandle SCRATCH in decompose_address
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:29 +0000 (01:06 +0000)]
Handle SCRATCH in decompose_address

* rtlanal.c (get_base_term): Handle SCRATCH.

From-SVN: r219788

9 years agoEnable max_issue for AArch32 and AArch64
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:17 +0000 (01:06 +0000)]
Enable max_issue for AArch32 and AArch64

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

9 years agocprop.c (do_local_cprop): Disallow replacement of fixed hard registers.
Alan Modra [Sat, 17 Jan 2015 00:41:52 +0000 (11:11 +1030)]
cprop.c (do_local_cprop): Disallow replacement of fixed hard registers.

* cprop.c (do_local_cprop): Disallow replacement of fixed
hard registers.

From-SVN: r219786

9 years agore PR libstdc++/56785 (std::tuple of two elements does not apply empty base class...
Jonathan Wakely [Sat, 17 Jan 2015 00:21:41 +0000 (00:21 +0000)]
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

9 years agoDaily bump.
GCC Administrator [Sat, 17 Jan 2015 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219784

9 years ago1.cc: Remove unused header.
Jonathan Wakely [Sat, 17 Jan 2015 00:12:50 +0000 (00:12 +0000)]
1.cc: Remove unused header.

* 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

9 years agolocale_conv.h (wstring_convert, [...]): New.
Jonathan Wakely [Fri, 16 Jan 2015 23:38:48 +0000 (23:38 +0000)]
locale_conv.h (wstring_convert, [...]): New.

* 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

9 years agoImplement C++11 <codecvt> header.
Jonathan Wakely [Fri, 16 Jan 2015 23:38:35 +0000 (23:38 +0000)]
Implement C++11 <codecvt> header.

* 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

9 years agoruntime: Add __sparc__ case for SETCONTEXT_CLOBBERS_TLS.
Ian Lance Taylor [Fri, 16 Jan 2015 23:23:31 +0000 (23:23 +0000)]
runtime: Add __sparc__ case for SETCONTEXT_CLOBBERS_TLS.

The glibc setcontext incorrectly modifies %g7 on SPARC.

From Richard Henderson.

From-SVN: r219778

9 years agotesting/quick: Revert Alpha specific change.
Ian Lance Taylor [Fri, 16 Jan 2015 23:19:20 +0000 (23:19 +0000)]
testing/quick: Revert Alpha specific change.

No longer needed now that libffi supports complex types.

From-SVN: r219777

9 years agocompiler, reflect, runtime: Use static chain for closures.
Richard Henderson [Fri, 16 Jan 2015 22:58:53 +0000 (14:58 -0800)]
compiler, reflect, runtime: Use static chain for closures.

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

9 years agoinvoke.texi (--param early-inlining-insns): Update default value.
Jan Hubicka [Fri, 16 Jan 2015 22:21:50 +0000 (22:21 +0000)]
invoke.texi (--param early-inlining-insns): Update default value.

* doc/invoke.texi (--param early-inlining-insns): Update default value.
* params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.

From-SVN: r219775

9 years agoParallelize the jit testsuite
David Malcolm [Fri, 16 Jan 2015 21:30:26 +0000 (21:30 +0000)]
Parallelize the jit testsuite

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

9 years agore PR libffi/64607 (Multilib test stops working in libffi)
Dominique d'Humieres [Fri, 16 Jan 2015 20:51:14 +0000 (21:51 +0100)]
re PR libffi/64607 (Multilib test stops working in libffi)

PR libffi/64607

 * Makefile.am (AM_MAKEFLAGS): Use double quotes on subvariables.
 * Makefile.in: Rebuilt.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r219772

9 years agolibgomp: Don't use <alloca.h>.
Thomas Schwinge [Fri, 16 Jan 2015 20:05:21 +0000 (21:05 +0100)]
libgomp: Don't use <alloca.h>.

libgomp/
* oacc-parallel.c: Don't include <alloca.h>.
(GOACC_parallel): Use gomp_alloca instead of alloca.

From-SVN: r219771

9 years agolibstdc++: Optimize synchronization in std::future if futexes are available.
Torvald Riegel [Fri, 16 Jan 2015 19:50:43 +0000 (19:50 +0000)]
libstdc++: Optimize synchronization in std::future if futexes are available.

* src/c++11/futex.cc: New file.
* include/bits/atomic_futex.h: New file.
* include/std/future (__future_base::_State_baseV2): Use
atomic_futex_unsigned instead of mutex+condvar.
* src/c++11/futex.cc: Likewise.
* include/Makefile.am: Add atomic_futex.h.
* include/Makefile.in: Likewise.
* src/c++11/Makefile.am: Add futex.cc.
* src/c++11/Makefile.in: Likewise.

From-SVN: r219770

9 years ago[ARM/AArch64][testsuite] Add vld1_lane tests.
Christophe Lyon [Fri, 16 Jan 2015 18:26:57 +0000 (18:26 +0000)]
[ARM/AArch64][testsuite] Add vld1_lane tests.

* gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: New file.

From-SVN: r219767

9 years agore PR c++/62134 ([C++11] ICE with template alias)
Paolo Carlini [Fri, 16 Jan 2015 18:24:52 +0000 (18:24 +0000)]
re PR c++/62134 ([C++11] ICE with template alias)

2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62134
* g++.dg/cpp0x/alias-decl-46.C: New.

From-SVN: r219766

9 years ago[ARM/AArch64][testsuite] Be more verbose, and actually confirm that a
Christophe Lyon [Fri, 16 Jan 2015 18:21:53 +0000 (18:21 +0000)]
[ARM/AArch64][testsuite] Be more verbose, and actually confirm that a
test was checked.

* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK):
Add trace.
        (CHECK_FP): Likewise.
        (CHECK_CUMULATIVE_SAT): Likewise.

From-SVN: r219765

9 years ago[ARM/AArch64][testsuite] Add explicit dependency on Neon Cumulative Saturation flag
Christophe Lyon [Fri, 16 Jan 2015 18:19:42 +0000 (18:19 +0000)]
[ARM/AArch64][testsuite] Add explicit dependency on Neon Cumulative Saturation flag

        * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
        (Set_Neon_Cumulative_Sat): Add parameter.
        (__set_neon_cumulative_sat): Support new parameter.
        * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc
        (TEST_BINARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new
        argument.
        * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc
        (TEST_UNARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new
        argument.

From-SVN: r219764

9 years ago[ARM] PR 62066: Call va_end on early return from va_list processing function
Kyrylo Tkachov [Fri, 16 Jan 2015 18:14:37 +0000 (18:14 +0000)]
[ARM] PR 62066: Call va_end on early return from va_list processing function

PR target/62066
* config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
early return 0.

From-SVN: r219763

9 years agooops.. fixed typo in ChangeLog
Bernd Edlinger [Fri, 16 Jan 2015 18:02:25 +0000 (18:02 +0000)]
oops.. fixed typo in ChangeLog

From-SVN: r219762

9 years agosanititer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
Bernd Edlinger [Fri, 16 Jan 2015 17:49:56 +0000 (17:49 +0000)]
sanititer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.

2015-01-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * sanititer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
        * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.

gcc/testsuite/ChangeLog
2015-01-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * g++.dg/tsan/vptr_benign_race.C: New testcase.
        * g++.dg/tsan/vptr_harmful_race.C: New testcase.

From-SVN: r219761

9 years agore PR c++/60056 ([C++11] ICE in var_defined_without_dynamic_init, at cp/decl2.c:2876...
Paolo Carlini [Fri, 16 Jan 2015 17:47:43 +0000 (17:47 +0000)]
re PR c++/60056 ([C++11] ICE in var_defined_without_dynamic_init, at cp/decl2.c:2876 with TLS static)

2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60056
* g++.dg/tls/thread_local-ice4.C: New.

From-SVN: r219760

9 years agoexpr.c (cpp_classify_number): Add N_() around ?...
Jakub Jelinek [Fri, 16 Jan 2015 17:40:15 +0000 (18:40 +0100)]
expr.c (cpp_classify_number): Add N_() around ?...

* expr.c (cpp_classify_number): Add N_() around ?: string
literals used in cpp_error_with_line call as format string.

From-SVN: r219759

9 years ago[Obvious, ARM Testsuite] mangle-arm-crypto.C needs arm_crypto arguments added
James Greenhalgh [Fri, 16 Jan 2015 17:36:18 +0000 (17:36 +0000)]
[Obvious, ARM Testsuite] mangle-arm-crypto.C needs arm_crypto  arguments added

gcc/testsuite/

* g++.dg/abi/mangle-abi-crypto.C: Add crypto options, rather
than Neon options.

From-SVN: r219758

9 years agoAdd missing testcase accidentally omitted from r219681
David Malcolm [Fri, 16 Jan 2015 17:26:08 +0000 (17:26 +0000)]
Add missing testcase accidentally omitted from r219681

From-SVN: r219757

9 years agore PR c++/62276 (ICE when non-variadic template template parameter is default argumen...
Paolo Carlini [Fri, 16 Jan 2015 17:10:20 +0000 (17:10 +0000)]
re PR c++/62276 (ICE when non-variadic template template parameter is default argument of variadic template template parameter)

2014-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62276
* g++.dg/cpp0x/vt-62276.C: New.

From-SVN: r219756

9 years ago[ARM] Move comment about splitting Thumb1 patterns to thumb1.md
Kyrylo Tkachov [Fri, 16 Jan 2015 16:58:58 +0000 (16:58 +0000)]
[ARM] Move comment about splitting Thumb1 patterns to thumb1.md

* config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
* config/arm/thumb1.md: ... Here.

From-SVN: r219755

9 years agors6000.c (rs6000_scalar_mode_supported_p): Disallow TImode for TARGET_32BIT.
Segher Boessenkool [Fri, 16 Jan 2015 16:46:32 +0000 (17:46 +0100)]
rs6000.c (rs6000_scalar_mode_supported_p): Disallow TImode for TARGET_32BIT.

* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
TImode for TARGET_32BIT.

From-SVN: r219754

9 years agors6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, [...]): Implement as ...
Segher Boessenkool [Fri, 16 Jan 2015 16:36:16 +0000 (17:36 +0100)]
rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, [...]): Implement as ...

* config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
as ...
(rs6000_abi_word_mode): New function.

From-SVN: r219753

9 years agors6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD instead of UNITS_PER_WORD to descr...
Segher Boessenkool [Fri, 16 Jan 2015 16:34:31 +0000 (17:34 +0100)]
rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD instead of UNITS_PER_WORD to describe the size of stack...

* config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
instead of UNITS_PER_WORD to describe the size of stack slots.

From-SVN: r219752

9 years agors6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement as rs6000_promote_function_mode.
Segher Boessenkool [Fri, 16 Jan 2015 16:32:51 +0000 (17:32 +0100)]
rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement as rs6000_promote_function_mode.

* config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
as rs6000_promote_function_mode.  Move comment to there.
(rs6000_promote_function_mode): New function.

From-SVN: r219751

9 years agors6000.h (PROMOTE_MODE): Correct test for when -m32 -mpowerpc64 is active.
Segher Boessenkool [Fri, 16 Jan 2015 16:31:37 +0000 (17:31 +0100)]
rs6000.h (PROMOTE_MODE): Correct test for when -m32 -mpowerpc64 is active.

* config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
-mpowerpc64 is active.

From-SVN: r219750

9 years agonet: Restore earlier Solaris-specific version of setKeepAlivePeriod.
Ian Lance Taylor [Fri, 16 Jan 2015 15:57:32 +0000 (15:57 +0000)]
net: Restore earlier Solaris-specific version of setKeepAlivePeriod.

The version from the master repository seems to be appropriate
for OpenSolaris but not for Solaris itself.  Solaris 11.2
proper does not define TCP_KEEPIDLE or TCP_KEEPINTVL.

From-SVN: r219749

9 years agore PR middle-end/64353 (ICE: in execute_todo, at passes.c:1986)
Ilya Enkovich [Fri, 16 Jan 2015 15:38:21 +0000 (15:38 +0000)]
re PR middle-end/64353 (ICE: in execute_todo, at passes.c:1986)

gcc/

PR middle-end/64353
* tree-cfg.c (pass_data_fixup_cfg): Update SSA for
virtuals on start.

gcc/testsuite/

PR middle-end/64353
* g++.dg/pr64353.C: New.

From-SVN: r219748

9 years agoacinclude.m4: Fix typo in comment.
Jonathan Wakely [Fri, 16 Jan 2015 15:02:35 +0000 (15:02 +0000)]
acinclude.m4: Fix typo in comment.

* acinclude.m4: Fix typo in comment.
* configure: Regenerate.
* include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
codecvt<char16_t, char, mbstate_t>): Declare specializations.
* include/bits/locale_facets.h: Reserve space for new specializations.
* src/c++11/Makefile.am: Add codecvt.cc.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/codecvt.cc: New.
* src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
with -std=gnu++11.
* src/c++98/Makefile.in: Regenerate.
* src/c++98/locale_init.cc: Initialize new codecvt specializations.
* src/c++98/localename.cc: Likewise.
* config/abi/pre/gnu.ver: Exports for new codecvt specializations.
* testsuite/22_locale/codecvt/utf8.cc: New.
* testsuite/22_locale/locale/cons/unicode.cc: Check that new
specializations are installed in locale objects.

From-SVN: r219747

9 years ago[AArch64, Obvious] Fix broken commit r219724
James Greenhalgh [Fri, 16 Jan 2015 14:59:36 +0000 (14:59 +0000)]
[AArch64, Obvious] Fix broken commit r219724

gcc/

* config/arm/cortex-a57.md: Remove duplicate of file accidentally
introduced in revision 219724.

From-SVN: r219746

9 years ago[AArch64] Fix PR 64263: Do not try to split constants when destination is SIMD reg
Kyrylo Tkachov [Fri, 16 Jan 2015 14:50:39 +0000 (14:50 +0000)]
[AArch64] Fix PR 64263: Do not try to split constants when destination is SIMD reg

PR target/64263
* config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
destination is not a GP reg.
(*movdi_aarch64): Likewise.

* gcc.target/aarch64/pr64263_1.c: New test.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r219745

9 years agojit-builtins.h (DEF_FUNCTION_TYPE_VAR_5): Fix spelling of last argument.
Jakub Jelinek [Fri, 16 Jan 2015 14:38:14 +0000 (15:38 +0100)]
jit-builtins.h (DEF_FUNCTION_TYPE_VAR_5): Fix spelling of last argument.

* jit-builtins.h (DEF_FUNCTION_TYPE_VAR_5): Fix spelling of
last argument.
(DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): Define and
undef afterwards.
* jit-builtins.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
Likewise.
@@ -334,6 +343,8 @@ builtins_manager::make_type (enum jit_bu
 #undef DEF_FUNCTION_TYPE_VAR_3
 #undef DEF_FUNCTION_TYPE_VAR_4
 #undef DEF_FUNCTION_TYPE_VAR_5
+#undef DEF_FUNCTION_TYPE_VAR_8
+#undef DEF_FUNCTION_TYPE_VAR_12
 #undef DEF_POINTER_TYPE

     default:

From-SVN: r219744

9 years agoRevert ISA change
David Edelsohn [Fri, 16 Jan 2015 14:30:03 +0000 (14:30 +0000)]
Revert ISA change

From-SVN: r219743

9 years ago* target.c (num_devices): Guard with PLUGIN_SUPPORT.
Gerald Pfeifer [Fri, 16 Jan 2015 14:27:55 +0000 (14:27 +0000)]
* target.c (num_devices): Guard with PLUGIN_SUPPORT.

From-SVN: r219742

9 years agore PR tree-optimization/64434 (Performance regression after operand canonicalization...
Yuri Rumyantsev [Fri, 16 Jan 2015 14:22:57 +0000 (14:22 +0000)]
re PR tree-optimization/64434 (Performance regression after operand canonicalization (r216728).)

gcc/testsuite/

PR tree-optimization/64434
* gcc.dg/torture/pr64434.c: Move to...
* gcc.dg/pr64434.c: ... here.

From-SVN: r219741

9 years agoAdd missing } to gcc.c-torture/compile/20150108.c
Markus Trippelsdorf [Fri, 16 Jan 2015 13:59:08 +0000 (13:59 +0000)]
Add missing } to gcc.c-torture/compile/20150108.c

From-SVN: r219740

9 years agore PR middle-end/64614 (bogus used initialized warning (in gcc 4.9.2); switch stateme...
Richard Biener [Fri, 16 Jan 2015 13:26:10 +0000 (13:26 +0000)]
re PR middle-end/64614 (bogus used initialized warning (in gcc 4.9.2); switch statement versus &)

2015-01-16  Richard Biener  <rguenther@suse.de>

PR middle-end/64614
* tree-ssa-uninit.c: Include tree-cfg.h.
(MAX_SWITCH_CASES): New define.
(convert_control_dep_chain_into_preds): Handle switch statements.
(is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
(normalize_one_pred_1): Do not split bit-manipulations.
Record (x & CST).

* gcc.dg/uninit-18.c: New testcase.

From-SVN: r219739

9 years agolibstdc++: Add POSIX variant of shared_timed_mutex.
Torvald Riegel [Fri, 16 Jan 2015 13:22:00 +0000 (13:22 +0000)]
libstdc++: Add POSIX variant of shared_timed_mutex.

* include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
implementation.

From-SVN: r219737

9 years agore PR middle-end/64568 (error: invalid reference prefix)
Richard Biener [Fri, 16 Jan 2015 13:21:11 +0000 (13:21 +0000)]
re PR middle-end/64568 (error: invalid reference prefix)

2015-01-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64568
* tree-ssa-forwprop.c (pass_forwprop::execute): Guard
complex load rewriting for TARGET_MEM_REFs.

* g++.dg/torture/pr64568-2.C: New testcase.

From-SVN: r219736

9 years agobuiltins.c (expand_builtin_acc_on_device): Check target for NULL.
Uros Bizjak [Fri, 16 Jan 2015 13:16:46 +0000 (14:16 +0100)]
builtins.c (expand_builtin_acc_on_device): Check target for NULL.

* builtins.c (expand_builtin_acc_on_device): Check target for NULL.

From-SVN: r219735

9 years ago[AArch64] Remove -mlra/-mno-lra option for Aarch64
Matthew Wahab [Fri, 16 Jan 2015 13:11:53 +0000 (13:11 +0000)]
[AArch64] Remove -mlra/-mno-lra option for Aarch64

2015-01-16  Matthew Wahab  <matthew.wahab@arm.com>

gcc/
PR target/64149
* config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
variable.
* config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
(aarch64_lra_p): Remove.

From-SVN: r219734

9 years agore PR target/64363 (Unresolved labels with -fcheck-pointer-bounds and -mmpx)
Ilya Enkovich [Fri, 16 Jan 2015 13:08:24 +0000 (13:08 +0000)]
re PR target/64363 (Unresolved labels with -fcheck-pointer-bounds and -mmpx)

gcc/

PR target/64363
* ipa-chkp.h (chkp_instrumentable_p): New.
* ipa-chkp.c: Include tree-inline.h.
(chkp_instrumentable_p): New.
(chkp_maybe_create_clone): Use chkp_instrumentable_p.
Fix processing of not instrumentable functions.
(chkp_versioning): Use chkp_instrumentable_p. Warn about
not instrumentable functions.
* tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
chkp_instrumentable_p.
* tree-inline.h (copy_forbidden): New.
* tree-inline.c (copy_forbidden): Not static anymore.

gcc/testsuite/

PR target/64363
* gcc.target/i386/chkp-label-address.c: New.

From-SVN: r219733

9 years agoMark cl_target_option_print_diff args unused
Rainer Orth [Fri, 16 Jan 2015 12:58:20 +0000 (12:58 +0000)]
Mark cl_target_option_print_diff args unused

* optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
ptr1, ptr2 unused.

From-SVN: r219732

9 years agore PR fortran/45290 ([F08] pointer initialization)
Janus Weil [Fri, 16 Jan 2015 12:49:46 +0000 (13:49 +0100)]
re PR fortran/45290 ([F08] pointer initialization)

2015-01-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45290
* decl.c (match_pointer_init): Error out if resolution of init expr
failed.

2015-01-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45290
* gfortran.dg/pointer_init_6.f90: Extended.

From-SVN: r219731

9 years agoAdjust handling of word sized subregs for OP_OUT
Robert Suchanek [Fri, 16 Jan 2015 12:31:11 +0000 (12:31 +0000)]
Adjust handling of word sized subregs for OP_OUT

gcc/
* lra-constraints.c (curr_insn_transform): Change a reload pseudo of
type OP_OUT to OP_INOUT.

From-SVN: r219730

9 years agoAccount for high/lo_sum simplification with displacements
Robert Suchanek [Fri, 16 Jan 2015 12:31:01 +0000 (12:31 +0000)]
Account for high/lo_sum simplification with displacements

gcc/
* simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
(high x) y) to y if x and y have the same base.

gcc/testsuite/
* gcc.c-torture/compile/20150108.c: New test.

From-SVN: r219729

9 years ago* gcc.target/visium: New directory.
Eric Botcazou [Fri, 16 Jan 2015 12:21:32 +0000 (12:21 +0000)]
* gcc.target/visium: New directory.

From-SVN: r219728

9 years agore PR tree-optimization/61743 (Complete unroll is not happened for loops with short...
Richard Biener [Fri, 16 Jan 2015 12:06:07 +0000 (12:06 +0000)]
re PR tree-optimization/61743 (Complete unroll is not happened for loops with short upper bound)

2015-01-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61743
* gcc.dg/tree-ssa/pr61743-1.c: Add -fno-tree-vectorize.
* gcc.dg/tree-ssa/pr61743-2.c: Likewise.

From-SVN: r219725

9 years ago[AArch64] Add a new scheduling description for the ARM Cortex-A57 processor
James Greenhalgh [Fri, 16 Jan 2015 11:52:35 +0000 (11:52 +0000)]
[AArch64] Add a new scheduling description for the ARM Cortex-A57 processor

gcc/

* config/arm/cortex-a57.md: New.
* config/aarch64/aarch64.md: Include it.
* config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
* config/aarch64/aarch64-tune.md: Regenerate.

From-SVN: r219724

9 years ago[AArch64] Enable CCMP support for AArch64, PR64015 resolved
Zhenqiang Chen [Fri, 16 Jan 2015 11:48:00 +0000 (11:48 +0000)]
[AArch64] Enable CCMP support for AArch64, PR64015 resolved

gcc/
2015-01-16  Zhenqiang Chen  <zhenqiang.chen@arm.com>

PR target/64015
* ccmp.c (expand_ccmp_next): New function.
(expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
and compare insn sequence.
* config/aarch64/aarch64.c (aarch64_code_to_ccmode,
aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
(TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
* config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
(*ccmp_ior): Changed to ccmp_ior<mode>.
(cmp<mode>): New pattern.
* doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
parameters.
* target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.

gcc/testsuite/
2015-01-16  Zhenqiang Chen <zhenqiang.chen@arm.com>

* gcc.dg/pr64015.c: New test.

From-SVN: r219723

9 years agore PR testsuite/64605 (ERROR: (DejaGnu) proc "libatomic_target_compile lto1738.c...
Ilya Verbin [Fri, 16 Jan 2015 11:29:54 +0000 (11:29 +0000)]
re PR testsuite/64605 (ERROR: (DejaGnu) proc "libatomic_target_compile lto1738.c lto1738.o object additional_flags=-flto" does not exist.)

PR testsuite/64605

libatomic/
* testsuite/lib/libatomic.exp: Do not load gcc-dg.exp.
* testsuite/libatomic.c/c.exp: Load gcc-dg.exp.

From-SVN: r219722

9 years agog++.dg/ipa/pr64612.C: New test.
Markus Trippelsdorf [Fri, 16 Jan 2015 11:12:52 +0000 (11:12 +0000)]
g++.dg/ipa/pr64612.C: New test.

2015-01-16  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR ipa/64163
PR ipa/64612
* g++.dg/ipa/pr64612.C: New test.

From-SVN: r219721

9 years ago[AARCH64]Enable gcc/testsuite/gcc.dg/builtin-apply2.c fro aarch64 target
Renlin Li [Fri, 16 Jan 2015 11:04:52 +0000 (11:04 +0000)]
[AARCH64]Enable gcc/testsuite/gcc.dg/builtin-apply2.c fro aarch64 target

testsuite/
2015-01-16  Renlin Li <renlin.li@arm.com>

* gcc.dg/builtin-apply2.c: Remove aarch64 target from skip list.

From-SVN: r219720

9 years agoAdd new names for intrinsics.
Ilya Tocar [Fri, 16 Jan 2015 11:01:08 +0000 (11:01 +0000)]
Add new names for intrinsics.

gcc/
* config/i386/avx2intrin.h (_mm256_bslli_epi128,
_mm256_bsrli_epi128): New.
* config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.

testsuite/
* gcc.target/i386/sse-14.c: Test new intrinsic.
* gcc.target/i386/sse-22.c: Ditto.

From-SVN: r219719

9 years ago[Patch] Improve warning message
Jiong Wang [Fri, 16 Jan 2015 10:20:40 +0000 (10:20 +0000)]
[Patch] Improve warning message

  gcc/
    * expmed.c (store_bit_field_using_insv): Improve warning message.
    Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.

From-SVN: r219718

9 years ago[Patch] Warn and truncate bitsize when partial overflow happen
Jiong Wang [Fri, 16 Jan 2015 10:14:51 +0000 (10:14 +0000)]
[Patch] Warn and truncate bitsize when partial overflow happen

  PR rtl-optimization/64011
  gcc/
    * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
    there is partial overflow.

From-SVN: r219717

9 years agore PR c++/58614 ([c++11] ICE with undeclared variable in initializer list)
Paolo Carlini [Fri, 16 Jan 2015 09:38:59 +0000 (09:38 +0000)]
re PR c++/58614 ([c++11] ICE with undeclared variable in initializer list)

/cp
2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58614
* pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
TREE_TYPE (elt) == error_mark_node.

/testsuite
2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58614
* g++.dg/cpp0x/auto44.C: New.

From-SVN: r219716

9 years agoBump copyright year
Eric Botcazou [Fri, 16 Jan 2015 09:35:57 +0000 (09:35 +0000)]
Bump copyright year

From-SVN: r219715

9 years agoMAINTAINERS: (Write After Approval): Add myself.
Martin Uecker [Fri, 16 Jan 2015 07:37:11 +0000 (23:37 -0800)]
MAINTAINERS: (Write After Approval): Add myself.

2015-01-15  Martin Uecker  <uecker@eecs.berkeley.edu>

* MAINTAINERS: (Write After Approval): Add myself.

From-SVN: r219714

9 years ago[NDS32] Have sibling calls optmization to be performed on nds32 target.
Chung-Ju Wu [Fri, 16 Jan 2015 06:45:09 +0000 (06:45 +0000)]
[NDS32] Have sibling calls optmization to be performed on nds32 target.

gcc/
* config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
prototype.
(nds32_expand_epilogue_v3pop): Likewise.
* config/nds32/nds32.md (sibcall): Define this for sibling call
optimization.
(sibcall_register): Likewise.
(sibcall_immediate): Likewise.
(sibcall_value): Likewise.
(sibcall_value_register): Likewise.
(sibcall_value_immediate): Likewise.
(sibcall_epilogue): Likewise.
(epilogue): Pass false to indicate this is not a sibcall epilogue.
* config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
(nds32_expand_epilogue_v3pop): Likewise.

From-SVN: r219712

9 years ago[NDS32] Have shirnk-wrapping optimization to be performed on nds32 target.
Chung-Ju Wu [Fri, 16 Jan 2015 06:20:22 +0000 (06:20 +0000)]
[NDS32] Have shirnk-wrapping optimization to be performed on nds32 target.

gcc/
* config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
* config/nds32/nds32.md (unspec_volatile_func_return): Remove.
(return_internal): New.
(return): Define this named pattern.
(simple_return): Define this named pattern.
* config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
pattern instead of unspec_volatile_func_return.
(nds32_expand_epilogue_v3pop): Likewise.
(nds32_can_use_return_insn): New function.

From-SVN: r219711

9 years ago[NDS32] Fix wrong data flow when building nds32 target with --enable-checking=yes.
Chung-Ju Wu [Fri, 16 Jan 2015 06:02:11 +0000 (06:02 +0000)]
[NDS32] Fix wrong data flow when building nds32 target with --enable-checking=yes.

gcc/
* config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
* config/nds32/nds32.md (pop25return): New.
* config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
pop25return pattern.

From-SVN: r219710

9 years ago[NDS32][DOC] Remove -mforce-fp-as-gp, -mforbid-fp-as-gp, and -mex9 options from docum...
Chung-Ju Wu [Fri, 16 Jan 2015 05:02:41 +0000 (05:02 +0000)]
[NDS32][DOC] Remove -mforce-fp-as-gp, -mforbid-fp-as-gp, and -mex9 options from documentation.

gcc/
* doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
-mforbid-fp-as-gp, and -mex9 options.

From-SVN: r219707

9 years ago[NDS32][DOC] Describe -mcmodel= option instead of -mgp-direct in the documentation.
Chung-Ju Wu [Fri, 16 Jan 2015 04:56:27 +0000 (04:56 +0000)]
[NDS32][DOC] Describe -mcmodel= option instead of -mgp-direct in the documentation.

gcc/
* doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
remove -mgp-direct option.

From-SVN: r219706

9 years agore PR tree-optimization/62053 (ICE: in remap_type_1, at tree-inline.c:540)
Jan Hubicka [Fri, 16 Jan 2015 04:45:53 +0000 (05:45 +0100)]
re PR tree-optimization/62053 (ICE: in remap_type_1, at tree-inline.c:540)

PR tree-optimization/62053
* tree.c (build_cplus_array_type): Layout type after variants are set.

From-SVN: r219705

9 years agoMinor date fix in gcc/ChangeLog and gcc/testsuite/ChangeLog file.
Chung-Ju Wu [Fri, 16 Jan 2015 04:21:38 +0000 (04:21 +0000)]
Minor date fix in gcc/ChangeLog and gcc/testsuite/ChangeLog file.

From-SVN: r219704

9 years agoinvoke.texi (--param early-inlining-insns): Update default value.
Jan Hubicka [Fri, 16 Jan 2015 03:08:33 +0000 (04:08 +0100)]
invoke.texi (--param early-inlining-insns): Update default value.

* doc/invoke.texi (--param early-inlining-insns): Update default value.
* params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.

From-SVN: r219703

9 years agoipa-inline.c (inline_small_functions): Work around hints cache issue.
Jan Hubicka [Fri, 16 Jan 2015 03:05:31 +0000 (04:05 +0100)]
ipa-inline.c (inline_small_functions): Work around hints cache issue.

* ipa-inline.c (inline_small_functions): Work around hints
cache issue.

From-SVN: r219702

9 years agoruntime: Use a struct, not void, for an empty struct for libffi.
Ian Lance Taylor [Fri, 16 Jan 2015 02:54:13 +0000 (02:54 +0000)]
runtime: Use a struct, not void, for an empty struct for libffi.

A recent libffi upgrade caused the reflect test to fail on
386.  The problem case is a function that returns an empty
struct--a struct with no fields.  The libffi library does not
recognize the existence of empty structs, presumably since
they can't happen in C.  To work around this, the Go interface
to the libffi library changes an empty struct to void.  This
normally works fine, but with the new libffi upgrade it fails
for a function that returns an empty struct.  On 386 a
function that returns a struct is expected to pop the hidden
pointer when it returns.  So when we convert an empty struct
to void, libffi is calling a function that pops the hidden
pointer but does not expect that to happen.

In the older version of libffi, this didn't matter, because
the libffi code for 386 used a frame pointer, so the fact that
the stack pointer was wonky when the function returned was
ignored as the stack pointer was immediately replaced by the
saved frame pointer.  In the newer version of libffi, the 386
code is more efficient and does not use a frame pointer, and
therefore it matters whether libffi expects the function to
pop the hidden pointer or not.

This patch changes libgo to convert an empty to a struct with
a single field of type void.  This seems to be enough to get
the test cases working again.

Of course the real fix would be to change libffi to handle
empty types, but as libffi uses size == 0 as a marker for an
uninitialized type, that would be a non-trivial change.

From-SVN: r219701

9 years agore PR target/59710 (Nios2: Missing gprel optimization)
Sandra Loosemore [Fri, 16 Jan 2015 00:43:24 +0000 (19:43 -0500)]
re PR target/59710 (Nios2: Missing gprel optimization)

2015-01-15  Sandra Loosemore  <sandra@codesourcery.com>

PR target/59710

gcc/
* doc/invoke.texi (Option Summary): Document new Nios II
-mgpopt= syntax.
(Nios II Options): Likewise.
* config/nios2/nios2.opt: Add -mgpopt= option support.
Modify existing -mgpopt and -mno-gpopt options to be aliases.
* config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
* config/nios2/nios2.c (nios2_option_override): Adjust
-mgpopt defaulting.
(nios2_in_small_data_p): Return true for explicit small data
sections even with -G0.
(nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
option choices.

gcc/testsuite/
* gcc.target/nios2/gpopt-all.c: New test case.
* gcc.target/nios2/gpopt-local.c: New test case.
* gcc.target/nios2/gpopt-global.c: New test case.
* gcc.target/nios2/gpopt-data.c: New test case.
* gcc.target/nios2/gpopt-none.c: New test case.

From-SVN: r219700

9 years agoDaily bump.
GCC Administrator [Fri, 16 Jan 2015 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219699

9 years agore PR bootstrap/64612 (profiledbootstrap failures)
Jan Hubicka [Thu, 15 Jan 2015 23:11:49 +0000 (00:11 +0100)]
re PR bootstrap/64612 (profiledbootstrap failures)

PR ipa/64612
* ipa-inline-transform.c (can_remove_node_now_p): Fix handling
of comdat locals.
(inline_call): Fix removal of aliases.

From-SVN: r219696

9 years agoflag-types.h (enum sanitize_code): Add SANITIZE_VPTR, include SANITIZE_VPTR in SANITI...
Jakub Jelinek [Thu, 15 Jan 2015 22:58:42 +0000 (23:58 +0100)]
flag-types.h (enum sanitize_code): Add SANITIZE_VPTR, include SANITIZE_VPTR in SANITIZE_UNDEFINED.

* flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
include SANITIZE_VPTR in SANITIZE_UNDEFINED.
* opts.c (common_handle_option): Add -fsanitize=vptr.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
* ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
(ubsan_expand_vptr_ifn): New prototype.
* internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
expand_LOOP_VECTORIZED): Make argument nameless, remove
ATTRIBUTE_UNUSED.
(expand_UBSAN_VPTR): New function.
* internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
in fn spec.
(UBSAN_VPTR): New internal function.
* sanopt.c (tree_map_traits): Renamed to ...
(sanopt_tree_map_traits): ... this.
(sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
(sanopt_ctx): Adjust asan_check_map type for tree_map_traits
to sanopt_tree_map_traits renaming.  Add vptr_check_map field.
(maybe_optimize_ubsan_vptr_ifn): New function.
(sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
(pass_sanopt::execute): Likewise.  Call sanopt_optimize even for
-fsanitize=vptr.
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
internal calls like pure functions for aliasing, even when they
have other side-effects that prevent making them ECF_PURE.
* ubsan.c (ubsan_vptr_type_cache_decl): New variable.
(ubsan_expand_vptr_ifn): New function.
cp/
* cp-gimplify.c (cp_genericize_r): Call
cp_ubsan_maybe_instrument_member_call for member calls.
(cp_ubsan_check_member_access_r): New function.
(cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
* cp-tree.h (cp_ubsan_maybe_instrument_member_call,
cp_ubsan_instrument_member_accesses,
cp_ubsan_maybe_instrument_downcast,
cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
* cp-ubsan.c: New file.
* Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
* constexpr.c (cxx_eval_call_expression): Return void_node
for IFN_UBSAN_VPTR.
(potential_constant_expression_1): Return true for
UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
* typeck.c (build_class_member_access_expr): Provide locus
for COMPONENT_REFs.
(build_static_cast_1): Instrument downcasts.
* class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
add ubsan instrumentation for virtual_access.
* call.c: Include internal-fn.h.
(set_flags_from_callee): Handle internal calls.
gcc/testsuite/
* g++.dg/ubsan/vptr-1.C: New test.
* g++.dg/ubsan/vptr-2.C: New test.
* g++.dg/ubsan/vptr-3.C: New test.
* g++.dg/ubsan/vptr-4.C: New test.
* g++.dg/ubsan/vptr-5.C: New test.
* g++.dg/ubsan/vptr-6.C: New test.
* g++.dg/ubsan/vptr-7.C: New test.
* g++.dg/ubsan/vptr-8.C: New test.
* g++.dg/ubsan/vptr-9.C: New test.

From-SVN: r219695

9 years agoopenmp.c (check_symbol_not_pointer, [...]): Replace '%s' by %qs.
Tobias Burnus [Thu, 15 Jan 2015 22:17:09 +0000 (23:17 +0100)]
openmp.c (check_symbol_not_pointer, [...]): Replace '%s' by %qs.

2015-01-15  Tobias Burnus  <burnus@net-b.de>

        * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
        resolve_oacc_deviceptr_clause, resolve_omp_clauses,
        gfc_resolve_oacc_declare): Replace '%s' by %qs.

From-SVN: r219694

9 years ago2015-01-15 Richard Sandiford <richard.sandiford@arm.com>
Richard Sandiford [Thu, 15 Jan 2015 22:15:47 +0000 (22:15 +0000)]
2015-01-15  Richard Sandiford  <richard.sandiford@arm.com>

Update copyright years in docs/.

From-SVN: r219693

9 years agoupdate-copyright.py (Copyright.__init__): Add a regexp for "copyright = u'".
Richard Sandiford [Thu, 15 Jan 2015 22:09:13 +0000 (22:09 +0000)]
update-copyright.py (Copyright.__init__): Add a regexp for "copyright = u'".

contrib/
* update-copyright.py (Copyright.__init__): Add a regexp for
"copyright = u'".
(Copyright.update_copyright): Don't add a space before the year
in that case.

From-SVN: r219692