platform/upstream/gcc.git
10 years agoipa-prop.c (ipa_impossible_devirt_target): No longer static, renamed to ipa_impossibl...
Martin Jambor [Thu, 26 Jun 2014 12:55:40 +0000 (14:55 +0200)]
ipa-prop.c (ipa_impossible_devirt_target): No longer static, renamed to ipa_impossible_devirt_target.

2014-06-26  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (ipa_impossible_devirt_target): No longer static,
renamed to ipa_impossible_devirt_target.  Fix typo.
* ipa-prop.h (ipa_impossible_devirt_target): Declare.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Use
ipa_impossible_devirt_target.

testsuite/
* g++.dg/ipa/pr60600.C: Fix typo.
* g++.dg/ipa/devirt-25.C: Likewise.
* g++.dg/ipa/pr61540.C: Likewise.

From-SVN: r212028

10 years agoshared_ptr_base.h (__shared_ptr::_Deleter): Fix parameter type.
Jonathan Wakely [Thu, 26 Jun 2014 12:43:59 +0000 (13:43 +0100)]
shared_ptr_base.h (__shared_ptr::_Deleter): Fix parameter type.

* include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
parameter type.

From-SVN: r212027

10 years agore PR tree-optimization/61607 (DOM missed jump threading and destroyed loops)
Richard Biener [Thu, 26 Jun 2014 11:29:34 +0000 (11:29 +0000)]
re PR tree-optimization/61607 (DOM missed jump threading and destroyed loops)

2014-06-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61607
* tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
explaining why we restrict copies on loop depth.
* tree-ssa-dom.c (cprop_operand): Remove restriction on
on loop depth.
(record_equivalences_from_phis): Instead add it here.

* gcc.dg/tree-ssa/ssa-dom-thread-5.c: New testcase.

From-SVN: r212026

10 years agoinline-22.c: Add bind_pic_locally.
Vidya Praveen [Thu, 26 Jun 2014 10:35:47 +0000 (11:35 +0100)]
inline-22.c: Add bind_pic_locally.

gcc/testsuite/
* gcc.dg/inline-22.c: Add bind_pic_locally.
* gcc.dg/inline_4.c: Ditto.
* gcc.dg/fail_always_inline.c: Ditto.
* g++.dg/ipa/devirt-25.C: Ditto.

From-SVN: r212024

10 years agotarget-support.exp (bind_pic_locally): Save the flags to 'flags_to_postpone' instead...
Vidya Praveen [Thu, 26 Jun 2014 10:25:12 +0000 (11:25 +0100)]
target-support.exp (bind_pic_locally): Save the flags to 'flags_to_postpone' instead of appending to 'flags'.

gcc/testsuite/
* lib/target-support.exp (bind_pic_locally): Save the flags to
'flags_to_postpone' instead of appending to 'flags'.
* lib/gcc.exp (gcc_target_compile): Append board_info's multilib_flags
with flags_to_postpone and revert after target_compile.
* lib/g++.exp (g++_target_compile): Ditto.
* lib/gfortran.exp (gfortran_target_compile): Ditto.

From-SVN: r212023

10 years agoCorrect ChangeLog entries (dates and missing files)
Alan Lawrence [Thu, 26 Jun 2014 09:46:58 +0000 (09:46 +0000)]
Correct ChangeLog entries (dates and missing files)

From-SVN: r212022

10 years agoPart 2 of the collect-utils library, now also used for collect2.
Bernd Schmidt [Thu, 26 Jun 2014 09:16:28 +0000 (09:16 +0000)]
Part 2 of the collect-utils library, now also used for collect2.

        * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
        (LTO_WRAPPER_OBJS): New variable.
        (lto-wrapper$(exeext)): Use it.
        * collect2.c: Include "collect-utils.h".
        (verbose, debug): Remove variables.
        (at_file_supplied): No longer static.
        (tool_name): New variable.
        (do_wait, fork_execute, maybe_unlink): Don't declare.
        (tool_cleanup): No longer static.
        (notice): Remove function.
        (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
        fork_execute calls.
        (collect_wait, do_wait, collect_execute): Remove functions.
        (maybe_unlink): No longer static.
        * collect2.h (verbose, debug): Don't declare.
        (at_file_supplied): Declare.
        * collect-utils.c (utils_cleanup): New arg from_signal.  All callers
        changed.
        (collect_execute): Replace with implementation from collect2, plus a
        new arg use_atfile.  All callers changed.
        (collect_wait): Replace with implementation from collect2.
        (maybe_unlink_file): Remove function.
        (fork_execute): Replace with implementation from collect2, plus a
        new arg use_atfile.  All callers changed.
        (do_wait): Add call to utils_cleanup to the error path.
        * collect-utils.h (collect_execute, fork_execute, utils_cleanup,
        tool_cleanup): Adjust declarations.
        * lto-wrapper.c (tool_cleanup): Add unused bool argument.
        * tlink.c: Include "collect-utils.h".
        (tlink_execute): New arg use_atfile.  All callers changed.
        (tlink_init, tlink_execute): Remove declarations.

From-SVN: r212020

10 years agoSmall cleanups before making collect2 use collect-utils.
Bernd Schmidt [Thu, 26 Jun 2014 09:16:19 +0000 (09:16 +0000)]
Small cleanups before making collect2 use collect-utils.

* collect-utils.c (save_temps): New variable.
(do_wait): Use it instead of debug.  Use fatal_error.
* collect-utils.h (save_temps): Declare.
* collect2.c (verbose): Rename from vflag.  All uses changed.
(tool_cleanup): New function, copied from collect_atexit.
(collect_atexit, handler): Just call it.
* collect2.h (verbose): Declaration renamed from vflag.
* lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
debug.

From-SVN: r212019

10 years agoMake a collect-utils library for use by tools like collect2 and lto-wrapper.
Bernd Schmidt [Thu, 26 Jun 2014 09:16:11 +0000 (09:16 +0000)]
Make a collect-utils library for use by tools like collect2 and lto-wrapper.

* Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
(lto-wrapper$(exeext)): Link with collect-utils.o.
* collect-utils.c: New file.
* collect-utils.h: New file.
* lto-wrapper.c: Include "collect-utils.h".
(args_name): Delete variable.
(tool_name): New variable.
(tool_cleanup): New function.
(maybe_unlink): Renamed from maybe_unlink_file.  All callers changed.
(lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait,
fork_execute): Remove functions.

From-SVN: r212018

10 years ago* config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
Nick Clifton [Thu, 26 Jun 2014 09:10:02 +0000 (09:10 +0000)]
* config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.

From-SVN: r212017

10 years agotarget-supports.exp (check_effective_target_trapping): Fix typo.
Nick Clifton [Thu, 26 Jun 2014 09:03:54 +0000 (09:03 +0000)]
target-supports.exp (check_effective_target_trapping): Fix typo.

* lib/target-supports.exp (check_effective_target_trapping): Fix
typo.

From-SVN: r212016

10 years agoextend.texi (Function Attributes): Fix typo in description of RX vector attribute.
Nick Clifton [Thu, 26 Jun 2014 09:00:06 +0000 (09:00 +0000)]
extend.texi (Function Attributes): Fix typo in description of RX vector attribute.

* doc/extend.texi (Function Attributes): Fix typo in description
of RX vector attribute.

From-SVN: r212015

10 years ago[ARM] Error if overriding --with-tune by --with-cpu
James Greenhalgh [Thu, 26 Jun 2014 08:27:05 +0000 (08:27 +0000)]
[ARM] Error if overriding --with-tune by --with-cpu

gcc/

* config.gcc (supported_defaults): Error when passing either
--with-tune or --with-arch in conjunction with --with-cpu for ARM.

From-SVN: r212014

10 years agotree-ssa-dom.c (cprop_operand): Remove restriction on propagating volatile pointers.
Richard Biener [Thu, 26 Jun 2014 07:56:10 +0000 (07:56 +0000)]
tree-ssa-dom.c (cprop_operand): Remove restriction on propagating volatile pointers.

2014-06-26  Richard Biener  <rguenther@suse.de>

* tree-ssa-dom.c (cprop_operand): Remove restriction on
propagating volatile pointers.

From-SVN: r212013

10 years agore PR tree-optimization/61607 (DOM missed jump threading and destroyed loops)
Richard Biener [Thu, 26 Jun 2014 07:44:10 +0000 (07:44 +0000)]
re PR tree-optimization/61607 (DOM missed jump threading and destroyed loops)

2014-06-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61607
* tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
loop if we redirected its latch edge.
(thread_block_1): Do not cancel loops prematurely.

From-SVN: r212011

10 years agore PR c++/61537 (template parameter lists wrongly detected on "struct" or "class...
Adam Butcher [Thu, 26 Jun 2014 05:12:52 +0000 (06:12 +0100)]
re PR c++/61537 (template parameter lists wrongly detected on "struct" or "class" keyword on parameters)

Fix PR c++/61537

* parser.c (cp_parser_elaborated_type_specifier): Only consider template
parameter lists outside of function parameter scope.

* g++.dg/template/pr61537.C: New testcase.

From-SVN: r212008

10 years agotoplev.c (backend_init_target): Move init_emit_regs and init_regs to...
Jan Hubicka [Thu, 26 Jun 2014 02:28:37 +0000 (04:28 +0200)]
toplev.c (backend_init_target): Move init_emit_regs and init_regs to...

* toplev.c (backend_init_target): Move init_emit_regs and init_regs to...
(backend_init) ... here; skip ira_init_once and backend_init_target.
(target_reinit) ... and here; clear this_target_rtl->lang_dependent_initialized.
(lang_dependent_init_target): Clear this_target_rtl->lang_dependent_initialized;
break out rtl initialization to ...
(initialize_rtl): ... here; call also backend_init_target and ira_init_once.
* toplev.h (initialize_rtl): New function.
* function.c: Include toplev.h
(init_function_start): Call initialize_rtl.
* rtl.h (target_rtl): Add target_specific_initialized,
lang_dependent_initialized.

From-SVN: r212007

10 years agoDaily bump.
GCC Administrator [Thu, 26 Jun 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r212006

10 years agoalloc.cc: Fix use of test allocator.
Jonathan Wakely [Wed, 25 Jun 2014 23:05:58 +0000 (00:05 +0100)]
alloc.cc: Fix use of test allocator.

* testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
allocator.
* testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.

From-SVN: r212003

10 years agodefault_format_denormal_2.f90: Remove xfail for powerpc*-*-linux*.
Bill Schmidt [Wed, 25 Jun 2014 22:27:10 +0000 (22:27 +0000)]
default_format_denormal_2.f90: Remove xfail for powerpc*-*-linux*.

2014-06-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gfortran.dg/default_format_denormal_2.f90:  Remove xfail for
powerpc*-*-linux*.

From-SVN: r212000

10 years agogcc.c (set_multilib_dir): Malloc "." pointer as well.
Paul Gortmaker [Wed, 25 Jun 2014 21:21:12 +0000 (21:21 +0000)]
gcc.c (set_multilib_dir): Malloc "." pointer as well.

2014-06-25  Paul Gortmaker  <paul.gortmaker@windriver.com>
            Jakub Jelinek  <jakub@redhat.com>

        * gcc.c (set_multilib_dir): Malloc "." pointer as well.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r211997

10 years agoMakefile.am: Add new header.
Jonathan Wakely [Wed, 25 Jun 2014 20:54:46 +0000 (21:54 +0100)]
Makefile.am: Add new header.

* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
New RAII utilities for working with allocators.
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
__allocator_type typedef and use new __allocated_ptr type.
(_Sp_counted_ptr_inplace): Likewise.
(__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
__allocate_guarded to to simplify exception handling.
* include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
* include/std/future (_Result_alloc::_M_destroy): Likewise.
(_Result_alloc::_S_allocate_result): Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
with fancy pointer.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.

From-SVN: r211996

10 years agoalloc_traits.h (__alloc_rebind): Define alias template.
Jonathan Wakely [Wed, 25 Jun 2014 20:54:34 +0000 (21:54 +0100)]
alloc_traits.h (__alloc_rebind): Define alias template.

* include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
* include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
* include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
Likewise.
* include/ext/alloc_traits.h: Fix comment.

From-SVN: r211995

10 years agointerface.c (check_intents): Fix diagnostic with coindexed coarrays.
Tobias Burnus [Wed, 25 Jun 2014 20:33:38 +0000 (22:33 +0200)]
interface.c (check_intents): Fix diagnostic with coindexed coarrays.

gcc/fortran/
2014-06-25  Tobias Burnus  <burnus@net-b.de>

        * interface.c (check_intents): Fix diagnostic with
        coindexed coarrays.

gcc/testsuite/
2014-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_33.f90: New.

From-SVN: r211994

10 years agoresolve.c (resolve_ordinary_assign): Don't invoke caf_send when assigning a coindexed...
Tobias Burnus [Wed, 25 Jun 2014 20:31:32 +0000 (22:31 +0200)]
resolve.c (resolve_ordinary_assign): Don't invoke caf_send when assigning a coindexed RHS scalar to a noncoindexed...

2014-06-25  Tobias Burnus  <burnus@net-b.de>

fortran/
        * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
        when assigning a coindexed RHS scalar to a noncoindexed LHS
        array.
        * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
        for a noncoindexed scalar RHS.

gcc/testsuite/
        * gfortran.dg/coarray/coindexed_1.f90: New.

libgfortran/
        * caf/single.c (assign_char4_from_char1,
        * assign_char1_from_char4,
        convert_type): New static functions.
        (_gfortran_caf_get, _gfortran_caf_send): Use them.

From-SVN: r211993

10 years agocheck.c (check_co_minmaxsum): Add definable check.
Tobias Burnus [Wed, 25 Jun 2014 20:26:42 +0000 (22:26 +0200)]
check.c (check_co_minmaxsum): Add definable check.

gcc/fortran/
2014-06-25  Tobias Burnus  <burnus@net-b.de>

        * check.c (check_co_minmaxsum): Add definable check.
        * expr.c (gfc_check_vardef_context): Fix context == NULL case.
        * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
        arguments.
        * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation
        of temporary strings.

gcc/testsuite/
2014-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_collectives_7.f90: New.

From-SVN: r211992

10 years agoRemove superfluous clobber of cc in arm_emit_call_insn
Tom de Vries [Wed, 25 Jun 2014 19:23:02 +0000 (19:23 +0000)]
Remove superfluous clobber of cc in arm_emit_call_insn

2014-06-25  Tom de Vries  <tom@codesourcery.com>

* config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.

From-SVN: r211990

10 years agotree-ssa-forwprop.c (associate_plusminus): For widening conversions check for undefin...
Bernd Edlinger [Wed, 25 Jun 2014 17:24:34 +0000 (17:24 +0000)]
tree-ssa-forwprop.c (associate_plusminus): For widening conversions check for undefined overflow in (T)(P + A) - (T)P -> (T)A.

2014-06-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
        check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
        Issue a strict overflow warning if appropriate.

testsuite:
2014-06-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.c-torture/execute/20140622-1.c: New test.

From-SVN: r211988

10 years agoIPA REF refactoring
Martin Liska [Wed, 25 Jun 2014 16:55:46 +0000 (18:55 +0200)]
IPA REF refactoring

* Makefile.in: Removed header file (ipa-ref-inline.h).
* cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
called.
(cgraph_speculative_call_info): Likewise.
(cgraph_for_node_thunks_and_aliases): Likewise.
(cgraph_for_node_and_aliases): Likewise.
(verify_cgraph_node): Likewise.
* cgraph.h: Batch of IPA REF functions become member functions of
symtab_node: add_reference, maybe_add_reference, clone_references,
clone_referring, clone_reference, find_reference,
remove_stmt_references, remove_all_references,
remove_all_referring, dump_references, dump_referring,
has_alias_p, iterate_reference, iterate_referring.
* cgraphbuild.c (record_reference): New IPA REF function used.
(record_type_list): Likewise.
(record_eh_tables): Likewise.
(mark_address): Likewise.
(mark_load): Likewise.
(mark_store): Likewise.
(pass_build_cgraph_edges): Likewise.
(rebuild_cgraph_edge): Likewise.
(cgraph_rebuild_references): Likewise.
(pass_remove_cgraph_callee_edges): Likewise.
* cgraphclones.c (cgraph_clone_node): Likewise.
(cgraph_create_virtual_clone): Likewise.
(cgraph_materialize_clone): Likewise.
(cgraph_materialize_all_clones): Likewise.
* cgraphunit.c (cgraph_reset_node): Likewise.
(cgraph_reset_node): Likewise.
(analyze_function): Likewise.
(assemble_thunks_and_aliases): Likewise.
(expand_function): Likewise.
* ipa-comdats.c (propagate_comdat_group): Likewise.
(enqueue_references): Likewise.
* ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
(create_specialized_node): Likewise.
* ipa-devirt.c (referenced_from_vtable_p): Likewise.
* ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
* ipa-inline.c (reset_edge_caches): Likewise.
(update_caller_keys): Likewise.
(execute): Likewise.
* ipa-prop.c (remove_described_reference): Likewise.
(propagate_controlled_uses): Likewise.
(ipa_edge_duplication_hook): Likewise.
(ipa_modify_call_arguments): Likewise.
* ipa-pure-const.c (propagate_pure_const): Likewise.
* ipa-ref-inline.h: Header file removed, functions moved
to symtab_node class.
* ipa-ref.c (remove_reference): New class member function.
(cannot_lead_to_return): New class member function.
(referring_ref_list): Likewise.
(referred_ref_list): Likewise.
Rest of functions moved to symtab_node class.
* ipa-ref.h: New member functions remove_reference,
cannot_lead_to_return, referring_ref_list, referred_ref_list added
to ipa_ref class.
ipa_ref_list class has new member functions: first_reference,
first_referring, clear, nreferences.
* ipa-reference.c (analyze_function): New IPA REF function used.
(write_node_summary_p): Likewise.
(ipa_reference_write_optimization_summary): Likewise.
* ipa-split.c (split_function): Likewise.
* ipa-utils.c (ipa_reverse_postorder): Likewise.
* ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
(function_and_variable_visibility): Likewise.
* ipa.c (has_addr_references_p): Likewise.
(process_references): Argument type changed.
(symtab_remove_unreachable_nodes): New IPA REF function used.
(process_references): Likewise.
(set_writeonly_bit): Likewise.
* lto-cgraph.c: Implementation of new symtab_node member functions
that uses new IPA REF functions.
* lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF function used.
* lto-streamer-out.c (output_symbol_p): Likewise.
* lto-streamer.h (referenced_from_this_partition_p): Argument type
changed.
* lto/lto-partition.c (add_references_to_partition): New IPA REF function
used.
(add_symbol_to_partition_1): Likewise.
(lto_balanced_map): Likewise.
* lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
* symtab.c: Implementation of new IPA REF API.
* trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
(ipa_tm_create_version): Likewise.
(ipa_tm_execute): Likewise.
* tree-emutls.c (gen_emutls_addr): Likewise.
* tree-inline.c (copy_bb): Likewise.
(delete_unreachable_blocks_update_callgraph): Likewise.
* varpool.c (varpool_remove_unreferenced_decls): Likewise.
(varpool_for_node_and_aliases): Likewise.

From-SVN: r211987

10 years agofix typo in winnt.c
Trevor Saunders [Wed, 25 Jun 2014 16:36:49 +0000 (16:36 +0000)]
fix typo in winnt.c

gcc/

PR c/61612
* config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.

From-SVN: r211986

10 years agofix checking=fold
Trevor Saunders [Wed, 25 Jun 2014 16:02:04 +0000 (16:02 +0000)]
fix checking=fold

gcc/

        PR bootstrap/61598
        * fold-const.c (fold_checksum_tree): Use a hash_table of const
        tree_node * instead of tree_node *.
        (fold): Adjust.
        (print_fold_checksum): Likewise.
        (fold_check_failed): Likewise.
        (debug_fold_checksum): Likewise.
        (fold_build1_stat_loc): Likewise.
        (fold_build2_stat_loc): Likewise.
        (fold_build3_stat_loc): Likewise.
        (fold_build_call_array_loc): Likewise.

From-SVN: r211985

10 years agoxcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace implementation with call to...
David Edelsohn [Wed, 25 Jun 2014 14:46:08 +0000 (14:46 +0000)]
xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace implementation with call to...

        * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
        implementation with call to...
        * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
        function.
        * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
        Declare.

From-SVN: r211982

10 years agoDR 178 PR c++/49132
Paolo Carlini [Wed, 25 Jun 2014 14:27:35 +0000 (14:27 +0000)]
DR 178 PR c++/49132

/cp
2014-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

DR 178
PR c++/49132
* typeck2.c (process_init_constructor_record): Do not complain about
uninitialized const members, because within aggregate-initialization,
members without explicit initializers are value-initialized.

/testsuite
2014-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

DR 178
PR c++/49132
* g++.dg/cpp0x/aggr1.C: New.
* g++.dg/cpp0x/aggr2.C: Likewise.
* g++.dg/init/aggr11.C: Likewise.
* g++.dg/init/aggr12.C: Likewise.

From-SVN: r211981

10 years agopr61540.C: Remove dumping test.
Martin Jambor [Wed, 25 Jun 2014 13:35:24 +0000 (15:35 +0200)]
pr61540.C: Remove dumping test.

2014-06-25  Martin Jambor  <mjambor@suse.cz>

* g++.dg/ipa/pr61540.C: Remove dumping test.

From-SVN: r211980

10 years agore PR c/61162 (possibly bad error location with -Wc++-compat)
Marek Polacek [Wed, 25 Jun 2014 12:43:05 +0000 (12:43 +0000)]
re PR c/61162 (possibly bad error location with -Wc++-compat)

PR c/61162
* c-parser.c (c_parser_statement_after_labels): Pass the location of
the return expression to c_finish_return.

* gcc.dg/pr61162.c: Adjust dg-warning.
* gcc.dg/pr61162-2.c: New test.

From-SVN: r211978

10 years agore PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))
Marc Glisse [Wed, 25 Jun 2014 12:27:13 +0000 (14:27 +0200)]
re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))

2014-06-25  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/57742
gcc/
* tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
after replacing the statement.
gcc/testsuite/
* gcc.dg/tree-ssa/calloc-3.c: New file.

From-SVN: r211977

10 years agov850.c (GHS_default_section_names): Change to const char * type.
Nick Clifton [Wed, 25 Jun 2014 09:21:59 +0000 (09:21 +0000)]
v850.c (GHS_default_section_names): Change to const char * type.

* config/v850/v850.c (GHS_default_section_names): Change to const
char * type.
(GHS_current_section_names): Likewise.
(v850_insert_attributes): Do not build strings, just assign the
names directly.  Change the type of 'chosen_section' to const
char*.
* config/v850/v850-c.c (ghs_pragma_section): Assign the alias
directly to the array entry.
* config/v850/v850.h (GHS_default_section_names): Change to const
char * type.
(GHS_current_section_names): Likewise.

From-SVN: r211972

10 years agolanghooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
Jakub Jelinek [Wed, 25 Jun 2014 09:16:12 +0000 (11:16 +0200)]
langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.

* langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
(LANG_HOOKS_DECLS): Add it.
* gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
has correct type.
* tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
* langhooks.h (struct lang_hooks_for_decls): Add
omp_clause_linear_ctor hook.
* omp-low.c (lower_rec_input_clauses): Set max_vf even if
OMP_CLAUSE_LINEAR_ARRAY is set.  Don't fold_convert
OMP_CLAUSE_LINEAR_STEP.  For OMP_CLAUSE_LINEAR_ARRAY in
combined simd loop use omp_clause_linear_ctor hook.
gcc/c/
* c-typeck.c (c_finish_omp_clauses): Make sure
OMP_CLAUSE_LINEAR_STEP has correct type.
gcc/cp/
* semantics.c (finish_omp_clauses): Make sure
OMP_CLAUSE_LINEAR_STEP has correct type.
gcc/fortran/
* trans.h (gfc_omp_clause_linear_ctor): New prototype.
* trans-openmp.c (gfc_omp_linear_clause_add_loop,
gfc_omp_clause_linear_ctor): New functions.
(gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
correct type.  Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
* f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
libgomp/
* testsuite/libgomp.fortran/simd5.f90: New test.
* testsuite/libgomp.fortran/simd6.f90: New test.
* testsuite/libgomp.fortran/simd7.f90: New test.

From-SVN: r211971

10 years agore PR testsuite/61560 (FAIL: gcc.dg/tree-ssa/ssa-fre-32.c on arm)
Richard Biener [Wed, 25 Jun 2014 08:37:37 +0000 (08:37 +0000)]
re PR testsuite/61560 (FAIL: gcc.dg/tree-ssa/ssa-fre-32.c on arm)

2014-06-25  Richard Biener  <rguenther@suse.de>

PR testsuite/61560
* gcc.dg/tree-ssa/ssa-fre-32.c: Change to avoid differences
for targets that return _Complex float in memory.

From-SVN: r211970

10 years agoAdjust options for use of Neon with multilib testing.
Ramana Radhakrishnan [Wed, 25 Jun 2014 08:24:23 +0000 (08:24 +0000)]
Adjust options for use of Neon with multilib testing.

2014-06-25  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* gcc.target/arm/vect-noalign.c: Adjust options.

From-SVN: r211969

10 years agotree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD pattern recognition.
Cong Hou [Wed, 25 Jun 2014 02:58:43 +0000 (22:58 -0400)]
tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD pattern recognition.

2014-06-24  Cong Hou  <congh@google.com>

    * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
    pattern recognition.
    (type_conversion_p): PROMOTION is true if it's a type promotion
    conversion, and false otherwise.  Return true if the given expression
    is a type conversion one.
    * tree-vectorizer.h: Adjust the number of patterns.
    * tree.def: Add SAD_EXPR.
    * optabs.def: Add sad_optab.
    * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
    * expr.c (expand_expr_real_2): Likewise.
    * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
    * gimple.c (get_gimple_rhs_num_ops): Likewise.
    * optabs.c (optab_for_tree_code): Likewise.
    * tree-cfg.c (estimate_operator_cost): Likewise.
    * tree-ssa-operands.c (get_expr_operands): Likewise.
    * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
    * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
    * doc/generic.texi: Add document for SAD_EXPR.
    * doc/md.texi: Add document for ssad and usad.

2014-06-24  Cong Hou  <congh@google.com>

    * gcc.dg/vect/vect-reduc-sad.c: New.
    * lib/target-supports.exp (check_effective_target_vect_usad_char): New.

From-SVN: r211966

10 years agoDaily bump.
GCC Administrator [Wed, 25 Jun 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r211965

10 years agoFixup const qualification of the argument passed to hash_table::find_slot
Trevor Saunders [Wed, 25 Jun 2014 00:13:17 +0000 (00:13 +0000)]
Fixup const qualification of the argument passed to hash_table::find_slot

gcc/

* config/i386/winnt.c (i386_pe_section_type_flags): Fixup const
qualification.

From-SVN: r211962

10 years agoruntime: add missing benchmark input files to the repository
Ian Lance Taylor [Tue, 24 Jun 2014 23:52:47 +0000 (23:52 +0000)]
runtime: add missing benchmark input files to the repository

From-SVN: r211961

10 years agoclass.c (check_methods, [...]): Guard VINDEX checks by FUNCTION_DECL check.
Jan Hubicka [Tue, 24 Jun 2014 23:14:26 +0000 (01:14 +0200)]
class.c (check_methods, [...]): Guard VINDEX checks by FUNCTION_DECL check.

* class.c (check_methods, create_vtable_ptr, determine_key_method,
add_vcall_offset_vtbl_entries_1): Guard VINDEX checks by FUNCTION_DECL check.
* cp-tree.h (lang_decl_ns): Add ns_using and ns_users.
(DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): Use lang_decl_ns.
(DECL_NAMESPACE_ASSOCIATIONS): Use DECL_INITIAL.
(DECL_TEMPLATE_INSTANTIATIONS): Use DECL_SIZE_UNIT.
* tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
* tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
* tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
(tree_function_decl): ... here.
* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
streaming of vindex to ...
(write_ts_function_decl_tree_pointers): ... here.

* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
Do not stream DECL_VINDEX.
(lto_input_ts_function_decl_tree_pointers): Stream it here.

* lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
(mentions_vars_p_function): ... here.
(compare_tree_sccs_1): Update VINDEX checks.
(lto_fixup_prevailing_decls): Likewise.

From-SVN: r211960

10 years agomips.c (mips_order_regs_for_local_alloc): Delete.
Catherine Moore [Tue, 24 Jun 2014 22:07:39 +0000 (18:07 -0400)]
mips.c (mips_order_regs_for_local_alloc): Delete.

2014-06-24  Catherine Moore  <clm@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
* config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
* config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r211959

10 years agoAdd me to MAINTAINERS.
Dehao Chen [Tue, 24 Jun 2014 21:12:48 +0000 (21:12 +0000)]
Add me to MAINTAINERS.

From-SVN: r211958

10 years agoinvoke.texi (Warning Options): Remove duplicated -Wmaybe-uninitialized.
Marc Glisse [Tue, 24 Jun 2014 19:09:57 +0000 (21:09 +0200)]
invoke.texi (Warning Options): Remove duplicated -Wmaybe-uninitialized.

2014-06-24  Marc Glisse  <marc.glisse@inria.fr>

* doc/invoke.texi (Warning Options): Remove duplicated
-Wmaybe-uninitialized.

From-SVN: r211957

10 years agore PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))
Marc Glisse [Tue, 24 Jun 2014 18:50:00 +0000 (20:50 +0200)]
re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))

2014-06-24  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/57742
gcc/
* tree-ssa-strlen.c (get_string_length): Ignore malloc.
(handle_builtin_malloc, handle_builtin_memset): New functions.
(strlen_optimize_stmt): Call them.
* passes.def: Move strlen after loop+dom but before vrp.
gcc/testsuite/
* g++.dg/tree-ssa/calloc.C: New testcase.
* gcc.dg/tree-ssa/calloc-1.c: Likewise.
* gcc.dg/tree-ssa/calloc-2.c: Likewise.
* gcc.dg/strlenopt-9.c: Adapt.

From-SVN: r211956

10 years agoMake the AAPCS64 function return tests more robust.
Yufeng Zhang [Tue, 24 Jun 2014 16:33:45 +0000 (16:33 +0000)]
Make the AAPCS64 function return tests more robust.

gcc/testsuite

* gcc.target/aarch64/aapcs64/abitest-2.h (saved_return_address): New
global variable.
(FUNC_VAL_CHECK): Update to call myfunc via the 'ret' instruction,
instead of calling sequentially in the C code.
* gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Store
saved_return_address to the stack frame where LR register was stored.
(saved_return_address): Declare weak.

From-SVN: r211954

10 years agofunctexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ archetyp...
Jonathan Wakely [Tue, 24 Jun 2014 15:44:17 +0000 (16:44 +0100)]
functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ archetype to prevent warnings for "%zu".

* include/bits/functexcept.h (__throw_out_of_range_fmt): Change
attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
* include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
Remove unused typedef.
(time_get::do_get_monthname): Likewise.
* include/bits/stl_tree.h: Add system_header pragma.
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
redundant const-qualifier.
* include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
instead of _GLIBCXX_USE_CONSTEXPR.

From-SVN: r211951

10 years agore PR target/61570 (-march=native CPU you selected does not support x86-64 instructio...
Jakub Jelinek [Tue, 24 Jun 2014 14:58:19 +0000 (16:58 +0200)]
re PR target/61570 (-march=native CPU you selected does not support x86-64 instruction under QEMU)

PR target/61570
* config/i386/driver-i386.c (host_detect_local_cpu): For unknown
model family 6 CPU with has_longmode never use a CPU without
64-bit support.

From-SVN: r211945

10 years agore PR c++/33972 (Cannot declare operator() using function typedef)
Paolo Carlini [Tue, 24 Jun 2014 14:47:42 +0000 (14:47 +0000)]
re PR c++/33972 (Cannot declare operator() using function typedef)

/cp
2014-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/33972
* decl.c (grokdeclarator): Do not early check for operator-function-id
as non-function.

/testsuite
2014-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/33972
* g++.dg/other/operator3.C: New.
* g++.dg/template/operator8.C: Adjust.
* g++.dg/template/operator9.C: Likewise.

From-SVN: r211944

10 years agoRevert the last change on driver-i386.c
H.J. Lu [Tue, 24 Jun 2014 14:46:18 +0000 (14:46 +0000)]
Revert the last change on driver-i386.c

PR target/61570
* config/i386/driver-i386.c (host_detect_local_cpu): Revert
the last change.

From-SVN: r211943

10 years agoadd hash_map class
Trevor Saunders [Tue, 24 Jun 2014 13:22:11 +0000 (13:22 +0000)]
add hash_map class

gcc/

* alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
* dominance.c (iterate_fix_dominators): Use hash_map instead of
pointer_map.
* hash-map.h: New file.
* ipa-comdats.c: Use hash_map instead of pointer_map.
* ipa.c: Likewise.
* lto-section-out.c: Adjust.
* lto-streamer.h: Replace pointer_map with hash_map.
* symtab.c (verify_symtab): Likewise.
* tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
* tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
* tree-streamer.h: Likewise.
* tree-streamer.c: Adjust.
* pointer-set.h: Remove pointer_map.

gcc/lto/

* lto.c (canonical_type_hash_cache): Use hash_map instead of
pointer_map.

From-SVN: r211938

10 years agoallow storing values directly in hash tables
Trevor Saunders [Tue, 24 Jun 2014 13:21:53 +0000 (13:21 +0000)]
allow storing values directly in hash tables

gcc/

* hash-table.h: Add a template arg to choose between storing values
and storing pointers to values, and then provide partial
specializations for both.
* tree-browser.c (tree_upper_hasher): Provide the type the hash table
should store, not the type values should point to.
* tree-into-ssa.c (var_info_hasher): Likewise.
* tree-ssa-dom.c (expr_elt_hasher): Likewise.
* tree-complex.c: Adjust.
* tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
table instead of int_tree_map *.
* tree-parloops.c: Adjust.
* tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
type is being stored.
* tree-vectorizer.c: Adjust.

From-SVN: r211937

10 years agoRemove a layer of indirection from hash_table
Trevor Saunders [Tue, 24 Jun 2014 13:21:35 +0000 (13:21 +0000)]
Remove a layer of indirection from hash_table

gcc/

* hash-table.h: Remove a layer of indirection from hash_table so that
it contains the hash table's data instead of a pointer to the data.
* alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
fold-const.c, gcse.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c,
graphite-clast-to-gimple.c, graphite-dependences.c,
graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
postreload-gcse.c, sese.c, statistics.c, store-motion.c,
trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
tree-ssa-live.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
vtable-verify.c, vtable-verify.h: Adjust.

gcc/c/

* c-decl.c: Adjust.

gcc/cp/

* class.c, semantics.c, tree.c, vtable-class-hierarchy.c:
Adjust.

gcc/java/

* jcf-io.c: Adjust.

gcc/lto/

* lto.c: Adjust.

gcc/objc/

* objc-act.c: Adjust.

From-SVN: r211936

10 years agosingleton_intrinsics_1.c: Save temps and cleanup.
Alan Lawrence [Tue, 24 Jun 2014 11:38:02 +0000 (11:38 +0000)]
singleton_intrinsics_1.c: Save temps and cleanup.

* gcc.target/aarch64/singleton_intrinsics_1.c: Save temps and cleanup.

From-SVN: r211934

10 years agore PR tree-optimization/61572 (ICE: in assign_by_spills, at lra-assigns.c:1335)
Richard Biener [Tue, 24 Jun 2014 10:35:30 +0000 (10:35 +0000)]
re PR tree-optimization/61572 (ICE: in assign_by_spills, at lra-assigns.c:1335)

2014-06-24  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61572
* tree-ssa-sink.c (statement_sink_location): Do not sink
loads from hard registers.

* gcc.target/i386/pr61572.c: New testcase.

From-SVN: r211933

10 years agogimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in...
Jakub Jelinek [Tue, 24 Jun 2014 07:53:52 +0000 (09:53 +0200)]
gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in clauses use private clause if...

* gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
not mentioned in clauses use private clause if the iterator is
declared in #pragma omp for simd, and when adding lastprivate
instead, add it to the outer #pragma omp for too.  Diagnose
if the variable is private in outer context.  For simd collapse > 1
loops, replace all iterators with temporaries.
* omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
same even in collapse > 1 loops.
gcc/c/
* c-parser.c (c_parser_omp_for_loop): For
#pragma omp parallel for simd move lastprivate clause from parallel
to for rather than simd.
gcc/cp/
* parser.c (cp_parser_omp_for_loop): For
#pragma omp parallel for simd move lastprivate clause from parallel
to for rather than simd.
libgomp/
* testsuite/libgomp.c/for-2.c: Define SC to static for
#pragma omp for simd testing.
* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
SC macro.
* testsuite/libgomp.c/simd-14.c: New test.
* testsuite/libgomp.c/simd-15.c: New test.
* testsuite/libgomp.c/simd-16.c: New test.
* testsuite/libgomp.c/simd-17.c: New test.
* testsuite/libgomp.c++/for-10.C: Define SC to static for
#pragma omp for simd testing.
* testsuite/libgomp.c++/simd10.C: New test.
* testsuite/libgomp.c++/simd11.C: New test.
* testsuite/libgomp.c++/simd12.C: New test.
* testsuite/libgomp.c++/simd13.C: New test.

From-SVN: r211930

10 years agogimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP, [...]): Make sure OMP_CL...
Jakub Jelinek [Tue, 24 Jun 2014 07:45:22 +0000 (09:45 +0200)]
gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP, [...]): Make sure OMP_CLAUSE_SIZE is non-NULL.

* gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
non-NULL.
<case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
(gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
non-NULL.
(gimplify_adjust_omp_clauses): Likewise.
* omp-low.c (lower_rec_simd_input_clauses,
lower_rec_input_clauses, expand_omp_simd): Handle non-constant
safelen the same as safelen(1).
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED.  For
OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
(convert_nonlocal_reference_stmt, convert_local_reference_stmt):
Fixup handling of GIMPLE_OMP_TARGET.
(convert_tramp_reference_stmt, convert_gimple_call): Handle
GIMPLE_OMP_TARGET.
gcc/fortran/
* dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
of n->udr.
* f95-lang.c (gfc_init_builtin_functions): Initialize
BUILT_IN_ASSUME_ALIGNED.
* gfortran.h (gfc_omp_namelist): Change udr field type to
struct gfc_omp_namelist_udr.
(gfc_omp_namelist_udr): New type.
(gfc_get_omp_namelist_udr): Define.
(gfc_resolve_code): New prototype.
* match.c (gfc_free_omp_namelist): Free name->udr.
* module.c (intrinsics): Add INTRINSIC_USER.
(fix_mio_expr): Likewise.
(mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
* openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
(gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
(struct resolve_omp_udr_callback_data): New type.
(resolve_omp_udr_callback, resolve_omp_udr_callback2,
resolve_omp_udr_clause): New functions.
(resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
here.
(omp_udr_callback): Don't check for implicitly declared functions
here.
(gfc_resolve_omp_udr): Don't call gfc_resolve.  Don't check for
implicitly declared subroutines here.
* resolve.c (resolve_function): If value.function.isym is non-NULL,
consider it already resolved.
(resolve_code): Renamed to ...
(gfc_resolve_code): ... this.  No longer static.
(gfc_resolve_blocks, generate_component_assignments, resolve_codes):
Adjust callers.
* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
by reference type (C_PTR) variables.
(gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
(gfc_trans_omp_udr_expr): Remove.
(gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
expand it as assignment or subroutine call.  Don't initialize
value.function.isym.
gcc/testsuite/
* gfortran.dg/gomp/udr2.f90 (f7, f9): Add !$omp parallel with
reduction clause.
* gfortran.dg/gomp/udr4.f90 (f4): Likewise.
Remove Label is never defined expected error.
* gfortran.dg/gomp/udr8.f90: New test.
libgomp/
* testsuite/libgomp.fortran/aligned1.f03: New test.
* testsuite/libgomp.fortran/nestedfn5.f90: New test.
* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
tasks with !$omp parallel !$omp single.
* testsuite/libgomp.fortran/target8.f90: New test.
* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
not to use trim in the combiner, instead call elemental function.
(fn): New elemental function.
* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
Make elemental.
* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
omp_in): Likewise.
* testsuite/libgomp.fortran/udr12.f90: New test.
* testsuite/libgomp.fortran/udr13.f90: New test.
* testsuite/libgomp.fortran/udr14.f90: New test.
* testsuite/libgomp.fortran/udr15.f90: New test.

From-SVN: r211929

10 years ago[multiple changes]
Chung-Lin Tang [Tue, 24 Jun 2014 06:33:58 +0000 (06:33 +0000)]
[multiple changes]

2014-06-24  Chung-Lin Tang  <cltang@codesourcery.com>

PR tree-optimization/61554
* tree-ssa-propagate.c: Include "bitmap.h".
(substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
properly update constructor/destructor.
(substitute_and_fold_dom_walker::before_dom_children):
Remove call to gimple_purge_dead_eh_edges, add bb->index to
need_eh_cleaup instead.
(substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
need_eh_cleanup.

testsuite/
2014-06-24  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR tree-optimization/61554
* g++.dg/torture/pr61554.C: New testcase.

From-SVN: r211928

10 years agostrlen-overflow-1.c: Change match patterns.
Max Ostapenko [Tue, 24 Jun 2014 05:52:30 +0000 (08:52 +0300)]
strlen-overflow-1.c: Change match patterns.

gcc/testsuite/
2014-06-23  Max Ostapenko  <m.ostapenko@partner.samsung.com>

* c-c++-common/asan/strlen-overflow-1.c: Change match patterns.

From-SVN: r211927

10 years agolocalalias-2.c: Guard by require-alias.
Jan Hubicka [Tue, 24 Jun 2014 03:09:26 +0000 (05:09 +0200)]
localalias-2.c: Guard by require-alias.

* gcc.dg/localalias-2.c: Guard by require-alias.
* gcc.dg/globalalias-2.c: Likewise.

From-SVN: r211926

10 years agovarpool.c (dump_varpool_node): Dump used_by_single_function.
Jan Hubicka [Tue, 24 Jun 2014 03:07:13 +0000 (05:07 +0200)]
varpool.c (dump_varpool_node): Dump used_by_single_function.

* varpool.c (dump_varpool_node): Dump used_by_single_function.
* tree-pass.h (make_pass_ipa_single_use): New pass.
* cgraph.h (used_by_single_function): New flag.
* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
it.
* passes.def (pass_ipa_single_use): Scedule.
* ipa.c (BOTTOM): New macro.
(meet): New function
(propagate_single_user): New function.
(ipa_single_use): New function.
(pass_data_ipa_single_use): New pass.
(pass_ipa_single_use): New pass.
(pass_ipa_single_use::gate): New gate.
(make_pass_ipa_single_use): New function.

From-SVN: r211925

10 years agoDaily bump.
GCC Administrator [Tue, 24 Jun 2014 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r211924

10 years agoany (any_v1): Rename namespace to fundamentals_v1.
Jonathan Wakely [Mon, 23 Jun 2014 22:12:31 +0000 (23:12 +0100)]
any (any_v1): Rename namespace to fundamentals_v1.

* include/experimental/any (any_v1): Rename namespace to
fundamentals_v1. Change string returned by bad_any_cast::what().
* include/experimental/optional (fundamentals_v1): Add namespace.
* include/experimental/string_view (fundamentals_v1): Likewise.
* testsuite/experimental/any/typedefs.cc: New.
* testsuite/experimental/optional/typedefs.cc: New.
* testsuite/experimental/string_view/typedefs.cc: New.

From-SVN: r211920

10 years agore PR middle-end/39284 (Computed gotos combined too aggressively)
Kai Tietz [Mon, 23 Jun 2014 21:52:31 +0000 (23:52 +0200)]
re PR middle-end/39284 (Computed gotos combined too aggressively)

        PR target/39284
        * passes.def (peephole2): Move peephole2 pass before
        before sched2 pass.
        * config/i386/i386.md (peehole2): Combine memories
        and indirect jumps.

From-SVN: r211919

10 years ago* gcc.target/i386/indjmp-1.c: New test.
Kai Tietz [Mon, 23 Jun 2014 21:50:48 +0000 (23:50 +0200)]
* gcc.target/i386/indjmp-1.c: New test.

From-SVN: r211918

10 years ago20140723-1.c: New testcase.
Andrew Pinski [Mon, 23 Jun 2014 21:12:56 +0000 (21:12 +0000)]
20140723-1.c: New testcase.

2014-06-23  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/compile/20140723-1.c: New testcase.

From-SVN: r211917

10 years agoRevert "2014-06-23 Paul Gortmaker <paul.gortmaker@windriver.com>"
Jeff Law [Mon, 23 Jun 2014 20:31:52 +0000 (14:31 -0600)]
Revert "2014-06-23  Paul Gortmaker  <paul.gortmaker@windriver.com>"

This reverts commit ed8c02da028fb10d25a682e1838ba8b23a2c34ff.

From-SVN: r211915

10 years agoFix include path for in-tree cloog.
Bernd Edlinger [Mon, 23 Jun 2014 19:15:16 +0000 (19:15 +0000)]
Fix include path for in-tree cloog.

2014-06-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix include path for in-tree cloog.
        * config/cloog.m4 (CLOOG_INIT_FLAGS): Remove bogus include path.
        * configure: Regenerate.

P.S: moved a few ChangeLog entries to gcc/ChangeLog

From-SVN: r211913

10 years agosanitizer_common_interceptors.inc: Cherry pick upstream r211008.
Paolo Carlini [Mon, 23 Jun 2014 19:03:07 +0000 (19:03 +0000)]
sanitizer_common_interceptors.inc: Cherry pick upstream r211008.

2014-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

* sanitizer_common/sanitizer_common_interceptors.inc:
Cherry pick upstream r211008.

From-SVN: r211912

10 years agogcc.c (set_multilib_dir): Fix typo.
Paul Gortmaker [Mon, 23 Jun 2014 18:51:36 +0000 (18:51 +0000)]
gcc.c (set_multilib_dir): Fix typo.

2014-06-23  Paul Gortmaker  <paul.gortmaker@windriver.com>

        * gcc.c (set_multilib_dir): Fix typo.

From-SVN: r211911

10 years agore PR c/61553 (__atomic_store with non-pointer arg ICE)
Marek Polacek [Mon, 23 Jun 2014 18:23:19 +0000 (18:23 +0000)]
re PR c/61553 (__atomic_store with non-pointer arg ICE)

PR c/61553
* c-c++-common/pr61553.c (foo): Add dg-error.

From-SVN: r211910

10 years agore PR libstdc++/61532 (make_signed and make_unsigned wchar_t have started failing...
Jonathan Wakely [Mon, 23 Jun 2014 18:17:03 +0000 (19:17 +0100)]
re PR libstdc++/61532 (make_signed and make_unsigned wchar_t have started failing in the libstdc++ testsuite.)

PR libstdc++/61532
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
apply the signed specifier to wchar_t.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
cv-qualifier and size.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.

From-SVN: r211909

10 years agotrans-decl.c (gfc_trans_deferred_vars): Fix handling of explicit-size arrays with...
Tobias Burnus [Mon, 23 Jun 2014 17:09:08 +0000 (19:09 +0200)]
trans-decl.c (gfc_trans_deferred_vars): Fix handling of explicit-size arrays with -fcoarray=lib.

gcc/fortran/
2014-06-23  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c (gfc_trans_deferred_vars): Fix handling of
        explicit-size arrays with -fcoarray=lib.

gcc/testsuite/
2014-06-23  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_32.f90: New.

From-SVN: r211907

10 years agoDR 577 PR c++/33101
Paolo Carlini [Mon, 23 Jun 2014 17:05:33 +0000 (17:05 +0000)]
DR 577 PR c++/33101

/cp
2014-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

DR 577
PR c++/33101
* decl.c (grokparms): Accept a single parameter of type 'void'.

/testsuite
2014-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

DR 577
PR c++/33101
* g++.dg/other/void1.C: Adjust.
* g++.dg/other/void3.C: Likewise.

From-SVN: r211906

10 years agore PR c/61553 (__atomic_store with non-pointer arg ICE)
Marek Polacek [Mon, 23 Jun 2014 16:57:48 +0000 (16:57 +0000)]
re PR c/61553 (__atomic_store with non-pointer arg ICE)

PR c/61553
* c-common.c (get_atomic_generic_size): Don't segfault if the
type doesn't have a size.

* c-c++-common/pr61553.c: New test.

Co-Authored-By: Andrew MacLeod <amacleod@redhat.com>
From-SVN: r211905

10 years agotree-ssa-loop.c (gate_loop): New function.
Richard Biener [Mon, 23 Jun 2014 16:51:10 +0000 (16:51 +0000)]
tree-ssa-loop.c (gate_loop): New function.

2014-06-23  Richard Biener  <rguenther@suse.de>

* tree-ssa-loop.c (gate_loop): New function.
(pass_tree_loop::gate): Call it.
(pass_data_tree_no_loop, pass_tree_no_loop,
make_pass_tree_no_loop): New.
* tree-vectorizer.c: Include tree-scalar-evolution.c
(pass_slp_vectorize::execute): Initialize loops and SCEV if
required.
(pass_slp_vectorize::clone): New method.
* timevar.def (TV_TREE_NOLOOP): New.
* tree-pass.h (make_pass_tree_no_loop): Declare.
* passes.def (pass_tree_no_loop): New pass group with
SLP vectorizer.

* g++.dg/vect/slp-pr50413.cc: Scan and cleanup appropriate SLP dumps.
* g++.dg/vect/slp-pr50819.cc: Likewise.
* g++.dg/vect/slp-pr56812.cc: Likewise.
* gcc.dg/vect/bb-slp-1.c: Likewise.
* gcc.dg/vect/bb-slp-10.c: Likewise.
* gcc.dg/vect/bb-slp-11.c: Likewise.
* gcc.dg/vect/bb-slp-13.c: Likewise.
* gcc.dg/vect/bb-slp-14.c: Likewise.
* gcc.dg/vect/bb-slp-15.c: Likewise.
* gcc.dg/vect/bb-slp-16.c: Likewise.
* gcc.dg/vect/bb-slp-17.c: Likewise.
* gcc.dg/vect/bb-slp-18.c: Likewise.
* gcc.dg/vect/bb-slp-19.c: Likewise.
* gcc.dg/vect/bb-slp-2.c: Likewise.
* gcc.dg/vect/bb-slp-20.c: Likewise.
* gcc.dg/vect/bb-slp-21.c: Likewise.
* gcc.dg/vect/bb-slp-22.c: Likewise.
* gcc.dg/vect/bb-slp-23.c: Likewise.
* gcc.dg/vect/bb-slp-24.c: Likewise.
* gcc.dg/vect/bb-slp-25.c: Likewise.
* gcc.dg/vect/bb-slp-26.c: Likewise.
* gcc.dg/vect/bb-slp-27.c: Likewise.
* gcc.dg/vect/bb-slp-28.c: Likewise.
* gcc.dg/vect/bb-slp-29.c: Likewise.
* gcc.dg/vect/bb-slp-3.c: Likewise.
* gcc.dg/vect/bb-slp-30.c: Likewise.
* gcc.dg/vect/bb-slp-31.c: Likewise.
* gcc.dg/vect/bb-slp-32.c: Likewise.
* gcc.dg/vect/bb-slp-4.c: Likewise.
* gcc.dg/vect/bb-slp-5.c: Likewise.
* gcc.dg/vect/bb-slp-6.c: Likewise.
* gcc.dg/vect/bb-slp-7.c: Likewise.
* gcc.dg/vect/bb-slp-8.c: Likewise.
* gcc.dg/vect/bb-slp-8a.c: Likewise.
* gcc.dg/vect/bb-slp-8b.c: Likewise.
* gcc.dg/vect/bb-slp-9.c: Likewise.
* gcc.dg/vect/bb-slp-cond-1.c: Likewise.
* gcc.dg/vect/bb-slp-pattern-1.c: Likewise.
* gcc.dg/vect/bb-slp-pattern-2.c: Likewise.
* gcc.dg/vect/fast-math-bb-slp-call-1.c: Likewise.
* gcc.dg/vect/fast-math-bb-slp-call-2.c: Likewise.
* gcc.dg/vect/fast-math-bb-slp-call-3.c: Likewise.
* gcc.dg/vect/no-tree-reassoc-bb-slp-12.c: Likewise.
* gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Likewise.
* gcc.dg/vect/pr26359.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Likewise.

From-SVN: r211904

10 years agoc-typeck.c (parser_build_binary_op): Don't call warn_logical_not_parentheses if the...
Marek Polacek [Mon, 23 Jun 2014 16:38:48 +0000 (16:38 +0000)]
c-typeck.c (parser_build_binary_op): Don't call warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.

* c-typeck.c (parser_build_binary_op): Don't call
warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.

* c-c++-common/pr49706-2.c: New test.

From-SVN: r211902

10 years agoAssume x86-64 if a 32-bit processor supports SSE2 and 64-bit
H.J. Lu [Mon, 23 Jun 2014 16:28:36 +0000 (16:28 +0000)]
Assume x86-64 if a 32-bit processor supports SSE2 and 64-bit

PR target/61570
* config/i386/driver-i386.c (host_detect_local_cpu): Set arch
to x86-64 if a 32-bit processor supports SSE2 and 64-bit.

From-SVN: r211901

10 years agore PR libgcc/61585 (Subscript-out-of-range in unwind-seh.c?)
Kai Tietz [Mon, 23 Jun 2014 16:20:31 +0000 (18:20 +0200)]
re PR libgcc/61585 (Subscript-out-of-range in unwind-seh.c?)

PR libgcc/61585
* unwind-seh.c (_Unwind_GetGR): Check for proper
index range.
(_Unwind_SetGR): Likewise.

From-SVN: r211900

10 years agoRe: [AArch64] Implement ADD in vector registers for 32-bit scalar values.
James Greenhalgh [Mon, 23 Jun 2014 16:00:02 +0000 (16:00 +0000)]
Re: [AArch64] Implement ADD in vector registers for 32-bit scalar values.

gcc/

* config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
"yes" where needed.

From-SVN: r211899

10 years agore PR bootstrap/61583 (stage2 and stage3 compare failure due to value range loss)
Alan Modra [Mon, 23 Jun 2014 15:08:30 +0000 (00:38 +0930)]
re PR bootstrap/61583 (stage2 and stage3 compare failure due to value range loss)

gcc/
PR bootstrap/61583
* tree-vrp.c (remove_range_assertions): Do not set is_unreachable
to zero on debug statements.
gcc/testsuite/
* gcc.dg/pr61583.c: New.

From-SVN: r211897

10 years agoPR/60825 Make {int,uint}64x1_t in arm_neon.h a proper vector type
Alan Lawrence [Mon, 23 Jun 2014 14:07:42 +0000 (14:07 +0000)]
PR/60825 Make {int,uint}64x1_t in arm_neon.h a proper vector type

gcc/ChangeLog:
  PR target/60825
* config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
Ignore third operand if present by marking qualifier_internal.

* config/aarch64/aarch64-simd-builtins.def (abs): Comment.

* config/aarch64/arm_neon.h (int64x1_t, uint64x1_t): Typedef to GCC
vector extension.
(aarch64_vget_lane_s64, aarch64_vdup_lane_s64,
arch64_vdupq_lane_s64, aarch64_vdupq_lane_u64): Remove macro.
(vqadd_s64, vqadd_u64, vqsub_s64, vqsub_u64, vqneg_s64, vqabs_s64,
vcreate_s64, vcreate_u64, vreinterpret_s64_f64, vreinterpret_u64_f64,
vcombine_u64, vbsl_s64, vbsl_u64, vceq_s64, vceq_u64, vceqz_s64,
vceqz_u64, vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64,
vcgtz_s64, vcle_s64, vcle_u64, vclez_s64, vclt_s64, vclt_u64,
vcltz_s64, vdup_n_s64, vdup_n_u64, vld1_s64, vld1_u64, vmov_n_s64,
vmov_n_u64, vqdmlals_lane_s32, vqdmlsls_lane_s32,
vqdmulls_lane_s32, vqrshl_s64, vqrshl_u64, vqrshl_u64, vqshl_s64,
vqshl_u64, vqshl_n_s64, vqshl_n_u64, vqshl_n_s64, vqshl_n_u64,
vqshlu_n_s64, vrshl_s64, vrshl_u64, vrshr_n_s64, vrshr_n_u64,
vrsra_n_s64, vrsra_n_u64, vshl_n_s64, vshl_n_u64, vshl_s64,
vshl_u64, vshr_n_s64, vshr_n_u64, vsli_n_s64, vsli_n_u64,
vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
logic in GCC vector extensions

(vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
vcltzd_s64, vqdmlals_s32, vqdmlsls_s32, vqmovnd_s64, vqmovnd_u64
vqmovund_s64, vqrshld_s64, vqrshld_u64, vqrshrnd_n_s64,
vqrshrnd_n_u64, vqrshrund_n_s64, vqshld_s64, vqshld_u64,
vqshld_n_u64, vqshrnd_n_s64, vqshrnd_n_u64, vqshrund_n_s64,
vrshld_u64, vrshrd_n_u64, vrsrad_n_u64, vshld_n_u64, vshld_s64,
vshld_u64, vslid_n_u64, vsqaddd_u64, vsrad_n_u64, vsrid_n_u64,
vsubd_s64, vsubd_u64, vtstd_s64, vtstd_u64): Fix type signature.

(vabs_s64): Use GCC vector extensions; call __builtin_aarch64_absdi.

(vget_high_s64, vget_high_u64): Reimplement with GCC vector
extensions.

(__GET_LOW, vget_low_u64): Wrap result using vcreate_u64.
(vget_low_s64): Use __GET_LOW macro.
(vget_lane_s64, vget_lane_u64, vdupq_lane_s64, vdupq_lane_u64): Use
gcc vector extensions, add call to __builtin_aarch64_lane_boundsi.
(vdup_lane_s64, vdup_lane_u64,): Add __builtin_aarch64_lane_bound_si.
(vdupd_lane_s64, vdupd_lane_u64): Fix type signature, add
__builtin_aarch64_lane_boundsi, use GCC vector extensions.

(vcombine_s64): Use GCC vector extensions; remove cast.
(vqaddd_s64, vqaddd_u64, vqdmulls_s32, vqshld_n_s64, vqshlud_n_s64,
vqsubd_s64, vqsubd_u64, vrshld_s64, vrshrd_n_s64, vrsrad_n_s64,
vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
Fix type signature; remove cast.

gcc/testsuite/ChangeLog:
* g++.dg/abi/mangle-neon-aarch64.C (f22, f23): New tests of
[u]int64x1_t.

* gcc.target/aarch64/aapcs64/func-ret-64x1_1.c: Add {u,}int64x1 cases.
* gcc.target/aarch64/aapcs64/test_64x1_1.c: Likewise.

* gcc.target/aarch64/scalar_intrinsics.c (test_vaddd_u64,
test_vaddd_s64, test_vceqd_s64, test_vceqzd_s64, test_vcged_s64,
test_vcled_s64, test_vcgezd_s64, test_vcged_u64, test_vcgtd_s64,
test_vcltd_s64, test_vcgtzd_s64, test_vcgtd_u64, test_vclezd_s64,
test_vcltzd_s64, test_vqaddd_u64, test_vqaddd_s64, test_vqdmlals_s32,
test_vqdmlsls_s32, test_vqdmulls_s32, test_vuqaddd_s64,
test_vsqaddd_u64, test_vqmovund_s64, test_vqmovnd_s64,
test_vqmovnd_u64, test_vsubd_u64, test_vsubd_s64, test_vqsubd_u64,
test_vqsubd_s64, test_vshld_s64, test_vshld_u64, test_vrshld_s64,
test_vrshld_u64, test_vshrd_n_s64, test_vshrd_n_u64, test_vsrad_n_s64,
test_vsrad_n_u64, test_vrshrd_n_s64, test_vrshrd_n_u64,
test_vrsrad_n_s64, test_vrsrad_n_u64, test_vqrshld_s64,
test_vqrshld_u64, test_vqshlud_n_s64, test_vqshld_s64, test_vqshld_u64,
test_vqshld_n_u64, test_vqshrund_n_s64, test_vqrshrund_n_s64,
test_vqshrnd_n_s64, test_vqshrnd_n_u64, test_vqrshrnd_n_s64,
test_vqrshrnd_n_u64, test_vshld_n_s64, test_vshdl_n_u64,
test_vslid_n_s64, test_vslid_n_u64, test_vsrid_n_s64,
test_vsrid_n_u64): Fix signature to match intrinsic.

(test_vabs_s64): Remove.
(test_vaddd_s64_2, test_vsubd_s64_2): Use force_simd.

(test_vdupd_lane_s64): Rename to...
(test_vdupd_laneq_s64): ...and remove a call to force_simd.

(test_vdupd_lane_u64): Rename to...
(test_vdupd_laneq_u64): ...and remove a call to force_simd.

(test_vtst_s64): Rename to...
(test_vtstd_s64): ...and change int64x1_t to int64_t.

(test_vtst_u64): Rename to...
(test_vtstd_u64): ...and change uint64x1_t to uint64_t.

* gcc.target/aarch64/singleton_intrinsics_1.c: New file.
* gcc.target/aarch64/vdup_lane_1.c, gcc.target/aarch64/vdup_lane_2.c:
Remove out-of-bounds tests.
* gcc.target/aarch64/vneg_s.c (INDEX*, RUN_TEST): Remove INDEX macro.

From-SVN: r211894

10 years agoPR/60825 Make float64x1_t in arm_neon.h a proper vector type
Alan Lawrence [Mon, 23 Jun 2014 12:46:52 +0000 (12:46 +0000)]
PR/60825 Make float64x1_t in arm_neon.h a proper vector type

gcc/ChangeLog:
PR target/60825
* config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
V1DFmode.
* config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_type_mode):
add V1DFmode
(BUILTIN_VD1): New.
(BUILTIN_VD_RE): Remove.
(aarch64_init_simd_builtins): Add V1DF to modes/modenames.
(aarch64_fold_builtin): Update reinterpret patterns, df becomes v1df.
* config/aarch64/aarch64-simd-builtins.def (create): Make a v1df
variant but not df.
(vreinterpretv1df*, vreinterpret*v1df): New.
(vreinterpretdf*, vreinterpret*df): Remove.
* config/aarch64/aarch64-simd.md (aarch64_create, aarch64_reinterpret*):
Generate V1DFmode pattern not DFmode.
* config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
(VD1): New.
* config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
(vcreate_f64): Remove cast, use v1df builtin.
(vcombine_f64): Remove cast, get elements with gcc vector extensions.
(vget_low_f64, vabs_f64, vceq_f64, vceqz_f64, vcge_f64, vgfez_f64,
vcgt_f64, vcgtz_f64, vcle_f64, vclez_f64, vclt_f64, vcltz_f64,
vdup_n_f64, vdupq_lane_f64, vld1_f64, vld2_f64, vld3_f64, vld4_f64,
vmov_n_f64, vst1_f64): Use gcc vector extensions.
(vget_lane_f64, vdupd_lane_f64, vmulq_lane_f64, ): Use gcc extensions,
add range check using __builtin_aarch64_im_lane_boundsi.
(vfma_lane_f64, vfmad_lane_f64, vfma_laneq_f64, vfmaq_lane_f64,
vfms_lane_f64, vfmsd_lane_f64, vfms_laneq_f64, vfmsq_lane_f64): Fix
type signature, use gcc vector extensions.
(vreinterpret_p8_f64, vreinterpret_p16_f64, vreinterpret_f32_f64,
vreinterpret_f64_f32, vreinterpret_f64_p8, vreinterpret_f64_p16,
vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32,
vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16,
vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpret_s8_f64,
vreinterpret_s16_f64, vreinterpret_s32_f64, vreinterpret_s64_f64,
vreinterpret_u8_f64, vreinterpret_u16_f64, vreinterpret_u32_f64,
vreinterpret_u64_f64): Use v1df builtin not df.

gcc/testsuite/ChangeLog:
* g++.dg/abi/mangle-neon-aarch64.C: Also test mangling of float64x1_t.
* gcc.target/aarch64/aapcs/test_64x1_1.c: New test.
* gcc.target/aarch64/aapcs/func-ret-64x1_1.c: New test.
* gcc.target/aarch64/simd/ext_f64_1.c (main): Compare vector elements.
* gcc.target/aarch64/vadd_f64.c: Rewrite with macro to use vector types.
* gcc.target/aarch64/vsub_f64.c: Likewise.
* gcc.target/aarch64/vdiv_f.c (INDEX*, RUN_TEST): Remove indexing scheme
as now the same for all variants.
* gcc.target/aarch64/vrnd_f64_1.c (compare_f64): Return float64_t not
float64x1_t.

From-SVN: r211892

10 years agoparse_numbers.h (_Number_help): Fix divide-by-zero.
Jonathan Wakely [Mon, 23 Jun 2014 11:30:32 +0000 (12:30 +0100)]
parse_numbers.h (_Number_help): Fix divide-by-zero.

* include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
* include/std/chrono (_Checked_integral_constant): Allow zero.
* testsuite/20_util/duration/literals/values.cc: Test non-positive
values and digit separators.

From-SVN: r211890

10 years ago[AArch64] Implement ADD in vector registers for 32-bit scalar values.
James Greenhalgh [Mon, 23 Jun 2014 09:04:40 +0000 (09:04 +0000)]
[AArch64] Implement ADD in vector registers for 32-bit scalar values.

gcc/

* config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
vector registers.

gcc/testsuite/

* gcc.target/aarch64/scalar_shift_1.c: Fix expected assembler.

From-SVN: r211887

10 years agolto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority directly.
Jan Hubicka [Mon, 23 Jun 2014 06:33:35 +0000 (08:33 +0200)]
lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority directly.

* lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
directly.

From-SVN: r211886

10 years agoloop-invariant.c (pre_check_invariant_p): New function.
Zhenqiang Chen [Mon, 23 Jun 2014 02:47:54 +0000 (02:47 +0000)]
loop-invariant.c (pre_check_invariant_p): New function.

2014-06-23  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* loop-invariant.c (pre_check_invariant_p): New function.
(find_invariant_insn): Call pre_check_invariant_p.

From-SVN: r211885

10 years agoDaily bump.
GCC Administrator [Mon, 23 Jun 2014 00:16:31 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r211884

10 years agore PR bootstrap/61565 (ICE building libjava/interpret.cc)
Richard Henderson [Sun, 22 Jun 2014 19:32:57 +0000 (12:32 -0700)]
re PR bootstrap/61565 (ICE building libjava/interpret.cc)

PR target/61565

* compare-elim.c (struct comparison): Add eh_note.
(find_comparison_dom_walker::before_dom_children): Don't eliminate
a redundant comparison in a different EH region.  Purge EH edges if
necessary.

From-SVN: r211881

10 years agors6000: Merge the var_shift yes/no alternatives
Segher Boessenkool [Sun, 22 Jun 2014 17:21:08 +0000 (19:21 +0200)]
rs6000: Merge the var_shift yes/no alternatives

All instructions that are "var_shift" for some alternative have the shift
amount as operands[2].

This patch introduces an attribute "maybe_var_shift".  If that is set to
"yes", the default value of "var_shift" is set based on the operands[2]
value.

With that, we can merge the var_shift yes/no cases everywhere.  Do so.

Also change some more "i" to "n".

From-SVN: r211880

10 years agors6000: Merge ashrsi3 and ashrdi3
Segher Boessenkool [Sun, 22 Jun 2014 17:18:05 +0000 (19:18 +0200)]
rs6000: Merge ashrsi3 and ashrdi3

From-SVN: r211879

10 years agors6000: Merge rotlsi3 and rotldi3
Segher Boessenkool [Sun, 22 Jun 2014 17:16:03 +0000 (19:16 +0200)]
rs6000: Merge rotlsi3 and rotldi3

This uses the rotl* extended mnemonics instead of the rlw*nm and rld*cl
mnemonics, because they are shorter and more importantly they look the
same for 32-bit and 64-bit.

From-SVN: r211878

10 years agoMerge ashlsi3 and ashldi3
Segher Boessenkool [Sun, 22 Jun 2014 17:14:02 +0000 (19:14 +0200)]
Merge ashlsi3 and ashldi3

From-SVN: r211877

10 years agors6000: Merge lshrsi3 and lshrdi3
Segher Boessenkool [Sun, 22 Jun 2014 17:11:55 +0000 (19:11 +0200)]
rs6000: Merge lshrsi3 and lshrdi3

For this create a new mode_attr "hH".

Also change "i" constraints on the shift amount to "n", which better
describes what it really is (GCC takes the integer value of these
operands and does arithmetic on them; symbolic constants will not work
here).

Also merge the "dot" insns with the corresponding splitters.  To do
this, don't allow the dot insns for CBE non-microcode mode at all
(it previously would just split it back always).

From-SVN: r211876

10 years agors6000: Remove "O" alternative from lshrsi3
Segher Boessenkool [Sun, 22 Jun 2014 17:09:24 +0000 (19:09 +0200)]
rs6000: Remove "O" alternative from lshrsi3

Nothing will ever generate RTL matching this alternative.  Maybe long
ago this was needed, but not anymore.

From-SVN: r211875

10 years agomips.c (mips_move_to_gpr_cost): Remove mode argument.
Richard Sandiford [Sun, 22 Jun 2014 09:57:02 +0000 (09:57 +0000)]
mips.c (mips_move_to_gpr_cost): Remove mode argument.

gcc/
* config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
(mips_move_from_gpr_cost): Likewise.
(mips_register_move_cost): Update accordingly.
(mips_secondary_reload_class): Remove name of in_p.

From-SVN: r211874