]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Thu, 14 Jul 2016 17:21:21 +0000 (17:21 +0000)] 
2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
    (TARGET_HAVE_LDACQD): New macro.
    * config/arm/sync.md (atomic_loaddi): Use TARGET_HAVE_LDACQD rather
    than TARGET_HAVE_LDACQ.
    (arm_load_acquire_exclusivedi): Likewise.
    (arm_store_release_exclusivedi): Likewise.

    libgcc/
    * gcc.target/arm/atomic-comp-swap-release-acquire.c: Rename into ...
    * gcc.target/arm/atomic-comp-swap-release-acquire-1.c: This.
    * gcc.target/arm/atomic-op-acq_rel.c: Rename into ...
    * gcc.target/arm/atomic-op-acq_rel-1.c: This.
    * gcc.target/arm/atomic-op-acquire.c: Rename into ...
    * gcc.target/arm/atomic-op-acquire-1.c: This.
    * gcc.target/arm/atomic-op-char.c: Rename into ...
    * gcc.target/arm/atomic-op-char-1.c: This.
    * gcc.target/arm/atomic-op-consume.c: Rename into ...
    * gcc.target/arm/atomic-op-consume-1.c: This.
    * gcc.target/arm/atomic-op-int.c: Rename into ...
    * gcc.target/arm/atomic-op-int-1.c: This.
    * gcc.target/arm/atomic-op-relaxed.c: Rename into ...
    * gcc.target/arm/atomic-op-relaxed-1.c: This.
    * gcc.target/arm/atomic-op-release.c: Rename into ...
    * gcc.target/arm/atomic-op-release-1.c: This.
    * gcc.target/arm/atomic-op-seq_cst.c: Rename into ...
    * gcc.target/arm/atomic-op-seq_cst-1.c: This.
    * gcc.target/arm/atomic-op-short.c: Rename into ...
    * gcc.target/arm/atomic-op-short-1.c: This.
    * gcc.target/arm/atomic-comp-swap-release-acquire-2.c: New test.
    * gcc.target/arm/atomic-op-acq_rel-2.c: Likewise.
    * gcc.target/arm/atomic-op-acquire-2.c: Likewise.
    * gcc.target/arm/atomic-op-char-2.c: Likewise.
    * gcc.target/arm/atomic-op-consume-2.c: Likewise.
    * gcc.target/arm/atomic-op-int-2.c: Likewise.
    * gcc.target/arm/atomic-op-relaxed-2.c: Likewise.
    * gcc.target/arm/atomic-op-release-2.c: Likewise.
    * gcc.target/arm/atomic-op-seq_cst-2.c: Likewise.
    * gcc.target/arm/atomic-op-short-2.c: Likewise.

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

9 years agogcc/testsuite/ChangeLog:
vehre [Thu, 14 Jul 2016 17:07:47 +0000 (17:07 +0000)] 
gcc/testsuite/ChangeLog:

2016-07-14  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70842
* gfortran.dg/select_type_35.f03: New test.

gcc/fortran/ChangeLog:

2016-07-14  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70842
* simplify.c (gfc_simplify_len): Only for unlimited polymorphic
types replace the expression's _data ref with a _len ref.

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

9 years ago2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Thu, 14 Jul 2016 16:41:06 +0000 (16:41 +0000)] 
2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR rtl-optimization/71878
    * lra-constraints.c (match_reload): Pass information about other
    output operands.  Create new unique register value if matching input
    operand shares same register value as output operand being considered.
    (curr_insn_transform): Record output operands already processed.

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

9 years agoInclude header for std::__parallel::search
redi [Thu, 14 Jul 2016 15:43:17 +0000 (15:43 +0000)] 
Include header for std::__parallel::search

* include/experimental/functional: Include <parallel/algorithm> in
Parallel Mode.

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

9 years agoAdd header for std::search to testcase
redi [Thu, 14 Jul 2016 15:27:09 +0000 (15:27 +0000)] 
Add header for std::search to testcase

* testsuite/experimental/functional/searchers.cc: Include <algorithm>
for std::search.

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

9 years ago[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant
ktkachov [Thu, 14 Jul 2016 14:32:39 +0000 (14:32 +0000)] 
[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant

PR target/65951
PR tree-optimization/70923
* tree-vect-patterns.c: Include mult-synthesis.h.
(target_supports_mult_synth_alg): New function.
(synth_lshift_by_additions): Likewise.
(apply_binop_and_append_stmt): Likewise.
(vect_synth_mult_by_constant): Likewise.
(target_has_vecop_for_code): Likewise.
(vect_recog_mult_pattern): Use above functions to synthesize vector
multiplication by integer constants.

* gcc.dg/vect/vect-mult-const-pattern-1.c: New test.
* gcc.dg/vect/vect-mult-const-pattern-2.c: Likewise.
* gcc.dg/vect/pr65951.c: Likewise.
* gcc.dg/vect/vect-iv-9.c: Remove ! vect_int_mult-specific scan.

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

9 years ago[RS6000] Disparage altivec_mov gpr alternatives
amodra [Thu, 14 Jul 2016 14:25:47 +0000 (14:25 +0000)] 
[RS6000] Disparage altivec_mov gpr alternatives

and fix constraint '*' placement.

* gcc/config/rs6000/altivec.md (altivec_mov<mode>): Disparage
gpr alternatives.  Correct '*' placement on Y,r alternative.
Add '*' on operand 1 of r,r alternative.

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

9 years ago[1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h
ktkachov [Thu, 14 Jul 2016 13:57:05 +0000 (13:57 +0000)] 
[1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h

* expmed.c (mult_variant, choose_mult_variant): Move declaration to...
* expmed.h: ... Here.

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

9 years ago * gimple.h (stmt_can_terminate_bb_p): New function.
hubicka [Thu, 14 Jul 2016 13:52:21 +0000 (13:52 +0000)] 
* gimple.h (stmt_can_terminate_bb_p): New function.
* tree-cfg.c (need_fake_edge_p): Rename to ...
(stmt_can_terminate_bb_p): ... this; return true if stmt can
throw external; handle const and pure calls.
* tree-ssa-loop-niter.c (loop_only_exit_p): Use it.

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

9 years ago * c-c++-common/pr60226.c: Expect maximum object file alignment
dje [Thu, 14 Jul 2016 13:07:23 +0000 (13:07 +0000)] 
    * c-c++-common/pr60226.c: Expect maximum object file alignment
        error on AIX.

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

9 years ago2016-07-14 Richard Biener <rguenther@suse.de>
rguenth [Thu, 14 Jul 2016 12:15:38 +0000 (12:15 +0000)] 
2016-07-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71866
* tree-ssa-pre.c (get_constant_for_value_id): Remove.
(do_hoist_insertion): Avoid endless recursion when we
didn't insert anything because we managed to simplify
things down to a constant or SSA name.
(fully_constant_expression): Re-write in terms of ...
* tree-ssa-sccvn.h (vn_nary_simplify): ... this.  Declare.
* tree-ssa-sccvn.c (vn_nary_simplify): New wrapper around
vn_nary_build_or_lookup_1.
(vn_nary_build_or_lookup_1): Added flag and renamed from ...
(vn_nary_build_or_lookup): ... this which now wraps it.

* gcc.dg/torture/pr71866.c: New testcase.

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

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use
ebotcazou [Thu, 14 Jul 2016 11:12:22 +0000 (11:12 +0000)] 
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use
the void pointer type if the designated type is incomplete and has no
full view in LTO mode.
<E_Access_Protected_Subprogram_Type>: Adjust comment.
<E_Incomplete_Type>: Likewise.
* gcc-interface/trans.c (Call_to_gnu): Do not convert to the type of
the actual if it is a dummy type.

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

9 years agoImprove doxygen comments for allocators in containers
redi [Thu, 14 Jul 2016 10:02:10 +0000 (10:02 +0000)] 
Improve doxygen comments for allocators in containers

PR libstdc++/70716
* include/bits/forward_list.h (forward_list): Update doxygen comments
to reflect allocator propagation semantics. Remove ambiguous
statements about data being lost.
* include/bits/stl_deque.h (deque): Likewise.
* include/bits/stl_list.h (list): Likewise.
* include/bits/stl_map.h (map): Likewise.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
* include/bits/unordered_map.h (unordered_map, unordered_multimap):
Likewise.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.

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

9 years ago2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Thu, 14 Jul 2016 09:20:48 +0000 (09:20 +0000)] 
2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * gcc.target/arm/pr42574.c: Add missing target keyword for the dg-do
    selector and enclose boolean expression in curly braces.

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

9 years agoAdded forgotten PR testsuite/71489 reference.
ro [Thu, 14 Jul 2016 09:10:24 +0000 (09:10 +0000)] 
Added forgotten PR testsuite/71489 reference.

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

9 years ago Implement P0032R3, Homogeneous interface for variant, any and optional,
ville [Thu, 14 Jul 2016 09:10:05 +0000 (09:10 +0000)] 
Implement P0032R3, Homogeneous interface for variant, any and optional,
for the parts concerning any and optional.
* include/std/any (_Storage()): Make constexpr and have it
initialize _M_ptr.
(any()): Make constexpr.
(any(const any&)): Adjust.
(any(any&&)): Likewise.
(__any_constructible_t): New.
(any(_ValueType&&)): Constrain.
(any(in_place_type_t<_Tp>, _Args&&...)): New.
(any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
Likewise.
(~any()): Adjust.
(operator=(const any&)): Likewise.
(operator=(any&&)): Likewise.
(operator=(_ValueType&&)): Constrain.
(emplace(_Args&&...)): New.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
(clear()): Remove.
(reset()): New.
(swap(any&)): Adjust.
(empty()): Remove.
(has_value()): New.
(type()): Adjust.
(_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
(_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
(make_any(_Args&&...)): Likewise.
(make_any(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/optional (in_place_t, in_place): Remove.
(bad_optional_access): Add a comment referring to LEWG 72.
(emplace(_Args&&...)): Constrain.
(has_value()): New.
(reset()): Likewise.
(make_optional(_Args&&...)): Likewise.
(make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/utility (in_place_tag): New.
(__in_place, __in_place_type, __in_place_index): Likewise.
(in_place_t, in_place_type_t, in_place_index_t): Likewise.
(in_place(__in_place*)): Likewise.
(in_place(__in_place_type<_Tp>*)): Likewise.
(in_place(__in_place_index<_Idx>*)): Likewise.
* testsuite/20_util/any/assign/1.cc: Adjust.
* testsuite/20_util/any/assign/emplace.cc: New.
* testsuite/20_util/any/assign/self.cc: Adjust.
* testsuite/20_util/any/cons/1.cc: Likewise.
* testsuite/20_util/any/cons/in_place.cc: New.
* testsuite/20_util/any/make_any.cc: Likewise.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/any/misc/swap.cc: Likewise.
* testsuite/20_util/any/modifiers/1.cc: Likewise.
* testsuite/20_util/any/requirements.cc: New.
* testsuite/20_util/in_place/requirements.cc: Likewise.
* testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
* testsuite/20_util/optional/in_place.cc: Likewise.
* testsuite/20_util/optional/make_optional.cc: Add tests for
the new overloads of make_optional.

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

9 years agoFix ChangeLog.
ville [Thu, 14 Jul 2016 09:09:50 +0000 (09:09 +0000)] 
Fix ChangeLog.

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

9 years ago[RS6000] -mno-vsx should force -mno-power9-dform
amodra [Thu, 14 Jul 2016 04:26:36 +0000 (04:26 +0000)] 
[RS6000] -mno-vsx should force -mno-power9-dform

PR target/71733
gcc/
* config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
with p9_vector override before power9-dform override.
gcc/testsuite/
* gcc.target/powerpc/p9-novsx.c: New.

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

9 years agoSome fixes for profile test cases for autofdo
ak [Thu, 14 Jul 2016 02:14:56 +0000 (02:14 +0000)] 
Some fixes for profile test cases for autofdo

This fixes some basic issues with the profile test cases with autofdo.

- Disable checking for value transformations that autofdo does not
  support.
- Disable checking for fixed hit counts which autofdo does not support
- Enable dumping of afdo log file and check right log file.
- Increase run time of test cases to 1M iterations because autofdo needs
  a few samples to make sense of a program. The test case don't run
  noticeable slower with that.

There are still failures unfortunately, especially the indirect call
transformations do not trigger because autofdo thinks they are not hot.
This can be addressed later.

gcc/testsuite/:

2016-07-13  Andi Kleen  <ak@linux.intel.com>

* g++.dg/tree-prof/indir-call-prof.C: Basic fixes for autofdo.
* g++.dg/tree-prof/morefunc.C: Dito.
* g++.dg/tree-prof/pr35545.C: Dito.
* g++.dg/tree-prof/reorder.C: Dito.
* gcc.dg/tree-prof/20050826-2.c: Dito.
* gcc.dg/tree-prof/cmpsf-1.c: Dito.
* gcc.dg/tree-prof/cold_partition_label.c: Dito.
* gcc.dg/tree-prof/ic-misattribution-1.c: Dito.
* gcc.dg/tree-prof/indir-call-prof.c: Dito.
* gcc.dg/tree-prof/inliner-1.c: Dito.
* gcc.dg/tree-prof/merge_block.c: Dito.
* gcc.dg/tree-prof/stringop-1.c: Dito.
* gcc.dg/tree-prof/stringop-2.c: Dito.
* gcc.dg/tree-prof/switch-case-1.c: Dito.
* gcc.dg/tree-prof/switch-case-2.c: Dito.
* gcc.dg/tree-prof/time-profiler-1.c: Dito.
* gcc.dg/tree-prof/time-profiler-2.c: Dito.
* gcc.dg/tree-prof/update-loopch.c: Dito.
* gcc.dg/tree-prof/val-prof-1.c: Dito.
* gcc.dg/tree-prof/val-prof-2.c: Dito.
* gcc.dg/tree-prof/val-prof-3.c: Dito.
* gcc.dg/tree-prof/val-prof-4.c: Dito.
* gcc.dg/tree-prof/val-prof-5.c: Dito.
* gcc.dg/tree-prof/val-prof-6.c: Dito.
* gcc.dg/tree-prof/val-prof-7.c: Dito.

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

9 years agoClean up imports files in test suite
ak [Thu, 14 Jul 2016 02:14:43 +0000 (02:14 +0000)] 
Clean up imports files in test suite

autofdo create_gcov creates an extra .imports file. Always remove that
too when running an autofdo test case.

gcc/testsuite/:

2016-07-13  Andi Kleen  <ak@linux.intel.com>

* lib/profopt.exp (profopt-execute): Remove .imports files.

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

9 years agoAlways print gcc-auto-profile line in dump file
ak [Thu, 14 Jul 2016 02:14:29 +0000 (02:14 +0000)] 
Always print gcc-auto-profile line in dump file

not just when verbose. This ensures all command lines needed to
reproduce the test case are always logged

gcc/testsuite/:

2016-07-13  Andi Kleen  <ak@linux.intel.com>

* lib/profopt.exp (profopt-execute): Always log profiler
command line.

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

9 years agoAdd dg-final-scan-autofdo and dg-final-scan-not-autofdo
ak [Thu, 14 Jul 2016 02:14:13 +0000 (02:14 +0000)] 
Add dg-final-scan-autofdo and dg-final-scan-not-autofdo

Autofdo outputs to different dump files and doesn't support some
transformation that normal profiling. Add dg-final-scan-autofdo
and dg-final-scan-not-autofdo statements to the test suite
so that the test cases can hande those cases separately.

gcc/testsuite/:

2016-07-13  Andi Kleen  <ak@linux.intel.com>

* lib/profopt.exp (dg-final-scan-autofdo,
dg-final-scan-not-autofdo): New functions.

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

9 years agoDon't run instrumented value profiler changes with afdo
ak [Thu, 14 Jul 2016 02:14:02 +0000 (02:14 +0000)] 
Don't run instrumented value profiler changes with afdo

The pass to transform gimple based on value profiling runs with autofdo
on, but currently every transformation fails. For indirect calls autofdo
does it on its own, and it doesn't suppport other value profiling. So don't
run this pass when autofdo is active. This also avoids bogus
dump file entries.

gcc/:

2016-07-13  Andi Kleen  <ak@linux.intel.com>

* value-prof.c (gimple_value_profile_transformations): Don't run
when auto_profile is on.

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

9 years agoPrint indirect call changes in afdo dump file
ak [Thu, 14 Jul 2016 02:13:48 +0000 (02:13 +0000)] 
Print indirect call changes in afdo dump file

Print some information about indirect call promotions in the afdo dump
file. Do it in the same format as the instrumented profiler so that
the test suite can match on it.

gcc/:

2016-07-13  Andi Kleen  <ak@linux.intel.com>

* auto-profile.c (update_inlined_ind_target,
afdo_indirect_call): Print information to dump file.

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

9 years agoDaily bump.
gccadmin [Thu, 14 Jul 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago * genrecog.c (special_predicate_operand_p): New function.
law [Wed, 13 Jul 2016 22:18:40 +0000 (22:18 +0000)] 
* genrecog.c (special_predicate_operand_p): New function.
(predicate_name): Move function.
(validate_pattern): Don't warn about missing mode for all
define_special_predicate predicates.

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

9 years ago PR c++/70926
law [Wed, 13 Jul 2016 22:06:09 +0000 (22:06 +0000)] 
PR c++/70926
* cplus-dem.c: Handle large values and overflow when demangling
length variables.
(demangle_template_value_parm): Read only until end of mangled string.
(do_hpacc_template_literal): Likewise.
(do_type): Handle overflow when demangling array indices.

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

9 years agoFix return type handling for Proxy classes
mpf [Wed, 13 Jul 2016 21:34:52 +0000 (21:34 +0000)] 
Fix return type handling for Proxy classes

libjava/

* java/lang/reflect/natVMProxy.cc (unbox): Use ffi_arg for
integer return types smaller than a word.
* testsuite/libjava.jar/ReturnInvocationHandler.java: New file.
* testsuite/libjava.jar/ReturnProxyTest.jar: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.java: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.out: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.xfail: Likewise.
* testsuite/libjava.jar/ReturnTypes.java: Likewise.
* testsuite/libjava.jar/ReturnTypesImpl.java: Likewise.

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

9 years agoFix the use of FFI closures in the java interpreter for integer returns
mpf [Wed, 13 Jul 2016 21:34:35 +0000 (21:34 +0000)] 
Fix the use of FFI closures in the java interpreter for integer returns

libjava/

* interpret-run.cc: Use ffi_arg for FFI integer return types.
* testsuite/libjava.jar/arraysort.java: New file.
* testsuite/libjava.jar/arraysort.jar: New file.
* testsuite/libjava.jar/arraysort.out: New file.
* testsuite/libjava.jar/arraysort.xfail: New file.

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

9 years agolibstdc++/71856 Define _GLIBCXX_PARALLEL_ASSERTIONS
redi [Wed, 13 Jul 2016 17:22:57 +0000 (17:22 +0000)] 
libstdc++/71856 Define _GLIBCXX_PARALLEL_ASSERTIONS

PR libstdc++/71856
* include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
* include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
on _GLIBCXX_ASSERTIONS.
* include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
Include <unistd.h> for sleep.
* include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
* include/parallel/merge.h: Likewise.
* include/parallel/multiway_merge.h: Likewise.
* include/parallel/partition.h: Likewise.
* include/parallel/queue.h: Likewise.
* include/parallel/sort.h: Likewise.
* testsuite/25_algorithms/headers/algorithm/
parallel_algorithm_assert.cc: New.

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

9 years agoMake basic_string::replace forward to different overload
redi [Wed, 13 Jul 2016 17:22:51 +0000 (17:22 +0000)] 
Make basic_string::replace forward to different overload

* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(replace(__const_iterator, __const_iterator, initializer_list<C>)):
Forward to different overload.

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

9 years agoMake __allocated_ptr::_S_raw_ptr static
redi [Wed, 13 Jul 2016 17:22:47 +0000 (17:22 +0000)] 
Make __allocated_ptr::_S_raw_ptr static

* include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
static.

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

9 years agoRevert "Add non-const overload of std::string::data()"
redi [Wed, 13 Jul 2016 15:56:46 +0000 (15:56 +0000)] 
Revert "Add non-const overload of std::string::data()"

This reverts r238291 aka 4300aa2087d90cd2d55852fa38f082a89bc7e72d.

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

9 years ago * tree-vect-data-refs.c (vect_no_alias_p): New function.
amker [Wed, 13 Jul 2016 15:06:40 +0000 (15:06 +0000)] 
* tree-vect-data-refs.c (vect_no_alias_p): New function.
(vect_prune_runtime_alias_test_list): Call vect_no_alias_p to
resolve alias checks which are known at compilation time.
Truncate vector LOOP_VINFO_MAY_ALIAS_DDRS(loop_vinfo) if all
alias checks are resolved.  Move dump info for too many runtime
alias checks to here...
* tree-vect-loop.c (vect_analyze_loop_2): ...From here.

gcc/testsuite
* gcc.dg/vect/vect-35-big-array.c: Refine comment and test.
* gcc.dg/vect/vect-35.c: Ditto.
* gcc.dg/vect/vect-alias-check-2.c: New test.

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

9 years agoFix Fortran DO loop fallback
marxin [Wed, 13 Jul 2016 14:03:29 +0000 (14:03 +0000)] 
Fix Fortran DO loop fallback

* gfortran.dg/ldist-1.f90: Revert change introduces in r238114.
* gfortran.dg/vect/pr62283.f: Add -fno-ipa-icf to additional
options.
* gfortran.dg/pr42108.f90: Update expected dump scan.

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

9 years ago2016-07-13 Richard Biener <rguenther@suse.de>
rguenth [Wed, 13 Jul 2016 13:57:05 +0000 (13:57 +0000)] 
2016-07-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/24574
* tree-ssa-phiopt.c (absorbing_element_p): Pass in argument
position and add shift, rotate, divison and modulo support
for left zero.
(value_replacement): Pass in argument position to absorbing_element_p.

* gcc.dg/pr24574.c: New testcase.

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

9 years agoFix some bogus testsuite failures for avr.
saaadhu [Wed, 13 Jul 2016 12:12:10 +0000 (12:12 +0000)] 
Fix some bogus testsuite failures for avr.

gcc/testsuite/

        * c-c++-common/Wduplicated-cond-3.c (fn10): Use smaller
        const literal.
        * c-c++-common/builtin-arith-overflow-2.c: Skip for avr.
        * c-c++-common/pr68833-1.c: Require int32plus.
        * gcc.dg/ipa/pr63551.c: Likewise.
        * gcc.dg/ipa/pr63595.c: Require ptr32plus.
        * gcc.dg/ipa/pr64041.c: Require int32plus.

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

9 years agoFix ChangeLog.
ville [Wed, 13 Jul 2016 11:27:37 +0000 (11:27 +0000)] 
Fix ChangeLog.

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

9 years ago Implement P0307R2, Making Optional Greater Equal Again.
ville [Wed, 13 Jul 2016 11:25:51 +0000 (11:25 +0000)] 
Implement P0307R2, Making Optional Greater Equal Again.
* include/experimental/optional (_Has_addressof): Fix the comment.
* include/std/optional (_Has_addressof): Likewise.
(operator=(_Up&&)): Constrain.
(operator=(const optional<_Up>&)): Likewise.
(operator=(optional<_Up>&&)): Likewise.
(__optional_relop_t): New.
(operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
(operator!=(const optional<_Tp>&, const optional<_Tp>&)):
Constrain and make transparent.
(operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
(operator>(const optional<_Tp>&, const optional<_Tp>&)):
Constrain and make transparent.
(operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
(operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
(operator==(const optional<_Tp>&, const _Tp&): Constrain.
(operator==(const _Tp&, const optional<_Tp>&)): Likewise.
(operator!=(const optional<_Tp>&, _Tp const&)):
Constrain and make transparent.
(operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
(operator<(const optional<_Tp>&, const _Tp&)): Constrain.
(operator<(const _Tp&, const optional<_Tp>&)): Likewise.
(operator>(const optional<_Tp>&, const _Tp&)):
Constrain and make transparent.
(operator>(const _Tp&, const optional<_Tp>&)): Likewise.
(operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
(operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
(operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
(operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
* testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
* testsuite/20_util/optional/relops/1.cc: Likewise.
* testsuite/20_util/optional/relops/2.cc: Likewise.
* testsuite/20_util/optional/relops/3.cc: Likewise.
* testsuite/20_util/optional/relops/4.cc: Likewise.
* testsuite/20_util/optional/requirements.cc: Add tests to verify
that optional's relops are transparent and don't synthesize
operators. Also test that assignment sfinaes.

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

9 years agoAdd non-const overload of std::string::data()
redi [Wed, 13 Jul 2016 11:08:37 +0000 (11:08 +0000)] 
Add non-const overload of std::string::data()

Also fix confusion between pointer and _CharT*, so that allocators with
fancy pointers work correctly.

* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
New function.
(_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
instead of _M_data().
(basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
Likewise.
(append(const basic_string&)): Likewise.
(append(const basic_string&, size_type, size_type)): Likewise.
(assign(const basic_string&, size_type, size_type)): Likewise.
(insert(size_type, const basic_string&)): Likewise.
(insert(size_type, const basic_string&, size_type, size_type)):
Likewise.
(replace(size_type, size_type, const basic_string&, size_type,
size_type)): Likewise.
(replace(__const_iterator, __const_iterator, const basic_string&)):
Likewise.
(c_str(), data()): Use c_str() instead of _M_data().
(data()): Add non-const overload as per LWG 2391 and P0272R1.
(compare(const basic_string&)): Use data() instead of _M_data().
[!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
Pass raw pointers to _S_copy.
(_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
_S_assign.
(find(const _CharT*, size_type, size_type)): Use data instead of
_M_data().
* testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
* testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
* testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.

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

9 years agogcc/
ienkovich [Wed, 13 Jul 2016 11:02:15 +0000 (11:02 +0000)] 
gcc/

PR ipa/71633
* ipa-inline-transform.c (inline_call): Support
instrumented thunks.

gcc/testsuite/

PR ipa/71633
* g++.dg/pr71633.C: New test.

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

9 years ago2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Wed, 13 Jul 2016 10:54:12 +0000 (10:54 +0000)] 
2016-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_HAVE_CBZ): Define.
    (TARGET_IDIV): Set for all Thumb targets provided they have hardware
    divide feature.
    * config/arm/arm.md (divsi3): New unpredicable alternative for ARMv8-M
    Baseline.  Make initial alternative TARGET_32BIT only.
    (udivsi3): Likewise.
    * config/arm/thumb1.md (thumb1_cbz): New define_insn.
    * doc/sourcebuild.texi (arm_thumb1_cbz_ok): Document new effective
    target.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_thumb1_cbz_ok):
    Add new arm_thumb1_cbz_ok effective target.
    * gcc.target/arm/cbz.c: New test.

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

9 years ago2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Wed, 13 Jul 2016 10:54:01 +0000 (10:54 +0000)] 
2016-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT.
    * config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW
    availability with TARGET_HAVE_MOVT.
    (thumb_legitimate_constant_p): Strip the high part of a label_ref.
    (thumb1_rtx_costs): Also return 0 if setting a half word constant and
    MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by
    UINTVAL.
    (thumb1_size_rtx_costs): Make set of half word constant also cost 1
    extra instruction if MOVW is available.  Use a cost variable
    incremented by COSTS_N_INSNS (1) when the condition match rather than
    returning an arithmetic expression based on COSTS_N_INSNS.  Make
    constant with bottom half word zero cost 2 instruction if MOVW is
    available.
    * config/arm/arm.md (define_attr "arch"): Add v8mb.
    (define_attr "arch_enabled"): Set to yes if arch value is v8mb and
    target is ARMv8-M Baseline.
    (arm_movt): New unpredicable alternative for ARMv8-M Baseline.
    (arm_movtas_ze): Likewise.
    * config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only
    alternative for constants satisfying j constraint.
    (thumb1_movsi_insn): Likewise.
    (movsi splitter for K alternative): Tighten condition to not trigger
    if movt is available and j constraint is satisfied.
    (Pe immediate splitter): Likewise.
    (thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for
    constant fitting in an halfword to use MOVW.
    * doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM
    effective target.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_thumb1_movt_ok):
    Define effective target.
    * gcc.target/arm/pr42574.c: Require arm_thumb1_ok and
    !arm_thumb1_movt_ok to exclude ARMv8-M Baseline.
    * gcc.target/arm/movhi_movw.c: New test.
    * gcc.target/arm/movsi_movw.c: Likewise.
    * gcc.target/arm/movdi_movw.c: Likewise.

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

9 years ago2016-07-13 Richard Biener <rguenther@suse.de>
rguenth [Wed, 13 Jul 2016 08:03:04 +0000 (08:03 +0000)] 
2016-07-13  Richard Biener  <rguenther@suse.de>

PR middle-end/71104
* gimplify.c (gimplify_modify_expr): Gimplify the RHS before
gimplifying the LHS.  Make sure to gimplify a returning twice
call LHS without using SSA names.

* gcc.dg/pr71104-1.c: New testcase.
* gcc.dg/pr71104-2.c: Likewise.

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

9 years agoremove unnecessary calls to vec::release
tbsaunde [Wed, 13 Jul 2016 02:44:59 +0000 (02:44 +0000)] 
remove unnecessary calls to vec::release

There's no point in calling release () on an auto_vec just before it goes
out of scope.

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-data-ref.c (find_data_references_in_stmt): Remove
unnecessary call to vec::release.
(graphite_find_data_references_in_stmt): Likewise.
* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise.
* tree-vect-stmts.c (vectorizable_condition): Likewise.

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

9 years agouse auto_vec for more local variables
tbsaunde [Wed, 13 Jul 2016 02:44:52 +0000 (02:44 +0000)] 
use auto_vec for more local variables

gcc/c/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* c-parser.c (c_parser_generic_selection): Make type of variable
auto_vec.
(c_parser_omp_declare_simd): Likewise.

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfgexpand.c (expand_used_vars): Make the type of a local variable auto_vec.
* genmatch.c (lower_for): Likewise.
* haifa-sched.c (haifa_sched_init): Likewise.
(add_to_speculative_block): Likewise.
(create_check_block_twin): Likewise.
* predict.c (handle_missing_profiles): Likewise.
* tree-data-ref.c (loop_nest_has_data_refs): Likewise.
* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Likewise.
* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Likewise.
(maybe_lower_iteration_bound): Likewise.
* tree-ssa-sccvn.c (DFS): Likewise.
* tree-stdarg.c (reachable_at_most_once): Likewise.
* tree-vect-stmts.c (vectorizable_conversion): Likewise.
(vectorizable_store): Likewise.

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

9 years agotree-ssa-sccvn.c: use auto_vec for sccvn_dom_walker::cond_stack
tbsaunde [Wed, 13 Jul 2016 02:44:35 +0000 (02:44 +0000)] 
tree-ssa-sccvn.c: use auto_vec for sccvn_dom_walker::cond_stack

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove.
(sccvn_dom_walker): make cond_stack an auto_vec.

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

9 years agoree.c: use auto_vec in ext_state
tbsaunde [Wed, 13 Jul 2016 02:44:28 +0000 (02:44 +0000)] 
ree.c: use auto_vec in ext_state

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* ree.c (struct ext_state): Make type of members auto_vec.
(find_and_remove_re): Adjust.

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

9 years agocfgexpand.c: use auto_vec in stack_vars_data
tbsaunde [Wed, 13 Jul 2016 02:43:56 +0000 (02:43 +0000)] 
cfgexpand.c: use auto_vec in stack_vars_data

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfgexpand.c (struct stack_vars_data): Make type of fields
auto_vec.
(expand_used_vars): Adjust.

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

9 years agoipa.c: remove static_{ctors,dtors} globals
tbsaunde [Wed, 13 Jul 2016 02:43:43 +0000 (02:43 +0000)] 
ipa.c: remove static_{ctors,dtors} globals

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* ipa.c (record_cdtor_fn): Adjust.
(build_cdtor_fns): Likewise.
(ipa_cdtor_merge): Make static_ctors and static_dtors local
variables.

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

9 years agogenextract.c: add [cd]tors to accum_extract
tbsaunde [Wed, 13 Jul 2016 02:43:23 +0000 (02:43 +0000)] 
genextract.c: add [cd]tors to accum_extract

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genextract.c (struct accum_extract): Add constructor and make
members auto_vec.
(gen_insn): Adjust.

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

9 years agoc-decl.c: add [cd]tors to c_struct_parse_info
tbsaunde [Wed, 13 Jul 2016 02:43:17 +0000 (02:43 +0000)] 
c-decl.c: add [cd]tors to c_struct_parse_info

gcc/c/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* c-decl.c (struct c_struct_parse_info): Change member types
from vec to auto_vec.
(start_struct): Adjust.
(finish_struct): Likewise.

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

9 years agotree.c: add [cd]tors to free_lang_data_d
tbsaunde [Wed, 13 Jul 2016 02:43:10 +0000 (02:43 +0000)] 
tree.c: add [cd]tors to free_lang_data_d

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree.c (struct free_lang_data_d): Add constructor and change
types of members to ones that automatically manage resources.
(fld_worklist_push): Adjust.
(find_decls_types): Likewise.
(find_decls_types_in_eh_region): Likewise.
(free_lang_data_in_cgraph): Stop manually creating and
destroying members of free_lang_data_d.

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

9 years agoDaily bump.
gccadmin [Wed, 13 Jul 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago PR rtl-optimization/68961
uros [Tue, 12 Jul 2016 22:06:51 +0000 (22:06 +0000)] 
PR rtl-optimization/68961
* config/i386/sse.md (movsd/movhpd to movupd peephole2s): Add new
peephole variant.  Use sse_reg_operand predicates.

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

9 years ago escape: Add escape notes to export data.
ian [Tue, 12 Jul 2016 20:29:15 +0000 (20:29 +0000)] 
escape: Add escape notes to export data.

    Reviewed-on: https://go-review.googlesource.com/22375

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

9 years ago * config/i386/predicates.md (x86_64_immediate_operand)
uros [Tue, 12 Jul 2016 19:23:58 +0000 (19:23 +0000)] 
* config/i386/predicates.md (x86_64_immediate_operand)
<case CONST_INT>: Remove unneeded truncation to DImode.
<case CONST>: Ditto.
(x86_64_zext_immediate_operand) <case CONST>: Ditto.

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

9 years ago[gcc]
meissner [Tue, 12 Jul 2016 17:42:04 +0000 (17:42 +0000)] 
[gcc]
2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71805
* config/rs6000/altivec.md (altivec_vperm_<mode>_internal):
The xxperm and xxpermr instructions require that the 2nd input
operand overlap with the output operand, and not the 1st.
(altivec_vperm_v8hiv16qi): Likewise.
(altivec_vperm_<mode>_uns_internal): Likewise.
(altivec_vpermr_<mode>_internal): Likewise.
(vperm_v8hiv4si): Likewise.
(vperm_v16qiv8hi): Likewise.

[gcc/testsuite]
2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71805
* gcc.target/powerpc/pr71805.c: New test.

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

9 years ago gcc/
nathan [Tue, 12 Jul 2016 16:25:10 +0000 (16:25 +0000)] 
gcc/
* config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
when -mno-pic-data-is-text-relative is in effect, by default.
* doc/invoke.texi (mpic-data-is-text-relative): Document new
behavior and clarify.

gcc/testsuite/
* gcc.target/arm/data-rel-1.c: New.
* gcc.target/arm/data-rel-2.c: New.
* gcc.target/arm/data-rel-3.c: New.

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

9 years ago[libgcc]
wschmidt [Tue, 12 Jul 2016 16:05:18 +0000 (16:05 +0000)] 
[libgcc]

2016-07-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/_divkc3.c: New.
* config/rs6000/_mulkc3.c: New.
* config/rs6000/quad-float128.h: Define TFtype; declare _mulkc3
and _divkc3.
* config/rs6000/t-float128: Add _mulkc3 and _divkc3 to
fp128_ppc_funcs.

[gcc/testsuite]

2016-07-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/divkc3-1.c: New.
* gcc.target/powerpc/mulkc3-1.c: New.

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

9 years agoIntroduce new param: AVG_LOOP_NITER
marxin [Tue, 12 Jul 2016 15:27:36 +0000 (15:27 +0000)] 
Introduce new param: AVG_LOOP_NITER

* params.def: Add avg-loop niter.
* tree-ssa-loop-ivopts.c (avg_loop_niter): Use the param.
* cfgloopanal.c (expected_loop_iterations_unbounded): Likewise.
* doc/invoke.texi: Document the new parameter.

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

9 years agoAdd tests that test boundary values of params
marxin [Tue, 12 Jul 2016 15:03:07 +0000 (15:03 +0000)] 
Add tests that test boundary values of params

* Makefile.in: Append rule for params-options.h.
* params-options.h: New file.
* gcc.dg/params/blocksort-part.c: New test.
* gcc.dg/params/params.exp: New file.

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

9 years ago[expr.c] PR middle-end/71700: zero-extend sub-word value when widening constructor...
ktkachov [Tue, 12 Jul 2016 15:00:28 +0000 (15:00 +0000)] 
[expr.c] PR middle-end/71700: zero-extend sub-word value when widening constructor element

PR middle-end/71700
* expr.c (store_constructor): Mask sign-extended bits when widening
sub-word constructor element at the start of a word.

* gcc.c-torture/execute/pr71700.c: New test.

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

9 years agoFix PR rtl-optimization/71634
marxin [Tue, 12 Jul 2016 14:54:52 +0000 (14:54 +0000)] 
Fix PR rtl-optimization/71634

* ira-build.c (mark_loops_for_removal): Properly iterate
loops.

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

9 years agoRemove unused operator delete overloads (LWG 2458)
redi [Tue, 12 Jul 2016 14:31:04 +0000 (14:31 +0000)] 
Remove unused operator delete overloads (LWG 2458)

* libsupc++/new: Remove nothrow sized deletes (LWG 2458).
* doc/xml/manual/intro.xml: Document DR 2458 status.
* doc/html*: Regenerate.

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

9 years agoFix ChangeLog entry for r238244
redi [Tue, 12 Jul 2016 14:07:49 +0000 (14:07 +0000)] 
Fix ChangeLog entry for r238244

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

9 years agoAdd tests and docs for LWG 2212 support
redi [Tue, 12 Jul 2016 14:00:26 +0000 (14:00 +0000)] 
Add tests and docs for LWG 2212 support

* testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
Only include <array>.
* testsuite/23_containers/array/tuple_interface/tuple_size.cc:
Likewise.
* doc/xml/manual/intro.xml; Document LWG 2212 support.
* doc/html*: Regenerate.

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

9 years agoAdd std::vector::emplace() testcase from LWG 2164
redi [Tue, 12 Jul 2016 14:00:11 +0000 (14:00 +0000)] 
Add std::vector::emplace() testcase from LWG 2164

* testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
Add testcase from LWG 2164.

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

9 years ago2016-07-12 Steven Bosscher <steven@gcc.gnu.org>
rguenth [Tue, 12 Jul 2016 13:32:04 +0000 (13:32 +0000)] 
2016-07-12  Steven Bosscher  <steven@gcc.gnu.org>
Richard Biener  <rguenther@suse.de>

PR tree-optimization/23286
PR tree-optimization/70159
* doc/invoke.texi: Document -fcode-hoisting.
* common.opt (fcode-hoisting): New flag.
* opts.c (default_options_table): Enable -fcode-hoisting at -O2+.
* tree-ssa-pre.c (pre_stats): Add hoist_insert.
(do_regular_insertion): Rename to ...
(do_pre_regular_insertion): ... this and amend general comments
on insertion strathegy.
(do_partial_partial_insertion): Rename to ...
(do_pre_partial_partial_insertion): ... this.
(do_hoist_insertion): New function.
(insert_aux): Take flags on whether to do PRE and/or hoist insertion
and call do_hoist_insertion properly.
(insert): Adjust.
(pass_pre::gate): Enable also if -fcode-hoisting is enabled.
(pass_pre::execute): Register hoist_insert stats.

* gcc.dg/tree-ssa/ssa-pre-11.c: Disable code hosting.
* gcc.dg/tree-ssa/ssa-pre-27.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-28.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-2.c: Likewise.
* gcc.dg/tree-ssa/pr35286.c: Likewise.
* gcc.dg/tree-ssa/pr35287.c: Likewise.
* gcc.dg/hoist-register-pressure-1.c: Likewise.
* gcc.dg/hoist-register-pressure-2.c: Likewise.
* gcc.dg/hoist-register-pressure-3.c: Likewise.
* gcc.dg/pr51879-12.c: Likewise.
* gcc.dg/strlenopt-9.c: Likewise.
* gcc.dg/tree-ssa/pr47392.c: Likewise.
* gcc.dg/tree-ssa/pr68619-4.c: Likewise.
* gcc.dg/tree-ssa/split-path-5.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/loadpre3.c: Adjust so hosting doesn't apply.
* gcc.dg/tree-ssa/pr43491.c: Scan optimized dump for desired result.
* gcc.dg/tree-ssa/ssa-pre-31.c: Adjust expected outcome for hoisting.
* gcc.dg/tree-ssa/ssa-hoist-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-2.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-3.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-4.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-5.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-6.c: New testcase.
* gfortran.dg/pr43984.f90: Adjust expected outcome.

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

9 years ago PR middle-end/71716
jakub [Tue, 12 Jul 2016 08:58:56 +0000 (08:58 +0000)] 
PR middle-end/71716
* gimple-fold.c (optimize_atomic_compare_exchange_p): Return false
for SCALAR_FLOAT_TYPE_P type of expected var, or if TYPE_PRECISION
is different from mode's bitsize.  Small cleanup.

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

9 years ago2016-07-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 Jul 2016 08:56:14 +0000 (08:56 +0000)] 
2016-07-12  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/68961
* fwprop.c (propagate_rtx): Allow SUBREGs of VEC_CONCAT and CONCAT
to simplify to a non-constant.

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

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

9 years agoDaily bump.
gccadmin [Tue, 12 Jul 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2016-06-12 Brooks Moses <bmoses@google.com>
brooks [Mon, 11 Jul 2016 23:48:41 +0000 (23:48 +0000)] 
2016-06-12  Brooks Moses  <bmoses@google.com>

* cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length
  VLAs.

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

9 years ago PR middle-end/71758
jakub [Mon, 11 Jul 2016 20:40:47 +0000 (20:40 +0000)] 
PR middle-end/71758
* omp-low.c (expand_omp_target): Gimplify device.

* c-c++-common/gomp/pr71758.c: New test.
* gfortran.dg/gomp/pr71758.f90: New test.

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

9 years ago PR tree-optimization/71823
jakub [Mon, 11 Jul 2016 20:37:18 +0000 (20:37 +0000)] 
PR tree-optimization/71823
* tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs
to get vec_oprnds2 from op2.

* gcc.dg/vect/pr71823.c: New test.

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

9 years ago2016-07-11 François Dumont <fdumont@gcc.gnu.org>
fdumont [Mon, 11 Jul 2016 20:17:56 +0000 (20:17 +0000)] 
2016-07-11  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_vector.h (push_back(const value_type&)): Forward
to _M_realloc_insert.
(insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
(_M_realloc_insert): Declare new function.
(_M_emplace_back_aux): Remove definition.
* include/bits/vector.tcc (emplace_back(_Args...)):
Use _M_realloc_insert.
(insert(const_iterator, const value_type&)): Likewise.
(_M_insert_rval, _M_emplace_aux): Likewise.
(_M_emplace_back_aux): Remove declaration.
(_M_realloc_insert): Define.
* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
Adjust expected results for emplacing an lvalue with reallocation.

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

9 years ago * config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
uros [Mon, 11 Jul 2016 19:41:17 +0000 (19:41 +0000)] 
* config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
Hoist common subexpressions.
(x86_64_zext_immediate_operand) <case CONST>: Ditto.

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

9 years ago * config/rs6000/rs6000.md (stfiwx): Change constraint to 'wu' to
pthaugen [Mon, 11 Jul 2016 19:03:09 +0000 (19:03 +0000)] 
* config/rs6000/rs6000.md (stfiwx): Change constraint to 'wu' to
prevent generation of 'stxsiwx' on pre Power8 hardware.

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

9 years ago2016-07-11 Hale Wang <hale.wang@arm.com>
avieira [Mon, 11 Jul 2016 17:11:31 +0000 (17:11 +0000)] 
2016-07-11  Hale Wang  <hale.wang@arm.com>
    Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/lib1funcs.S: Add new wrapper.

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

9 years ago * decl.c (store_parm_decls): Remove check for void parm.
jason [Mon, 11 Jul 2016 16:56:26 +0000 (16:56 +0000)] 
* decl.c (store_parm_decls): Remove check for void parm.

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

9 years agoinput.c: add lexing selftests and a test matrix for line_table states
dmalcolm [Mon, 11 Jul 2016 16:02:20 +0000 (16:02 +0000)] 
input.c: add lexing selftests and a test matrix for line_table states

This patch adds explicit testing of lexing a source file,
generalizing this (and the test of ordinary line maps) over
a 2-dimensional test matrix covering:

  (1) line_table->default_range_bits: some frontends use a non-zero value
  and others use zero

  (2) the fallback modes within line-map.c: there are various threshold
  values for source_location/location_t beyond line-map.c changes
  behavior (disabling of the range-packing optimization, disabling
  of column-tracking).  We exercise these by starting the line_table
  at interesting values at or near these thresholds.

This helps ensures that location data works in all of these states,
and that (I hope) we don't have lingering bugs relating to the
transition between line_table states.

gcc/ChangeLog:
* input.c: Include cpplib.h.
(selftest::temp_source_file): New class.
(selftest::temp_source_file::temp_source_file): New ctor.
(selftest::temp_source_file::~temp_source_file): New dtor.
(selftest::should_have_column_data_p): New function.
(selftest::test_should_have_column_data_p): New function.
(selftest::temp_line_table): New class.
(selftest::temp_line_table::temp_line_table): New ctor.
(selftest::temp_line_table::~temp_line_table): New dtor.
(selftest::test_accessing_ordinary_linemaps): Add case_ param; use
it to create a temp_line_table.
(selftest::assert_loceq): Only verify LOCATION_COLUMN for
locations that are known to have column data.
(selftest::line_table_case): New struct.
(selftest::test_reading_source_line): Move tempfile handling
to class temp_source_file.
(ASSERT_TOKEN_AS_TEXT_EQ): New macro.
(selftest::assert_token_loc_eq): New function.
(ASSERT_TOKEN_LOC_EQ): New macro.
(selftest::test_lexer): New function.
(selftest::boundary_locations): New array.
(selftest::input_c_tests): Call test_should_have_column_data_p.
Loop over a test matrix of interesting values of location and
default_range_bits, calling test_lexer on each case in the matrix.
Move call to test_accessing_ordinary_linemaps into the matrix.
* selftest.h (ASSERT_EQ): Reimplement in terms of...
(ASSERT_EQ_AT): New macro.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/location_overflow_plugin.c (plugin_init): Avoid
hardcoding the values of LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
and LINE_MAP_MAX_LOCATION_WITH_COLS.

libcpp/ChangeLog:
* include/line-map.h (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES):
Move here from line-map.c.
(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.
* line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): Move from
here to line-map.h.
(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.

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

9 years agoDon't convert TImode in debug insn
hjl [Mon, 11 Jul 2016 15:13:56 +0000 (15:13 +0000)] 
Don't convert TImode in debug insn

When converting V1TImode register in debug insn, check if it has been
converted to TImode already.

gcc/

PR target/71801
* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
Don't convert TImode in debug insn.

gcc/testsuite/

PR target/71801
* gcc.target/i386/pr71801.c: New test.

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

9 years ago2016-07-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 11 Jul 2016 15:02:12 +0000 (15:02 +0000)] 
2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
        * tree-core.h (tree_base::nothrow_flag): Adjust comment.
        (tree_type_common::lang_flag_7): New.
        (tree_type_common::spare): Reduce size.
        * tree.h (TYPE_ALIGN_OK): Remove.
        (TYPE_LANG_FLAG_7): New.
        (get_inner_reference): Adjust header.
        * print-tree.c (print_node): Adjust.
        * expr.c (get_inner_reference): Remove parameter keep_aligning.
        (get_bit_range, expand_assignment, expand_expr_addr_expr_1): Adjust
        calls to get_inner_reference.
        (expand_expr_real_1): Adjust call to get_inner_reference.  Remove
        handling of TYPE_ALIGN_OK.
        * builtins.c (get_object_alignment_2): Adjust call to
        get_inner_reference.  Remove handling of VIEW_CONVERT_EXPR.
        * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove handling of
        TYPE_ALIGN_OK.
        * asan.c (instrument_derefs): Adjust calls to get_inner_reference.
        * cfgexpand.c (expand_debug_expr): Likewise.
        * dbxout.c (dbxout_expand_expr): Likewise.
        * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref,
        loc_list_from_tree, fortran_common): Likewise.
        * fold-const.c (optimize_bit_field_compare,
        decode_field_reference, fold_unary_loc, fold_comparison,
        split_address_to_core_and_offset): Likewise.
        * gimple-laddress.c (execute): Likewise.
        * gimple-ssa-strength-reduction.c (slsr_process_ref): Likewise.
        * gimplify.c (gimplify_scan_omp_clauses): Likewise.
        * hsa-gen.c (gen_hsa_addr): Likewise.
        * simplifx-rtx.c (delegitimize_mem_from_attrs): Likewise.
        * tsan.c (instrument_expr): Likewise.
        * ubsan.c (instrument_bool_enum_load, instrument_object_size): Likewise.
        * tree.c (verify_type_variant): Remove handling of TYPE_ALIGN_OK.
        * tree-affine.c (tree_to_aff_combination,
        get_inner_reference_aff): Adjust calls to get_inner_reference.
        * tree-data-ref.c (split_constant_offset_1,
        dr_analyze_innermost): Likewise.
        * tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
        * tree-sra.c (ipa_sra_check_caller): Likewise.
        * tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
        * tree-ssa-math-opts.c (find_bswap_or_nop_load,
        bswap_replace): Likewise.
        * tree-vect-data-refs.c (vect_check_gather,
        vect_analyze_data_refs): Likewise.
        * config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
        * config/pa/pa.c (pa_emit_move_sequence): Remove handling of
        TYPE_ALIGN_OK.

ada:
2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
        * gcc-interface/ada-tree.h (TYPE_ALIGN_OK): Define.
        * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
        get_inner_reference.
        * gcc-interface/utils2.c (build_unary_op): Likewise.

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

9 years agoSupport running the selftests under valgrind
dmalcolm [Mon, 11 Jul 2016 14:39:14 +0000 (14:39 +0000)] 
Support running the selftests under valgrind

gcc/ChangeLog:
* Makefile.in (selftest-valgrind): New phony target.
* function-tests.c (selftest::build_cfg): Delete pass instances
created by the test.
(selftest::convert_to_ssa): Likewise.
(selftest::test_expansion_to_rtl): Likewise.
* tree-cfg.c (selftest::test_linear_chain): Release dominator
vectors.
(selftest::test_diamond): Likewise.

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

9 years ago2016-07-11 Richard Biener <rguenther@suse.de>
rguenth [Mon, 11 Jul 2016 13:32:51 +0000 (13:32 +0000)] 
2016-07-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71816
* tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
than replacing all of its operands.

* gcc.dg/torture/pr71816.c: New testcase.

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

9 years ago[RS6000] Don't allow combine to form doloop pattern
amodra [Mon, 11 Jul 2016 10:28:48 +0000 (10:28 +0000)] 
[RS6000] Don't allow combine to form doloop pattern

* config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
(ctr<mode>): Add unspec.
(ctr<mode>_internal*): Likewise.

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

9 years ago * gcc-interface/trans.c (add_decl_expr): Minor tweak.
ebotcazou [Mon, 11 Jul 2016 08:16:48 +0000 (08:16 +0000)] 
* gcc-interface/trans.c (add_decl_expr): Minor tweak.
* gcc-interface/utils.c (create_var_decl): For an external variable,
also clear TREE_READONLY in LTO mode if the initializer is not a valid
constant and set DECL_READONLY_ONCE_ELAB instead.

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

9 years ago PR ada/71817
ebotcazou [Mon, 11 Jul 2016 07:41:11 +0000 (07:41 +0000)] 
PR ada/71817
* adaint.c (__gnat_is_read_accessible_file): Add parentheses.
(__gnat_is_write_accessible_file): Likewise.

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

9 years agoremove gcc/cp/typeck.s
jason [Mon, 11 Jul 2016 05:35:23 +0000 (05:35 +0000)] 
remove gcc/cp/typeck.s

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

9 years agoDaily bump.
gccadmin [Mon, 11 Jul 2016 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago Implement std::optional.
ville [Sun, 10 Jul 2016 17:44:21 +0000 (17:44 +0000)] 
Implement std::optional.
* include/Makefile.am: Add optional to exported headers.
* include/Makefile.in: Likewise.
* include/std/optional: New.
* testsuite/20_util/optional/typedefs.cc: Likewise.
* testsuite/20_util/optional/relops/2.cc: Likewise.
* testsuite/20_util/optional/relops/3.cc: Likewise.
* testsuite/20_util/optional/relops/4.cc: Likewise.
* testsuite/20_util/optional/relops/5.cc: Likewise.
* testsuite/20_util/optional/relops/1.cc: Likewise.
* testsuite/20_util/optional/relops/6.cc: Likewise.
* testsuite/20_util/optional/nullopt.cc: Likewise.
* testsuite/20_util/optional/in_place.cc: Likewise.
* testsuite/20_util/optional/make_optional.cc: Likewise.
* testsuite/20_util/optional/assignment/2.cc: Likewise.
* testsuite/20_util/optional/assignment/3.cc: Likewise.
* testsuite/20_util/optional/assignment/4.cc: Likewise.
* testsuite/20_util/optional/assignment/5.cc: Likewise.
* testsuite/20_util/optional/assignment/1.cc: Likewise.
* testsuite/20_util/optional/assignment/6.cc: Likewise.
* testsuite/20_util/optional/cons/value_neg.cc: Likewise.
* testsuite/20_util/optional/cons/default.cc: Likewise.
* testsuite/20_util/optional/cons/move.cc: Likewise.
* testsuite/20_util/optional/cons/value.cc: Likewise.
* testsuite/20_util/optional/cons/copy.cc: Likewise.
* testsuite/20_util/optional/requirements.cc: Likewise.
* testsuite/20_util/optional/observers/2.cc: Likewise.
* testsuite/20_util/optional/observers/3.cc: Likewise.
* testsuite/20_util/optional/observers/4.cc: Likewise.
* testsuite/20_util/optional/observers/5.cc: Likewise.
* testsuite/20_util/optional/observers/1.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
* testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
* testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
* testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
* testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
* testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
* testsuite/20_util/optional/swap/1.cc: Likewise.

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

9 years agoDaily bump.
gccadmin [Sun, 10 Jul 2016 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2016-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sat, 9 Jul 2016 22:18:29 +0000 (22:18 +0000)] 
2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71783
* frontend-passes.c (create_var):  Always allocate a charlen
for character variables.

2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71783
* gfortran.dg/dependency_46.f90:  New test.

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

9 years agoDaily bump.
gccadmin [Sat, 9 Jul 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2016-07-08 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 8 Jul 2016 22:24:44 +0000 (22:24 +0000)] 
2016-07-08  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68426
* simplify (gfc_simplify_spread): Adjust locus.

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

9 years agoFT32: apply unbias to references to RAM symbols.
jamesbowman [Fri, 8 Jul 2016 22:11:30 +0000 (22:11 +0000)] 
FT32: apply unbias to references to RAM symbols.

The FT32 binutils use a bias to distinguish between RAM and flash
addresses.

This fix adds an ASM_OUTPUT_SYMBOL_REF() that unbiases references to
RAM symbols.

Only references to RAM objects have the bias applied. Flash objects
(that is, objects in ADDR SPACE 1) are not biased, so for these no bias
should be applied. Likewise references in the gdb section need to use
the biased address, so references in debug sections are not unbiased.

gcc/ChangeLog:

2016-07-08  James Bowman  <james.bowman@ftdichip.com>

* config/ft32/ft32.c (ft32_elf_encode_section_info): New function.
* config/ft32/ft32.h (ASM_OUTPUT_SYMBOL_REF): New function.

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

9 years ago Use lvalue_p instead of real_lvalue_p.
jason [Fri, 8 Jul 2016 21:32:18 +0000 (21:32 +0000)] 
Use lvalue_p instead of real_lvalue_p.

* cp-tree.h: Unpoison lvalue_p.
* call.c, class.c, constexpr.c, cvt.c, init.c, lambda.c, pt.c,
tree.c, typeck.c, typeck2.c: Use lvalue_p instead of
real_lvalue_p.

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

9 years ago Rename lvalue_p to obvalue_p.
jason [Fri, 8 Jul 2016 21:32:12 +0000 (21:32 +0000)] 
Rename lvalue_p to obvalue_p.

* tree.c (obvalue_p): Rename from lvalue_p.
(lvalue_p): Define for c-common.
* call.c, cp-tree.h, cvt.c, init.c: Adjust.
* typeck.c: Adjust.
(cp_build_addr_expr_1): Remove obsolete code.

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

9 years ago Rename lvalue_or_rvalue_with_address_p to glvalue_p.
jason [Fri, 8 Jul 2016 21:32:06 +0000 (21:32 +0000)] 
Rename lvalue_or_rvalue_with_address_p to glvalue_p.

* tree.c (glvalue_p): Rename from lvalue_or_rvalue_with_address_p.
* call.c, cp-tree.h, typeck.c: Adjust.

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

9 years ago * lambda.c (maybe_add_lambda_conv_op): Fix null object argument.
jason [Fri, 8 Jul 2016 21:31:59 +0000 (21:31 +0000)] 
* lambda.c (maybe_add_lambda_conv_op): Fix null object argument.

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