platform/upstream/linaro-gcc.git
10 years ago * parser.c (cp_parser_for_init_statement): Change range-for error
jason [Thu, 26 Jun 2014 18:15:42 +0000 (18:15 +0000)]
* parser.c (cp_parser_for_init_statement): Change range-for error
to pedwarn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212044 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago N3994 Ranged-based for-loops: The Next Generation
jason [Thu, 26 Jun 2014 18:15:36 +0000 (18:15 +0000)]
N3994 Ranged-based for-loops: The Next Generation
* parser.c (cp_lexer_nth_token_is): New.
(cp_parser_for_init_statement): Allow "for (id : init)".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212043 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * c-common.h (enum cxx_dialect): Add cxx1z.
jason [Thu, 26 Jun 2014 18:15:29 +0000 (18:15 +0000)]
* c-common.h (enum cxx_dialect): Add cxx1z.
* c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
* c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212042 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-26 Teresa Johnson <tejohnson@google.com>
tejohnson [Thu, 26 Jun 2014 17:54:19 +0000 (17:54 +0000)]
2014-06-26  Teresa Johnson  <tejohnson@google.com>

* c-family/c-common.h (get_dump_info): Declare.
* c-family/c-gimplify.c (c_genericize): Use saved dump files.
* c-family/c-opts.c (c_common_parse_file): Begin and end dumps
once around parsing invocation.
(get_dump_info): New function.
* cp/class.c (dump_class_hierarchy): Use saved dump files.
(dump_vtable): Ditto.
(dump_vtt): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212041 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-26 Teresa Johnson <tejohnson@google.com>
tejohnson [Thu, 26 Jun 2014 17:45:52 +0000 (17:45 +0000)]
2014-06-26  Teresa Johnson  <tejohnson@google.com>

* doc/invoke.texi: Fix typo.
* dumpfile.c: Add support for documented -fdump-* options
optimized/missed/note/optall.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212040 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 26 Jun 2014 15:34:59 +0000 (15:34 +0000)]
2014-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56633
* g++.dg/cpp0x/deleted8.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212037 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-26 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 26 Jun 2014 14:54:59 +0000 (14:54 +0000)]
2014-06-26  Martin Jambor  <mjambor@suse.cz>

* params.def (PARAM_ALLOW_LOAD_DATA_RACES)
(PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
(PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
(PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
* opts.c (default_options_optimization): Set
PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
* doc/invoke.texi (allow-load-data-races)
(allow-packed-load-data-races, allow-packed-store-data-races):
Removed.
(allow-store-data-races): Document the new default.

testsuite/
* g++.dg/simulate-thread/bitfields-2.C: Remove allow-load-data-races
parameter.
* g++.dg/simulate-thread/bitfields.C: Likewise.
* gcc.dg/simulate-thread/strict-align-global.c: Remove
allow-packed-store-data-races parameter.
* gcc.dg/simulate-thread/subfields.c: Likewise.
* gcc.dg/tree-ssa/20050314-1.c: Set parameter allow-store-data-races
to one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212034 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemoved file marked as removed in r211987.
marxin [Thu, 26 Jun 2014 14:24:34 +0000 (14:24 +0000)]
Removed file marked as removed in r211987.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212031 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoChangeLog entry splitted to gcc/ChangeLog and gcc/lto/ChangeLog.
marxin [Thu, 26 Jun 2014 13:07:29 +0000 (13:07 +0000)]
ChangeLog entry splitted to gcc/ChangeLog and gcc/lto/ChangeLog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212029 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-26 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 26 Jun 2014 12:55:40 +0000 (12:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212028 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
redi [Thu, 26 Jun 2014 12:43:59 +0000 (12:43 +0000)]
* include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
parameter type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212027 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Jun 2014 11:29:34 +0000 (11:29 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212026 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago gcc/testsuite/
vp [Thu, 26 Jun 2014 10:35:47 +0000 (10:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212024 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago gcc/testsuite/
vp [Thu, 26 Jun 2014 10:25:12 +0000 (10:25 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212023 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212022 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPart 2 of the collect-utils library, now also used for collect2.
bernds [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212020 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSmall cleanups before making collect2 use collect-utils.
bernds [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212019 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMake a collect-utils library for use by tools like collect2 and lto-wrapper.
bernds [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212018 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212017 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * lib/target-supports.exp (check_effective_target_trapping): Fix
nickc [Thu, 26 Jun 2014 09:03:54 +0000 (09:03 +0000)]
* lib/target-supports.exp (check_effective_target_trapping): Fix
typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212016 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * doc/extend.texi (Function Attributes): Fix typo in description
nickc [Thu, 26 Jun 2014 09:00:06 +0000 (09:00 +0000)]
* doc/extend.texi (Function Attributes): Fix typo in description
of RX vector attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212015 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[ARM] Error if overriding --with-tune by --with-cpu
jgreenhalgh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212014 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Jun 2014 07:56:10 +0000 (07:56 +0000)]
2014-06-26  Richard Biener  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212013 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Jun 2014 07:44:10 +0000 (07:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212011 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix PR c++/61537
abutcher [Thu, 26 Jun 2014 05:12:52 +0000 (05:12 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212008 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * toplev.c (backend_init_target): Move init_emit_regs and init_regs to...
hubicka [Thu, 26 Jun 2014 02:28:37 +0000 (02:28 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212007 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212006 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
redi [Wed, 25 Jun 2014 23:05:58 +0000 (23:05 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212003 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Wed, 25 Jun 2014 22:27:10 +0000 (22:27 +0000)]
2014-06-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212000 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
law [Wed, 25 Jun 2014 21:21:12 +0000 (21:21 +0000)]
2014-06-25  Paul Gortmaker  <paul.gortmaker@windriver.com>
            Jakub Jelinek  <jakub@redhat.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211997 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * include/Makefile.am: Add new header.
redi [Wed, 25 Jun 2014 20:54:46 +0000 (20:54 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211996 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
redi [Wed, 25 Jun 2014 20:54:34 +0000 (20:54 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211995 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/fortran/
burnus [Wed, 25 Jun 2014 20:33:38 +0000 (20:33 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211994 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-25 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 25 Jun 2014 20:31:32 +0000 (20:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211993 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/fortran/
burnus [Wed, 25 Jun 2014 20:26:42 +0000 (20:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211992 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove superfluous clobber of cc in arm_emit_call_insn
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211990 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Wed, 25 Jun 2014 17:24:34 +0000 (17:24 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211988 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoIPA REF refactoring
marxin [Wed, 25 Jun 2014 16:55:46 +0000 (16:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211987 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agofix typo in winnt.c
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211986 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agofix checking=fold
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211985 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
dje [Wed, 25 Jun 2014 14:46:08 +0000 (14:46 +0000)]
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211982 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Wed, 25 Jun 2014 14:27:35 +0000 (14:27 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211981 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-25 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 25 Jun 2014 13:35:24 +0000 (13:35 +0000)]
2014-06-25  Martin Jambor  <mjambor@suse.cz>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211980 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c/61162
mpolacek [Wed, 25 Jun 2014 12:43:05 +0000 (12:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211978 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-25 Marc Glisse <marc.glisse@inria.fr>
glisse [Wed, 25 Jun 2014 12:27:13 +0000 (12:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211977 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/v850/v850.c (GHS_default_section_names): Change to const
nickc [Wed, 25 Jun 2014 09:21:59 +0000 (09:21 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211972 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
jakub [Wed, 25 Jun 2014 09:16:12 +0000 (09:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211971 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-25 Richard Biener <rguenther@suse.de>
rguenth [Wed, 25 Jun 2014 08:37:37 +0000 (08:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211970 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdjust options for use of Neon with multilib testing.
ramana [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211969 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-24 Cong Hou <congh@google.com>
congh [Wed, 25 Jun 2014 02:58:43 +0000 (02:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211966 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211965 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFixup const qualification of the argument passed to hash_table::find_slot
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211962 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211961 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * class.c (check_methods, create_vtable_ptr, determine_key_method,
hubicka [Tue, 24 Jun 2014 23:14:26 +0000 (23:14 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211960 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-24 Catherine Moore <clm@codesourcery.com>
sandra [Tue, 24 Jun 2014 22:07:39 +0000 (22:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211959 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211958 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-24 Marc Glisse <marc.glisse@inria.fr>
glisse [Tue, 24 Jun 2014 19:09:57 +0000 (19:09 +0000)]
2014-06-24  Marc Glisse  <marc.glisse@inria.fr>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211957 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-24 Marc Glisse <marc.glisse@inria.fr>
glisse [Tue, 24 Jun 2014 18:50:00 +0000 (18:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211956 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMake the AAPCS64 function return tests more robust.
yufeng [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211954 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
redi [Tue, 24 Jun 2014 15:44:17 +0000 (15:44 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211951 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/61570
jakub [Tue, 24 Jun 2014 14:58:19 +0000 (14:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211945 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Tue, 24 Jun 2014 14:47:42 +0000 (14:47 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211944 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRevert the last change on driver-i386.c
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211943 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoadd hash_map class
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211938 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoallow storing values directly in hash tables
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211937 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove a layer of indirection from hash_table
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211936 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.target/aarch64/singleton_intrinsics_1.c: Save temps and cleanup.
alalaw01 [Tue, 24 Jun 2014 11:38:02 +0000 (11:38 +0000)]
* gcc.target/aarch64/singleton_intrinsics_1.c: Save temps and cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211934 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-24 Richard Biener <rguenther@suse.de>
rguenth [Tue, 24 Jun 2014 10:35:30 +0000 (10:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211933 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
jakub [Tue, 24 Jun 2014 07:53:52 +0000 (07:53 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211930 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
jakub [Tue, 24 Jun 2014 07:45:22 +0000 (07:45 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211929 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-24 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Tue, 24 Jun 2014 06:33:58 +0000 (06:33 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211928 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/testsuite/
chefmax [Tue, 24 Jun 2014 05:52:30 +0000 (05:52 +0000)]
gcc/testsuite/
2014-06-23  Max Ostapenko  <m.ostapenko@partner.samsung.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211927 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.dg/localalias-2.c: Guard by require-alias.
hubicka [Tue, 24 Jun 2014 03:09:26 +0000 (03:09 +0000)]
* gcc.dg/localalias-2.c: Guard by require-alias.
* gcc.dg/globalalias-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211926 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * varpool.c (dump_varpool_node): Dump used_by_single_function.
hubicka [Tue, 24 Jun 2014 03:07:13 +0000 (03:07 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211925 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211924 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * include/experimental/any (any_v1): Rename namespace to
redi [Mon, 23 Jun 2014 22:12:31 +0000 (22:12 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211920 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/39284
ktietz [Mon, 23 Jun 2014 21:52:31 +0000 (21:52 +0000)]
    PR target/39284
        * passes.def (peephole2): Move peephole2 pass before
        before sched2 pass.
        * config/i386/i386.md (peehole2): Combine memories
        and indirect jumps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211919 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211918 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-23 Andrew Pinski <apinski@cavium.com>
pinskia [Mon, 23 Jun 2014 21:12:56 +0000 (21:12 +0000)]
2014-06-23  Andrew Pinski  <apinski@cavium.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211917 138bc75d-0d04-0410-961f-82ee72b054a4

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

This reverts commit ed8c02da028fb10d25a682e1838ba8b23a2c34ff.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211915 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 23 Jun 2014 19:15:16 +0000 (19:15 +0000)]
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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211913 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 23 Jun 2014 19:03:07 +0000 (19:03 +0000)]
2014-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211912 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-23 Paul Gortmaker <paul.gortmaker@windriver.com>
law [Mon, 23 Jun 2014 18:51:36 +0000 (18:51 +0000)]
2014-06-23  Paul Gortmaker  <paul.gortmaker@windriver.com>

        * gcc.c (set_multilib_dir): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211911 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c/61553
mpolacek [Mon, 23 Jun 2014 18:23:19 +0000 (18:23 +0000)]
PR c/61553
* c-c++-common/pr61553.c (foo): Add dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211910 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR libstdc++/61532
redi [Mon, 23 Jun 2014 18:17:03 +0000 (18:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211909 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/fortran/
burnus [Mon, 23 Jun 2014 17:09:08 +0000 (17:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211907 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Mon, 23 Jun 2014 17:05:33 +0000 (17:05 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211906 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c/61553
mpolacek [Mon, 23 Jun 2014 16:57:48 +0000 (16:57 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211905 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-23 Richard Biener <rguenther@suse.de>
rguenth [Mon, 23 Jun 2014 16:51:10 +0000 (16:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211904 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * c-typeck.c (parser_build_binary_op): Don't call
mpolacek [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-c++-common/pr49706-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211902 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAssume x86-64 if a 32-bit processor supports SSE2 and 64-bit
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211901 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR libgcc/61585
ktietz [Mon, 23 Jun 2014 16:20:31 +0000 (16:20 +0000)]
PR libgcc/61585
* unwind-seh.c (_Unwind_GetGR): Check for proper
index range.
(_Unwind_SetGR): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211900 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRe: [AArch64] Implement ADD in vector registers for 32-bit scalar values.
jgreenhalgh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211899 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
amodra [Mon, 23 Jun 2014 15:08:30 +0000 (15:08 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211897 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPR/60825 Make {int,uint}64x1_t in arm_neon.h a proper vector type
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211894 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPR/60825 Make float64x1_t in arm_neon.h a proper vector type
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211892 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
redi [Mon, 23 Jun 2014 11:30:32 +0000 (11:30 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211890 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64] Implement ADD in vector registers for 32-bit scalar values.
jgreenhalgh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211887 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
hubicka [Mon, 23 Jun 2014 06:33:35 +0000 (06:33 +0000)]
* lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
directly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211886 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
zqchen [Mon, 23 Jun 2014 02:47:54 +0000 (02:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211885 138bc75d-0d04-0410-961f-82ee72b054a4