Kyrylo Tkachov [Thu, 23 Mar 2017 14:55:48 +0000 (14:55 +0000)]
[ARM] PR target/71436: Restrict *load_multiple pattern till after LRA
PR target/71436
* config/arm/arm.md (*load_multiple): Add reload_completed to
matching condition.
* gcc.c-torture/compile/pr71436.c: New test.
From-SVN: r246419
William Schmidt [Thu, 23 Mar 2017 13:13:44 +0000 (13:13 +0000)]
re PR tree-optimization/79908 (ICE in gimplify_expr (gimplify.c:12155) gimplification failed)
[gcc]
2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Richard Biener <rguenth@suse.com>
PR tree-optimization/79908
PR tree-optimization/80136
* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
been cast away, gimplify_and_add suffices.
[gcc/testsuite]
2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Richard Biener <rguenther@suse.de>
PR tree-optimization/79908
PR tree-optimization/80136
* gcc.dg/torture/pr79908.c: New file.
From-SVN: r246418
Jason Merrill [Thu, 23 Mar 2017 12:50:55 +0000 (08:50 -0400)]
PR c++/77563 - missing ambiguous conversion error.
* call.c (convert_like_real): Use LOOKUP_IMPLICIT.
From-SVN: r246417
Marek Polacek [Thu, 23 Mar 2017 12:29:28 +0000 (12:29 +0000)]
c-tree.h: Remove a C_RID_YYCODE reference.
* c-tree.h: Remove a C_RID_YYCODE reference.
* cp-tree.h: Remove a C_RID_YYCODE reference.
From-SVN: r246416
Markus Trippelsdorf [Thu, 23 Mar 2017 12:23:58 +0000 (12:23 +0000)]
Fix memory leak in identify_jump_threads()
* tree-vrp.c (identify_jump_threads): Delete avail_exprs.
From-SVN: r246415
Richard Biener [Thu, 23 Mar 2017 08:33:41 +0000 (08:33 +0000)]
re PR tree-optimization/80032 (C++ excessive stack usage (no stack reuse))
2017-03-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/80032
* gimplify.c (gimple_push_cleanup): Forced unconditional
cleanups still have to go to the conditional_cleanups
sequence.
From-SVN: r246414
GCC Administrator [Thu, 23 Mar 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246413
Ian Lance Taylor [Wed, 22 Mar 2017 23:51:35 +0000 (23:51 +0000)]
internal/syscall/unix: add randomTrap for m68k
Patch by Andrwas Schwab.
Reviewed-on: https://go-review.googlesource.com/38456
From-SVN: r246410
Dominique d'Humieres [Wed, 22 Mar 2017 22:04:27 +0000 (23:04 +0100)]
Also fixed by revision r246391.
2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/79838
* module.c: Remove trailing period.
From-SVN: r246409
Jakub Jelinek [Wed, 22 Mar 2017 21:52:13 +0000 (22:52 +0100)]
re PR tree-optimization/80072 (ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512)
PR tree-optimization/80072
* tree-ssa-reassoc.c (struct operand_entry): Change id field type
to unsigned int.
(next_operand_entry_id): Change type to unsigned int.
(sort_by_operand_rank): Make sure to return the right return value
even if unsigned fields are bigger than INT_MAX.
(struct oecount): Change cnt and id type to unsigned int.
(oecount_hasher::equal): Formatting fix.
(oecount_cmp): Make sure to return the right return value
even if unsigned fields are bigger than INT_MAX.
(undistribute_ops_list): Change next_oecount_id type to unsigned int.
From-SVN: r246408
Ian Lance Taylor [Wed, 22 Mar 2017 21:02:53 +0000 (21:02 +0000)]
compiler: initialize gogo fields
A couple of the data members in the Gogo class were not
being initialized properly. This was causing "uninitialized value"
errors during Valgrind memcheck runs. This patch insures that
all of the fields receive an initial value.
Reviewed-on: https://go-review.googlesource.com/38470
From-SVN: r246407
Nicolas Koenig [Wed, 22 Mar 2017 19:12:24 +0000 (19:12 +0000)]
re PR fortran/39239 (Reject SAVEd variables EQUIVALENCEd to a COMMON)
2017-03-12 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/39239
fortran/Changelog: Add entry for rev. 246284.
From-SVN: r246406
Nicolas Koenig [Wed, 22 Mar 2017 19:08:36 +0000 (20:08 +0100)]
re PR fortran/39239 (Reject SAVEd variables EQUIVALENCEd to a COMMON)
2017-03-22 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/39239
* gfortran.dg/equiv_constraint_bind_c.f90: New test.
From-SVN: r246405
Nicolas Koenig [Wed, 22 Mar 2017 19:03:50 +0000 (19:03 +0000)]
ChangeLog: Add forgotten entry for r246322.
2017-03-21 Nicolas Koenig <koenigni@student.ethz.ch>
* fortran/ChangeLog: Add forgotten entry for r246322.
* testsuite/ChangeLog: Likewise.
From-SVN: r246404
Jakub Jelinek [Wed, 22 Mar 2017 18:53:47 +0000 (19:53 +0100)]
re PR c++/80141 (ICE with pragma omp declare)
PR c++/80141
* semantics.c (finish_omp_clause) <case OMP_CLAUSE_SIMDLEN,
case OMP_CLAUSE_ALIGNED>: Call maybe_constant_value only when not
processing_template_decl.
* g++.dg/gomp/pr80141.C: New test.
From-SVN: r246403
Jakub Jelinek [Wed, 22 Mar 2017 18:46:54 +0000 (19:46 +0100)]
re PR sanitizer/78158 (Strange data race detection with thread sanitizer)
PR sanitizer/78158
* tsan/tsan_interface_atomic.cc: Cherry-pick upstream r298378.
From-SVN: r246402
Jakub Jelinek [Wed, 22 Mar 2017 18:45:48 +0000 (19:45 +0100)]
re PR c++/80129 (wrong code with ternary struct assignment to const)
PR c++/80129
* gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
TREE_READONLY on result if writing it more than once.
* g++.dg/torture/pr80129.C: New test.
From-SVN: r246401
Jakub Jelinek [Wed, 22 Mar 2017 18:35:43 +0000 (19:35 +0100)]
re PR sanitizer/80110 (error: statement marked for throw, but doesn’t w/ -fsanitize=thread)
PR sanitizer/80110
* doc/invoke.texi (-fsanitize=thread): Document that with
-fnon-call-exceptions atomics are not able to throw
exceptions.
From-SVN: r246400
Jakub Jelinek [Wed, 22 Mar 2017 18:34:44 +0000 (19:34 +0100)]
re PR sanitizer/80110 (error: statement marked for throw, but doesn’t w/ -fsanitize=thread)
PR sanitizer/80110
* tsan.c: Include tree-eh.h.
(instrument_builtin_call): Call maybe_clean_eh_stmt or
maybe_clean_or_replace_eh_stmt where needed.
(instrument_memory_accesses): Add cfg_changed argument.
Call gimple_purge_dead_eh_edges on each block and set *cfg_changed
if it returned true.
(tsan_pass): Adjust caller. Return TODO_cleanup_cfg if cfg_changed.
* g++.dg/tsan/pr80110.C: New test.
From-SVN: r246399
Jakub Jelinek [Wed, 22 Mar 2017 18:33:37 +0000 (19:33 +0100)]
re PR rtl-optimization/63191 (32-bit gcc uses excessive memory during dead store elimination with -fPIC)
PR rtl-optimization/63191
* config/i386/i386.c (ix86_delegitimize_address): Turn into small
wrapper function, moved the whole old content into ...
(ix86_delegitimize_address_1): ... this. New inline function.
(ix86_find_base_term): Use ix86_delegitimize_address_1 with
true as last argument instead of ix86_delegitimize_address.
From-SVN: r246398
Wilco Dijkstra [Wed, 22 Mar 2017 18:12:05 +0000 (18:12 +0000)]
Recently we've put a lot of effort into improving ifcvt to use CSEL on AArch64.
In https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01639.html James determined
the best value for AArch64 code generation. Although this setting is used when
explicitly targeting Cortex cores, it is not otherwise used. This means by
default GCC will not use (F)CSEL in many common cases.
Change the generic_branch_cost to be the same as cortexa57_branch_cost so that
all supported cores benefit from CSEL. This is generally faster and smaller.
On one benchmark the new setting fixes a regression since GCC6 and improves
performance by 49%.
gcc/
* config/aarch64/aarch64.c (generic_branch_cost):
Copy cortexa57_branch_cost.
From-SVN: r246397
Francois-Xavier Coudert [Wed, 22 Mar 2017 17:51:18 +0000 (17:51 +0000)]
configure.ac: Enable LTO by default on darwin >= 9.
* configure.ac: Enable LTO by default on darwin >= 9.
* configure: Regenerate.
From-SVN: r246396
Wilco Dijkstra [Wed, 22 Mar 2017 17:51:12 +0000 (17:51 +0000)]
Many supported cores implement fusion of AES instructions.
Many supported cores implement fusion of AES instructions. When fusion
happens it can give a significant performance gain. If not, scheduling
fusion candidates next to each other has almost no effect on performance.
Due to the high benefit/low cost it makes sense to enable AES fusion with
-mcpu=generic so that cores that support it always benefit.
gcc/
* config/aarch64/aarch64.c (generic_tunings): Add AES fusion.
From-SVN: r246395
Aaron Sawdey [Wed, 22 Mar 2017 17:47:55 +0000 (17:47 +0000)]
re PR target/80123 (libgomp tests pr66199-2.c and pr66199-5.c fail with -mcpu=power9)
2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/80123
* doc/md.texi (Constraints): Document wA constraint.
* config/rs6000/constraints.md (wA): New.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
(rs6000_init_hard_regno_mode_ok): Init wA constraint.
* config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
* config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.
From-SVN: r246394
Dominique d'Humieres [Wed, 22 Mar 2017 16:29:30 +0000 (17:29 +0100)]
re PR fortran/79602 (translation: globally replace '%s' with %qs)
2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/79602
* decl.c: Replace '%s' with %qs.
* expr.c: Likewise.
* interface.c: Likewise.
* match.c: Likewise.
* primary.c: Likewise.
* resolve.c: Likewise.
PR fortran/79844
PR fortran/80011
* io.c: Remove trailing spaces.
* match.c: Likewise.
* openmp.c: Likewise.
* resolve.c: Likewise.
* trans-intrinsic.c: Likewise.
PR fortran/79853
* expr.c: Remove a double spaces.
PR fortran/79859
* primary.c: Remove spurious quotes around %qs.
From-SVN: r246391
Jonathan Wakely [Wed, 22 Mar 2017 15:58:35 +0000 (15:58 +0000)]
Add deduction guides for C++17 (P0433R2, partial)
* include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction
guides for C++17.
* include/bits/std_function.h (function): Likewise.
* include/bits/stl_pair.h (pair): Likewise.
* include/debug/array (__gnu_debug::array): Likewise.
* include/std/array (array): Likewise.
* include/std/functional (make_default_searcher)
(make_boyer_moore_searcher, make_boyer_moore_horspool_searcher):
Remove generator functions.
* include/std/tuple (tuple): Add deduction guides.
* include/std/valarray (valarray): Likewise.
* testsuite/20_util/function_objects/searchers.cc: Adjust to use
class template argument deduction instead of generator functions.
* testsuite/20_util/function/cons/deduction.cc: New test.
* testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ...
* testsuite/20_util/optional/cons/deduction.cc: ... here.
* testsuite/20_util/pair/cons/deduction.cc: New test.
* testsuite/20_util/shared_ptr/cons/deduction.cc: New test.
* testsuite/20_util/tuple/cons/deduction.cc: New test.
* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error.
* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test.
* testsuite/20_util/weak_ptr/cons/deduction.cc: New test.
* testsuite/23_containers/array/cons/deduction.cc: New test.
* testsuite/23_containers/array/cons/deduction_neg.cc: New test.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Adjust dg-error.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
* testsuite/26_numerics/valarray/deduction.cc: New test.
* testsuite/30_threads/lock_guard/cons/deduction.cc: New test.
* testsuite/30_threads/scoped_lock/cons/deduction.cc: New test.
* testsuite/30_threads/unique_lock/cons/deduction.cc: New test.
From-SVN: r246389
Thomas Koenig [Wed, 22 Mar 2017 15:20:17 +0000 (15:20 +0000)]
re PR fortran/80142 (Warning: No location in expression ... with -O / -ffrontend-optimize)
2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/80142
* frontend-passes.c (combine_array_constructor): Take
location of new expression from constructor expression instead
of constructor.
2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/80142
* gfortran.dg/any_loc.f90: New test case.
From-SVN: r246388
Ian Lance Taylor [Wed, 22 Mar 2017 13:59:01 +0000 (13:59 +0000)]
re PR go/80128 (go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:2002)
PR go/80128
compiler: check backend alignment for memequalNN functions
The code was assuming the usual required alignment for the memequalNN
functions (16 bits for int16, 32 for int32, etc.). However, on m68k
the required alignment of int32 is only 16 bits. Assuming the
memequalNN alignment caused the compiler to incorrectly decide that
int32 required a specially generated function rather than calling
memequal32. This then crashed if the type descriptor were generated
after type-specific functions had been written.
Fixes GCC PR 80128.
Reviewed-on: https://go-review.googlesource.com/38433
From-SVN: r246382
Cesar Philippidis [Wed, 22 Mar 2017 13:52:10 +0000 (06:52 -0700)]
re PR c++/80029 (valgrind error in new_omp_context(omp_region_type) (gimplify.c:400))
PR c++/80029
gcc/
* gimplify.c (is_oacc_declared): New function.
(oacc_default_clause): Use it to set default flags for acc declared
variables inside parallel regions.
(gimplify_scan_omp_clauses): Strip firstprivate pointers for acc
declared variables.
(gimplify_oacc_declare): Gimplify the declare clauses. Add the
declare attribute to any decl as necessary.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
From-SVN: r246381
Thomas Preud'homme [Wed, 22 Mar 2017 11:35:15 +0000 (11:35 +0000)]
Fix PR80082: LDRD erronously used for 64bit load on ARMv7-R
2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR target/80082
* config/arm/arm-isa.h (isa_bit_lpae): New feature bit.
(ISA_ARMv7ve): Add isa_bit_lpae to the definition.
* config/arm/arm-protos.h (arm_arch7ve): Rename into ...
(arm_arch_lpae): This.
* config/arm/arm.c (arm_arch7ve): Rename into ...
(arm_arch_lpae): This. Define it in term of isa_bit_lpae.
* config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
arm_arch_lpae.
gcc/testsuite/
PR target/80082
* gcc.target/arm/atomic_loaddi_10.c: New testcase.
* gcc.target/arm/atomic_loaddi_11.c: Likewise.
From-SVN: r246365
Martin Liska [Wed, 22 Mar 2017 09:21:56 +0000 (10:21 +0100)]
Error message on target attribute on power target (PR target/79906)
2017-03-22 Martin Liska <mliska@suse.cz>
PR target/79906
* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
error message instead of an ICE.
2017-03-22 Martin Liska <mliska@suse.cz>
PR target/79906
* g++.dg/ext/mv8.C: Add power* targets.
From-SVN: r246345
Bill Schmidt [Wed, 22 Mar 2017 01:45:49 +0000 (01:45 +0000)]
extend.texi (6.11 Additional Floating Types): Revise.
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* doc/extend.texi (6.11 Additional Floating Types): Revise.
From-SVN: r246343
GCC Administrator [Wed, 22 Mar 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246342
Kelvin Nilsen [Wed, 22 Mar 2017 00:01:19 +0000 (00:01 +0000)]
rs6000-c.c (rs6000_target_modify_macros): Add comments.
gcc/ChangeLog:
2017-03-21 Kelvin Nilsen <kelvin@gcc.gnu.org>
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
comments.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
comments.
From-SVN: r246339
Martin Sebor [Tue, 21 Mar 2017 22:33:39 +0000 (22:33 +0000)]
PR c++/79548 - missing -Wunused-variable on a typedef'd variable in a function template
gcc/c-family/ChangeLog:
PR c++/79548
* c-common.c (set_underlying_type): Mark type used only when
original del is declared unused.
gcc/testsuite/ChangeLog:
PR c++/79548
* g++.dg/warn/Wunused-var-26.C: New test.
From-SVN: r246335
Martin Sebor [Tue, 21 Mar 2017 21:37:29 +0000 (21:37 +0000)]
Use the more formal "cannot" instead of the informal "can't."
gcc/ChangeLog:
* doc/extend.texi: Use "cannot" instead of "can't."
* doc/hostconfig.texi: Same.
* doc/install.texi: Same.
* doc/invoke.texi: Same.
* doc/loop.texi: Same.
* doc/md.texi: Same.
* doc/objc.texi: Same.
* doc/rtl.texi: Same.
* doc/tm.texi: Same.
* doc/tm.texi.in: Same.
* doc/trouble.texi: Same.
From-SVN: r246334
Alexandre Oliva [Tue, 21 Mar 2017 18:28:06 +0000 (18:28 +0000)]
[PR63238] include alignment debug information in DIE checksum
Add DW_AT_alignment to the DIE checksum.
for gcc/ChangeLog
PR debug/63238
* dwarf2out.c (struct checksum_attributes): Add at_alignment.
(collect_checksum_attributes): Set it.
(die_checksum_ordered): Use it.
From-SVN: r246331
Bill Schmidt [Tue, 21 Mar 2017 18:14:42 +0000 (18:14 +0000)]
re PR tree-optimization/79908 (ICE in gimplify_expr (gimplify.c:12155) gimplification failed)
[gcc]
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/79908
* tree-stdarg.c (expand_ifn_va_arg_1): Revert the following
change: For a VA_ARG whose LHS has been cast away, use
force_gimple_operand to construct the side effects.
[gcc/testsuite]
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/79908
* gcc.dg/torture/pr79908.c: Revert addition of new file.
From-SVN: r246330
David Malcolm [Tue, 21 Mar 2017 16:26:09 +0000 (16:26 +0000)]
omp-offload.c: translation fixes (PR translation/80001)
gcc/ChangeLog:
PR translation/80001
* omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics
more amenable to translation.
(oacc_loop_auto_partitions): Likewise.
From-SVN: r246326
Marek Polacek [Tue, 21 Mar 2017 16:21:14 +0000 (16:21 +0000)]
re PR tree-optimization/80109 (ICE in get_range_info, at tree-ssanames.c:375)
PR tree-optimization/80109
* gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info
on INTEGRAL_TYPE_P.
* gcc.dg/Walloca-14.c: New test.
Co-Authored-By: Martin Sebor <msebor@redhat.com>
From-SVN: r246325
Jakub Jelinek [Tue, 21 Mar 2017 14:49:51 +0000 (15:49 +0100)]
re PR target/80125 (r246297 causes segfault in reg_used_between_p())
PR target/80125
* combine.c (can_combine_p): Revert the 2017-03-20 change, only
check reg_used_between_p between insn and one of succ or succ2
depending on if succ is artificial insn not inserted into insn
stream.
* gcc.target/powerpc/pr80125.c: New test.
Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
From-SVN: r246323
Nicolas Koenig [Tue, 21 Mar 2017 14:49:21 +0000 (14:49 +0000)]
re PR fortran/69498 (ICE on disjunct cases with displaced or incomplete embedded statement)
2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/69498
* decl.c (add_hidden_procptr_result): Fixed Refs count of the created "ppr@" symbol.
2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/69498
* gfortran.dg/unexp_attribute.f90: New test
From-SVN: r246322
Martin Liska [Tue, 21 Mar 2017 14:41:11 +0000 (15:41 +0100)]
Document gcov-dump and fix installation of gcov-tool (PR gcov-profile/80081).
2017-03-21 Martin Liska <mliska@suse.cz>
PR gcov-profile/80081
* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
* doc/gcc.texi: Include gcov-dump stuff.
* doc/gcov-dump.texi: New file.
From-SVN: r246321
Toma Tabacu [Tue, 21 Mar 2017 14:00:19 +0000 (14:00 +0000)]
Apply temporary fix for PR rtl-optimization/79150.
gcc/
PR rtl-optimization/79150
* config/mips/mips.c (mips_block_move_loop): Emit a NOP after the
conditional jump, if the jump is the last insn of the loop.
From-SVN: r246320
Bill Schmidt [Tue, 21 Mar 2017 13:57:20 +0000 (13:57 +0000)]
re PR tree-optimization/79908 (ICE in gimplify_expr (gimplify.c:12155) gimplification failed)
[gcc]
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Richard Biener <rguenth@suse.com>
PR tree-optimization/79908
* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
been cast away, use force_gimple_operand to construct the side
effects.
[gcc/testsuite]
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Richard Biener <rguenther@suse.de>
PR tree-optimization/79908
* gcc.dg/torture/pr79908.c: New file.
Co-Authored-By: Richard Biener <rguenth@suse.com>
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r246319
Senthil Kumar Selvaraj [Tue, 21 Mar 2017 12:05:09 +0000 (12:05 +0000)]
Fix failing overflow-1.c for avr
The test assumes 32 bit ints, and expects a constant in the
dump that is only valid for 32 bit ints. Fix by explicitly
specifying __UINT32_TYPE__.
gcc/testsuite/
2017-03-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/overflow-1.c: Use __UINT32_TYPE__ for targets
with sizeof(int) < 4.
From-SVN: r246318
Martin Liska [Tue, 21 Mar 2017 12:04:17 +0000 (13:04 +0100)]
Fix another profiledbootstrap warning (PR libfortran/79956).
2017-03-21 Martin Liska <mliska@suse.cz>
PR libfortran/79956
* simplify-rtx.c (simplify_immed_subreg): Initialize a variable
to NULL.
From-SVN: r246317
Martin Liska [Tue, 21 Mar 2017 12:01:40 +0000 (13:01 +0100)]
Fix dg-error for a test
2017-03-21 Martin Liska <mliska@suse.cz>
* gcc.target/i386/pr65044.c: Add '.' in order to catch
apostrophes.
From-SVN: r246316
Brad Spengler [Tue, 21 Mar 2017 11:50:18 +0000 (11:50 +0000)]
re PR plugins/80094 (GCC plugin hash table corruption on hash table expansion (>10 plugins) on GCC 4.5+)
2017-03-21 Brad Spengler <spender@grsecurity.net>
PR plugins/80094
* plugin.c (htab_hash_plugin): New function.
(add_new_plugin): Use it and adjust.
(parse_plugin_arg_opt): Adjust.
(init_one_plugin): Likewise.
From-SVN: r246315
Richard Biener [Tue, 21 Mar 2017 11:43:45 +0000 (11:43 +0000)]
re PR tree-optimization/80032 (C++ excessive stack usage (no stack reuse))
2017-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/80032
* gimplify.c (gimple_push_cleanup): Add force_uncond parameter,
if set force the cleanup to happen unconditionally.
(gimplify_target_expr): Push inserted clobbers with force_uncond
to avoid them being removed by control-dependent DCE.
* g++.dg/opt/pr80032.C: New testcase.
From-SVN: r246314
Richard Biener [Tue, 21 Mar 2017 11:42:22 +0000 (11:42 +0000)]
re PR tree-optimization/80122 (__builtin_va_arg_pack() and __builtin_va_arg_pack_len() does not work correctly)
2017-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/80122
* tree-inline.c (copy_bb): Do not expans va-arg packs or
va_arg_pack_len when the inlined call stmt requires pack
expansion itself.
* tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
* gcc.dg/torture/pr80122.c: New testcase.
From-SVN: r246313
Andreas Schwab [Tue, 21 Mar 2017 11:10:17 +0000 (11:10 +0000)]
Fix search_line_fast for aarch64/ILP32
* lex.c (search_line_fast) [__ARM_NEON && __ARM_64BIT_STATE]:
Convert 64-bit value to boolean before passing to
__builtin_expect.
From-SVN: r246312
Toma Tabacu [Tue, 21 Mar 2017 11:07:19 +0000 (11:07 +0000)]
Skip gcc.dg/pic-2.c and gcc.dg/pie-2.c for MIPS.
gcc/testsuite/
* gcc.dg/pic-2.c: Skip for MIPS.
* gcc.dg/pie-2.c: Skip for MIPS.
From-SVN: r246311
Paolo Carlini [Tue, 21 Mar 2017 10:18:51 +0000 (10:18 +0000)]
re PR c++/77752 (ICE on C++ code on x86_64-linux-gnu (internal compiler error: Segmentation fault, build_list_conv, implicit_conversion))
/cp
2017-03-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/77752
* name-lookup.c (pushtag_1): Add check for bogus, non template,
std::initializer_list.
/testsuite
2017-03-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/77752
* g++.dg/cpp0x/initlist97.C: New.
* g++.dg/cpp0x/initlist85.C: Update.
From-SVN: r246310
Jakub Jelinek [Tue, 21 Mar 2017 08:22:57 +0000 (09:22 +0100)]
re PR sanitizer/78158 (Strange data race detection with thread sanitizer)
PR sanitizer/78158
* tsan.c (instrument_builtin_call): If the memory model argument
is not a constant, assume it is valid.
From-SVN: r246306
Jakub Jelinek [Tue, 21 Mar 2017 08:10:30 +0000 (09:10 +0100)]
re PR middle-end/67338 (fold-const sanitizer runtime error in roundup_loc)
PR c/67338
* fold-const.c (round_up_loc): Negate divisor in unsigned type to
avoid UB.
* gcc.dg/pr67338.c: New test.
From-SVN: r246305
Marek Polacek [Tue, 21 Mar 2017 07:50:14 +0000 (07:50 +0000)]
Fix CL.
From-SVN: r246304
Jakub Jelinek [Tue, 21 Mar 2017 07:30:48 +0000 (08:30 +0100)]
re PR c++/35878 ([LWG 2302] Useless NULL pointer check when constructing object)
PR c++/35878
* init.c (std_placement_new_fn_p, build_new_1): Formatting fixes.
* g++.dg/init/pr35878_1.C: Rewrite directives to scan optimized
dump instead of assembler.
* g++.dg/init/pr35878_2.C: Likewise.
* g++.dg/init/pr35878_3.C: Likewise.
From-SVN: r246303
Jakub Jelinek [Tue, 21 Mar 2017 07:01:05 +0000 (08:01 +0100)]
re PR c/80097 (internal compiler error in c_fully_fold_internal with std=c89 and -fsanitize=float-divide-by-zero)
PR c/80097
* c-typeck.c (build_binary_op): Add EXCESS_PRECISION_EXPR only around
optional COMPOUND_EXPR with ubsan instrumentation.
* gcc.dg/ubsan/pr80097.c: New test.
From-SVN: r246302
Ville Voutilainen [Tue, 21 Mar 2017 06:36:22 +0000 (08:36 +0200)]
re PR c++/35878 ([LWG 2302] Useless NULL pointer check when constructing object)
gcc/
PR c++/35878
* cp/init.c (std_placement_new_fn_p): New.
(build_new_1): Call it.
testsuite/
PR c++/35878
* g++.dg/init/pr35878_1.C: New.
* g++.dg/init/pr35878_2.C: Likewise.
* g++.dg/init/pr35878_3.C: Likewise.
From-SVN: r246301
GCC Administrator [Tue, 21 Mar 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246300
Segher Boessenkool [Mon, 20 Mar 2017 23:08:16 +0000 (00:08 +0100)]
combine: Fix 79910
If the dest of an I0 or I1 is used in an insn before I2, as can happen
in various uncommon cases, and we manage to do the combination, the set
is moved to I2, which is wrong. Don't allow combining the insns in this
case.
PR rtl-optimization/79910
* combine.c (can_combine_p): Do not allow combining an I0 or I1
if its dest is used by an insn before I2 (other than the combined
insns themselves, which are properly handled already).
From-SVN: r246297
Segher Boessenkool [Mon, 20 Mar 2017 23:06:35 +0000 (00:06 +0100)]
Revert:
2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
* combine.c (record_used_regs): New static function.
(try_combine): Handle situations where there is an additional
instruction between I2 and I3 which needs to have a LOG_LINK
updated.
Revert:
2017-03-17 Jim Wilson <jim.wilson@linaro.org>
* combine.c (try_combine): Delete redundant i1 test. Call
prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
From-SVN: r246296
Joseph Myers [Mon, 20 Mar 2017 22:17:50 +0000 (22:17 +0000)]
* de.po, fr.po: Update.
From-SVN: r246295
François Dumont [Mon, 20 Mar 2017 20:51:40 +0000 (20:51 +0000)]
stl_deque.h (deque): Access allocator value_type only if concept checks are enabled.
2017-03-20 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_deque.h (deque): Access allocator value_type only if
concept checks are enabled.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
* include/bits/stl_list.h (list): Likewise and check
_SGIAssignableConcept only in C++03.
* include/bits/stl_map.h (map): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_queue.h (queue, priority_queue): Likewise.
From-SVN: r246294
Aaron Sawdey [Mon, 20 Mar 2017 20:43:44 +0000 (20:43 +0000)]
re PR target/80083 (libgomp doacross2.f90 regtest fails with -mcpu=power9 -O1)
2017-03-20 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/80083
* config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for
alternatives 13/14.
From-SVN: r246293
Jason Merrill [Mon, 20 Mar 2017 20:36:54 +0000 (16:36 -0400)]
PR c++/80096 - ICE with C++17 non-type auto.
* pt.c (tsubst): Delay tsubst of type of template non-type
parameter.
From-SVN: r246292
Jason Merrill [Mon, 20 Mar 2017 20:36:46 +0000 (16:36 -0400)]
PR c++/79519 - ICE with deleted template friend.
* decl.c (grokdeclarator): Complain about misplaced function
definition using =, as well.
From-SVN: r246291
Bill Schmidt [Mon, 20 Mar 2017 20:04:25 +0000 (20:04 +0000)]
re PR tree-optimization/80054 (ICE in verify_ssa with -O3 -march=broadwell/skylake-avx512)
[gcc]
2017-03-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/80054
* gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail
the optimization if a PHI or any of its arguments is not dominated
by the candidate's basis. Use gphi* rather than gimple* as
appropriate.
(replace_profitable_candidates): Clean up a gimple* variable that
should be a gphi* variable.
[gcc/testsuite]
2017-03-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/80054
* g++.dg/torture/pr80054.C: New file.
From-SVN: r246290
Jason Merrill [Mon, 20 Mar 2017 18:49:10 +0000 (14:49 -0400)]
PR c++/79640 - infinite recursion with generic lambda.
* pt.c (tsubst_copy) [VAR_DECL]: Register the dummy instantiation
before substituting its initializer.
From-SVN: r246289
Martin Sebor [Mon, 20 Mar 2017 18:33:31 +0000 (18:33 +0000)]
PR c++/52477 - Wrong initialization order __attribute__((constructor)) vs static data access
* doc/extend.texi (attribute constructor): Document present limitation.
From-SVN: r246288
Kelvin Nilsen [Mon, 20 Mar 2017 18:05:00 +0000 (18:05 +0000)]
re PR target/79963 (vec_eq_any extracts wrong CR bit when compiling with -mcpu=power9)
gcc/testsuite/ChangeLog:
2017-03-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/79963
* gcc.target/powerpc/vsu/vec-any-eq-10.c: Add scan-assembler
directive to assure selection of proper bit using rlwinm insn.
* gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise.
gcc/ChangeLog:
2017-03-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/79963
* config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and
__POWER9_VECTOR__ #ifdef control, change template definition to
use Power9-specific built-in function.
(vec_any_eq): Likewise.
* config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used
to control outcomes from this test.
(vector_ae_<mode>p): For VEC_F modes, likewise.
From-SVN: r246287
Ian Lance Taylor [Mon, 20 Mar 2017 17:43:08 +0000 (17:43 +0000)]
i386.c (ix86_function_regparm): Save an extra register for -fsplit-stack with DECL_STATIC_CHAIN.
* config/i386/i386.c (ix86_function_regparm): Save an extra
register for -fsplit-stack with DECL_STATIC_CHAIN.
From-SVN: r246286
Nicolas Koenig [Mon, 20 Mar 2017 16:50:00 +0000 (16:50 +0000)]
re PR fortran/39239 (Reject SAVEd variables EQUIVALENCEd to a COMMON)
2017-03-12 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/39239
* symbol.c (check_conflict): report an error if an EQUIVALENCE variable is BIND(C).
2017-03-12 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/39239
* gfortran.dg/equiv_constraint_bind_c.f90: New test.
From-SVN: r246284
Palmer Dabbelt [Mon, 20 Mar 2017 16:43:21 +0000 (16:43 +0000)]
RISC-V: Don't prefer FP_REGS for integers
On RISC-V we can't store integers in floating-point registers as this is
forbidden by the ISA. We've always disallowed this, but we were
setting the preferred mode to FP_REGS for some integer modes. This
caused the LRA to blow up with some hard to read error messages.
This patch removes the prefered mode hook, as the right thing to do here
is nothing.
Thanks to Kito for finding the bug, and mpf for the fix. See also
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79912>.
PR target/79912
From-SVN: r246283
Palmer Dabbelt [Mon, 20 Mar 2017 16:43:17 +0000 (16:43 +0000)]
Use more conservative fences on RISC-V
The RISC-V memory model is still in the process of being formally
specified, so for now we're going to be safe and add the I/O bits to
userspace fences because there's no way to know if userspace is touching
memory-mapped I/O regions at compile time.
This will have no impact on existing microarchitecutres because they
treat all fences conservatively.
gcc/ChangeLog:
2017-03-17 Palmer Dabbelt <palmer@dabbelt.com>
* config/riscv/riscv.c (riscv_print_operand): Use "fence
iorw,ow".
* config/riscv/sync.mc (mem_thread_fence_1): Use "fence
iorw,iorw".
From-SVN: r246282
Palmer Dabbelt [Mon, 20 Mar 2017 16:43:13 +0000 (16:43 +0000)]
Disable test inapplicable to RISC-V
The test is coupled to the branch cost model.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/ssa-thread-14.c: Adjust target selector.
From-SVN: r246281
Palmer Dabbelt [Mon, 20 Mar 2017 16:11:32 +0000 (16:11 +0000)]
Add RISC-V Maintainers
2017-03-20 Palmer Dabbelt <palmer@dabbelt.com>
* MAINTAINERS (CPU Port Maintainers): Add Kito Cheng, Palmer Dabbelt,
and Andrew Waterman as the RISC-V maintainers.
From-SVN: r246280
Marek Polacek [Mon, 20 Mar 2017 15:02:09 +0000 (15:02 +0000)]
PR c++/80059 - ICE with noexcept and __transaction_atomic
PR c++/80059 - ICE with noexcept and __transaction_atomic
* except.c (build_must_not_throw_expr): Call
instantiate_non_dependent_expr_sfinae.
* g++.dg/tm/pr80059-2.C: New test.
* g++.dg/tm/pr80059.C: New test.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r246279
Marek Polacek [Mon, 20 Mar 2017 13:31:28 +0000 (13:31 +0000)]
re PR sanitizer/80063 (gcc/asan.c: PVS-Studio: Incorrect Block Delimitation (CWE-483))
PR sanitizer/80063
* asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0).
From-SVN: r246278
Richard Biener [Mon, 20 Mar 2017 13:06:58 +0000 (13:06 +0000)]
re PR tree-optimization/80113 (ICE in set_var_live_on_entry at tree-ssa-live.c:1018)
2017-03-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/80113
* graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
allocate extra SSA name for PHI def.
(add_close_phis_to_outer_loops): Likewise.
(add_close_phis_to_merge_points): Likewise.
(copy_loop_close_phi_args): Likewise.
(copy_cond_phi_nodes): Likewise.
From-SVN: r246277
Martin Liska [Mon, 20 Mar 2017 10:06:00 +0000 (11:06 +0100)]
MPX: fix PR middle-end/79753
2017-03-20 Martin Liska <mliska@suse.cz>
PR middle-end/79753
* tree-chkp.c (chkp_build_returned_bound): Do not build
returned bounds for a LHS that's not a BOUNDED_P type.
2017-03-20 Martin Liska <mliska@suse.cz>
PR middle-end/79753
* gcc.target/i386/mpx/pr79753.c: New test.
From-SVN: r246276
Martin Liska [Mon, 20 Mar 2017 10:04:06 +0000 (11:04 +0100)]
Fix *_CST ICEs connected to MPX.
2017-03-20 Martin Liska <mliska@suse.cz>
PR target/79769
PR target/79770
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
COMPLEX_CST and VECTOR_CST.
2017-03-20 Martin Liska <mliska@suse.cz>
PR target/79769
PR target/79770
* g++.dg/pr79769.C: New test.
* gcc.target/i386/mpx/pr79770.c: New test.
From-SVN: r246275
Andreas Krebbel [Mon, 20 Mar 2017 09:33:11 +0000 (09:33 +0000)]
S/390: PR78857: Don't use load and test if result is live.
The FP load and test instruction should not be used for a comparison
if the target operand is being used afterwards. It unfortunately
turns SNaNs into QNaNs.
gcc/ChangeLog:
2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/78857
* config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the
target operand. A new splitter adds the clobber statement in case
the target operand is dead anyway.
gcc/testsuite/ChangeLog:
2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/78857
* gcc.target/s390/load-and-test-fp-1.c: New test.
* gcc.target/s390/load-and-test-fp-2.c: New test.
From-SVN: r246274
Jason Merrill [Mon, 20 Mar 2017 02:22:43 +0000 (22:22 -0400)]
PR c++/80084 - wrong C++17 decomposition by reference of parameter.
* decl.c (cp_finish_decomp): Don't pull out the DECL_INITIAL of a
reference decomposition.
From-SVN: r246273
Jason Merrill [Mon, 20 Mar 2017 02:22:36 +0000 (22:22 -0400)]
PR c++/80077 - error with constexpr and -fno-elide-constructors.
* constexpr.c (cxx_eval_call_expression): Set ctx->call while
expanding trivial constructor.
From-SVN: r246272
GCC Administrator [Mon, 20 Mar 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246271
Gerald Pfeifer [Sun, 19 Mar 2017 07:34:46 +0000 (07:34 +0000)]
install.texi (Specific): No longer refer to age-old versions of binutils and glibc.
* doc/install.texi (Specific) <sparc-*-linux*>: No longer refer
to age-old versions of binutils and glibc.
From-SVN: r246266
Segher Boessenkool [Sun, 19 Mar 2017 00:30:40 +0000 (01:30 +0100)]
Kill my doppelg\"anger
* doc/contrib.texi (Contributors): Remove duplicate entry for myself.
From-SVN: r246265
GCC Administrator [Sun, 19 Mar 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246264
Nicolas Koenig [Sat, 18 Mar 2017 21:44:27 +0000 (21:44 +0000)]
MAINTAINERS: Add self to Write After Approval
2017-03-18 Nicolas Koenig <koenigni@gcc.gnu.org>
* MAINTAINERS: Add self to Write After Approval
From-SVN: r246261
Gerald Pfeifer [Sat, 18 Mar 2017 21:14:06 +0000 (21:14 +0000)]
* doc/contrib.texi (Contributors): Add Segher Boessenkool.
From-SVN: r246260
Gerald Pfeifer [Sat, 18 Mar 2017 18:39:54 +0000 (18:39 +0000)]
appendix_contributing.xml: Convert link to ansi.org to https.
* doc/xml/manual/appendix_contributing.xml: Convert link to
ansi.org to https.
Update link to the C++ standard at ansi.org.
* doc/xml/faq.xml: Remove information redundant with the above;
instead add a reference.
From-SVN: r246259
Gerald Pfeifer [Sat, 18 Mar 2017 18:22:06 +0000 (18:22 +0000)]
* config.guess: Import latest from upstream.
From-SVN: r246258
Gerald Pfeifer [Sat, 18 Mar 2017 13:04:43 +0000 (13:04 +0000)]
MAINTAINERS (Write After Approval): Remove entries that are already covered under Reviewers.
* MAINTAINERS (Write After Approval): Remove entries that are
already covered under Reviewers.
From-SVN: r246257
Paul Thomas [Sat, 18 Mar 2017 12:38:02 +0000 (12:38 +0000)]
re PR fortran/79676 ([submodules] Compilation/linking error when module procedures PRIVATE)
2017-03-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79676
* module.c (mio_symbol_attribute): Remove reset of the flag
'no_module_procedures'.
(check_for_module_procedures): New function. Move declaration
of 'no_module_procedures' to above it.
(gfc_dump_module): Traverse namespace calling new function.
2017-03-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79676
* gfortran.dg/submodule_28.f08 : New test.
From-SVN: r246256
Paul Thomas [Sat, 18 Mar 2017 11:53:53 +0000 (11:53 +0000)]
re PR fortran/71838 (ICE with OpenCoarrays on submodule)
2017-03-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/71838
* symbol.c (check_conflict): A dummy procedure in a submodule,
module procedure is not an error.
(gfc_add_flavor): Ditto.
2017-03-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/71838
* gfortran.dg/submodule_26.f08 : New test.
* gfortran.dg/submodule_27.f08 : New test.
From-SVN: r246255
Gerald Pfeifer [Sat, 18 Mar 2017 09:43:47 +0000 (09:43 +0000)]
install.texi (Specific): Remove old requirement for binutils 2.13.
* doc/install.texi (Specific) <arm-*-eabi>: Remove old
requirement for binutils 2.13.
From-SVN: r246254
Jim Wilson [Sat, 18 Mar 2017 05:37:52 +0000 (05:37 +0000)]
Fix aarch64 bootstrap compare failure.
gcc/
* combine.c (try_combine): Delete redundant i1 test. Call
prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
From-SVN: r246253
GCC Administrator [Sat, 18 Mar 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r246252