Jakub Jelinek [Fri, 29 Jan 2016 14:14:56 +0000 (15:14 +0100)]
re PR target/69551 (Wrong code with single element vector insert)
PR target/69551
* config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
SSE1, copy target into the temporary reg first before recursing
on it.
* gcc.target/i386/pr69551.c: New test.
From-SVN: r232982
Jakub Jelinek [Fri, 29 Jan 2016 14:07:40 +0000 (15:07 +0100)]
re PR target/66137 (ICE with -ffixed-ebp)
PR target/66137
* gcc.target/i386/pr66137.c: New test.
From-SVN: r232981
Andrew Bennett [Fri, 29 Jan 2016 13:54:53 +0000 (13:54 +0000)]
p5600-bonding.c (dg-options): Force the test to be always built for p5600.
testsuite/
2016-01-29 Andrew Bennett <andrew.bennett@imgtec.com>
* gcc.target/mips/p5600-bonding.c (dg-options): Force the test to be
always built for p5600.
* gcc.target/mips/mips.exp (mips-dg-options): Add support for the
isa=p5600 dg-option.
From-SVN: r232980
H.J. Lu [Fri, 29 Jan 2016 13:03:51 +0000 (13:03 +0000)]
Use vm in sse2_cvtps2pd<mask_name>
sse2_cvtps2pd<mask_name> has
(define_insn "sse2_cvtps2pd<mask_name>"
[(set (match_operand:V2DF 0 "register_operand" "=v")
(float_extend:V2DF
(vec_select:V2SF
(match_operand:V4SF 1 "vector_operand" "vBm")
(parallel [(const_int 0) (const_int 1)]))))]
The memory operand size is 8 bytes (2 floats). We should use vm instead
of vBm.
* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
with vm.
From-SVN: r232979
Martin Jambor [Fri, 29 Jan 2016 12:47:56 +0000 (13:47 +0100)]
Add myself as a hsa maintainer
2016-01-29 Martin Jambor <mjambor@suse.cz>
* MAINTAINERS (hsa maintainers): Add myself.
From-SVN: r232978
Jonathan Wakely [Fri, 29 Jan 2016 12:29:42 +0000 (12:29 +0000)]
Test __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__
* ginclude/stdarg.h: Test __cplusplus instead of
__GXX_EXPERIMENTAL_CXX0X__.
From-SVN: r232977
Richard Biener [Fri, 29 Jan 2016 11:21:19 +0000 (11:21 +0000)]
re PR middle-end/69547 (no-op array initializer emits an empty loop)
2016-01-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/69547
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
Do not mark clobbers necessary.
(mark_all_reaching_defs_necessary_1): Likewise.
* g++.dg/tree-ssa/pr69547.C: New testcase.
From-SVN: r232976
Jakub Jelinek [Fri, 29 Jan 2016 11:14:42 +0000 (12:14 +0100)]
re PR debug/66869 (-Wunused-function no longer warns for static declarations without definition)
PR debug/66869
* decl.c (wrapup_globals_for_namespace): Warn about unused static
function declarations.
* g++.dg/warn/Wunused-function2.C: New test.
From-SVN: r232975
Jonathan Wakely [Fri, 29 Jan 2016 10:52:08 +0000 (10:52 +0000)]
Fix Cygwin bootstrap error due to TM symbols
PR libstdc++/69506
* config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
From-SVN: r232974
Dominik Vogt [Fri, 29 Jan 2016 10:17:03 +0000 (10:17 +0000)]
S/390: Use %qs in error messages.
gcc/ChangeLog
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
declaration name with %qs and print it in both error messages. Also
fix indentation.
From-SVN: r232973
Dominik Vogt [Fri, 29 Jan 2016 10:12:11 +0000 (10:12 +0000)]
PR other/69006: S/390: Fix extra newlines after diagnostics.
gcc/ChangeLog
PR other/69006
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
trailing blank line from error message.
From-SVN: r232972
Dominik Vogt [Fri, 29 Jan 2016 10:09:13 +0000 (10:09 +0000)]
S/390: Require a hardware vector support for test to succeed.
The test case works on S/390 too, but only with -march=z13 or later
(i.e. if Gcc can make use of hardware vector support). Otherwise the
optimization gets too complex. The attached patch forces Gcc to use
-march=z13 instead of xfail'ing the test on S/390.
gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Require a hardware vector support for
test to succeed.
From-SVN: r232971
Jonathan Wakely [Fri, 29 Jan 2016 10:03:26 +0000 (10:03 +0000)]
PR c++/69462: Provide FLT_EVAL_METHOD and DECIMAL_DIG in float.h.
gcc/ChangeLog
PR c++/69462
* ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
for C++-11.
From-SVN: r232970
Marek Polacek [Fri, 29 Jan 2016 09:25:14 +0000 (09:25 +0000)]
re PR c++/69509 (infinite loop compiling a VLA in a recursive constexpr function)
PR c++/69509
PR c++/69516
* constexpr.c (cxx_eval_array_reference): Give the "array subscript
out of bound" error earlier.
* init.c (build_vec_init): Change NE_EXPR into GT_EXPR. Update the
commentary.
* g++.dg/ext/constexpr-vla2.C: New test.
* g++.dg/ext/constexpr-vla3.C: New test.
* g++.dg/ubsan/vla-1.C: Remove dg-shouldfail.
From-SVN: r232969
Richard Biener [Fri, 29 Jan 2016 08:36:04 +0000 (08:36 +0000)]
re PR middle-end/69537 (Incorrect -Wmaybe-uninitialized warning with enum variable)
2016-01-29 Richard Biener <rguenther@suse.de>
PR middle-end/69537
* match.pd: Allow all integral types when simplifying a
widening or sign-changing conversion.
* gcc.dg/uninit-21.c: New testcase.
From-SVN: r232968
Sebastian Pop [Fri, 29 Jan 2016 04:31:40 +0000 (04:31 +0000)]
PR69545: revert patch
Revert 'assert instead of silently failing code gen' that produces an ICE with isl-0.14.
From-SVN: r232966
Patrick Palka [Fri, 29 Jan 2016 01:51:03 +0000 (01:51 +0000)]
Fix cp_binding_level reuse logic
gcc/cp/ChangeLog:
* name-lookup.c (begin_scope): After reusing a cp_binding_level
structure, update free_binding_level before the structure's
level_chain field gets cleared, not after.
From-SVN: r232965
GCC Administrator [Fri, 29 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232963
Jakub Jelinek [Thu, 28 Jan 2016 22:35:20 +0000 (23:35 +0100)]
re PR pch/68176 (all pch tests fail on eglibc systems (with bits/predefs.h))
PR pch/68176
* files.c (_cpp_find_file): Set file->implicit_preinclude even if
included from file->implicit_preinclude header.
From-SVN: r232956
Uros Bizjak [Thu, 28 Jan 2016 22:32:47 +0000 (23:32 +0100)]
re PR target/69459 (wrong code with -O2 and vector arithmetics @ x86_64)
PR target/69459
* config/i386/constraints.md (C): Only accept constant zero operand.
(BC): New constraint.
* config/i386/sse.md (*mov<mode>_internal): Use BC constraint
instead of C constraint.
* doc/md.texi (Machine Constraints): Update description
of C constraint.
testsuite/ChangeLog:
PR target/69459
* gcc.target/i386/pr69459.c: New test.
From-SVN: r232955
Steve Ellcey [Thu, 28 Jan 2016 22:28:04 +0000 (22:28 +0000)]
re PR target/68400 (ICE in change_address_1, at emit-rtl.c:2125)
PR target/68400
* gcc.target/mips/mips.exp (mips_option_groups): Add stack-protector.
* gcc.target/mips/pr68400.c: New test.
From-SVN: r232954
Steve Ellcey [Thu, 28 Jan 2016 22:25:55 +0000 (22:25 +0000)]
re PR target/68400 (ICE in change_address_1, at emit-rtl.c:2125)
2016-01-28 Steve Ellcey <sellcey@imgtec.com>
PR target/68400
* config/mips/mips.c (and_operands_ok): Add MIPS16 check.
From-SVN: r232952
Martin Sebor [Thu, 28 Jan 2016 21:05:39 +0000 (21:05 +0000)]
PR target/17381 - Unnecessary register move for float extend
2016-01-28 Martin Sebor <msebor@redhat.com>
PR target/17381
* gcc.target/powerpc/pr17381.c: New test.
From-SVN: r232947
Jakub Jelinek [Thu, 28 Jan 2016 21:01:51 +0000 (22:01 +0100)]
re PR middle-end/69542 (-fcompare-debug failure in simplify-rtx.c on i?86 since r232905)
PR middle-end/69542
* lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
non-debug insns.
* gcc.dg/torture/pr69542.c: New test.
From-SVN: r232946
Pat Haugen [Thu, 28 Jan 2016 20:34:49 +0000 (20:34 +0000)]
rs6000.c (output_cbranch): Don't statically predict branches if using guessed profile.
* config/rs6000/rs6000.c (output_cbranch): Don't statically predict
branches if using guessed profile.
From-SVN: r232945
H.J. Lu [Thu, 28 Jan 2016 18:23:24 +0000 (18:23 +0000)]
Fix optimize_isl dump
* graphite-optimize-isl.c (optimize_isl): Fix dump.
From-SVN: r232939
Richard Henderson [Thu, 28 Jan 2016 17:48:22 +0000 (09:48 -0800)]
re PR target/69305 (wrong code with -O and int128 @ aarch64)
PR target/69305
* config/aarch64/aarch64-modes.def (CC_Cmode): New
* config/aarch64/aarch64-protos.h: Update.
* config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
(aarch64_select_cc_mode): Add check for use of CC_Cmode.
(aarch64_get_condition_code_1): Handle CC_Cmode.
* config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
(*add<mode>3_compareC_cconly_imm): New.
(*add<mode>3_compareC_cconly): New.
(*add<mode>3_compareC_imm): New.
(add<mode>3_compareC): New.
(add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
to be first. Use aarch64_carry_operation.
(*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
(*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
(*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
(subti3): Use subdi3_compare1.
(*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
(sub<mode>3_compare1): New.
(*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
(*sub<mode>3_carryin): Use aarch64_borrow_operation.
(*subsi3_carryin_uxtw): Likewise.
(*ngc<mode>, *ngcsi_uxtw): Likewise.
(*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
* config/aarch64/iterators.md (DWI): New.
* config/aarch64/predicates.md (aarch64_carry_operation): New.
(aarch64_borrow_operation): New.
From-SVN: r232936
Abderrazek Zaafrani [Thu, 28 Jan 2016 16:39:18 +0000 (16:39 +0000)]
make debug comment more explicit
2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
* graphite-optimize-isl.c (optimize_isl): Print a different debug
message when isl does not return a valid schedule.
From-SVN: r232935
Sebastian Pop [Thu, 28 Jan 2016 16:39:10 +0000 (16:39 +0000)]
remove out of sync comments
* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
Remove comments from class declarations: they are already in the code
close by the defs.
From-SVN: r232934
Sebastian Pop [Thu, 28 Jan 2016 16:39:01 +0000 (16:39 +0000)]
use codegen_error_p
* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call codegen_error_p.
(ternary_op_to_tree): Same.
(unary_op_to_tree): Same.
(nary_op_to_tree): Same.
(gcc_expression_from_isl_expr_op): Same.
(gcc_expression_from_isl_expression): Same.
(graphite_create_new_loop): Same.
(graphite_create_new_loop_guard): Same.
(build_iv_mapping): Same.
(graphite_create_new_guard): Same.
(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
From-SVN: r232933
Sebastian Pop [Thu, 28 Jan 2016 16:38:52 +0000 (16:38 +0000)]
assert instead of silently failing code gen
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert instead of
setting codegen_error to fail codegen.
From-SVN: r232932
Jason Merrill [Thu, 28 Jan 2016 15:45:44 +0000 (10:45 -0500)]
* tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
From-SVN: r232931
Wilco Dijkstra [Thu, 28 Jan 2016 15:41:46 +0000 (15:41 +0000)]
A recent change added UNSPEC to the CCMP patterns to stop combine optimizing the immediate in a rare case.
A recent change added UNSPEC to the CCMP patterns to stop combine optimizing
the immediate in a rare case. This requires a fix to the CCMP cost
calculation as the CCMP instruction with unspec is no longer recognized.
Fix the ccmp_1.c test by adding -ffinite-math-only so FCCMPE is emitted on
relational compares.
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* config/aarch64/aarch64.c (aarch64_if_then_else_costs):
Remove CONST_INT_P check in CCMP cost calculation.
gcc/testsuite/
* gcc.target/aarch64/ccmp_1.c: Fix test issue.
From-SVN: r232930
Jason Merrill [Thu, 28 Jan 2016 15:07:56 +0000 (10:07 -0500)]
re PR c++/67407 (ice in friend_accessible_p)
PR c++/67407
* search.c (dfs_walk_once, dfs_walk_once_r)
(dfs_walk_once_accessible_r, dfs_walk_once_accessible): Use
hash_set instead of BINFO_MARKED.
(dfs_unmark_r): Remove.
From-SVN: r232929
Jakub Jelinek [Thu, 28 Jan 2016 14:33:55 +0000 (15:33 +0100)]
* directives.c (destringize_and_run): Adjust prototype.
From-SVN: r232928
David Edelsohn [Thu, 28 Jan 2016 13:52:06 +0000 (13:52 +0000)]
pr65980.c: Skip on AIX.
* gcc.dg/pr65980.c: Skip on AIX.
* gcc.dg/pr66688.c: Same.
From-SVN: r232927
David Edelsohn [Thu, 28 Jan 2016 13:48:00 +0000 (13:48 +0000)]
re PR target/63679 ([AArch64] Failure to constant fold.)
PR target/63679
* gcc.dg/tree-ssa/sra-17.c: Adjust regex for more label styles.
* gcc.dg/tree-ssa/sra-18.c: Same.
From-SVN: r232926
John David Anglin [Thu, 28 Jan 2016 13:09:23 +0000 (13:09 +0000)]
re PR libstdc++/69450 (libstdc++-v3/include/math.h:66:1 2: error: 'constexpr bool std::isnan(double)' conflicts with a previous declaration)
PR libstdc++/69450
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
isinf and isnan functions into two independent checks. Check on hpux.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/c_global/cmath (isinf(double), isnan(double)): Use
_GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
respectively.
From-SVN: r232925
Eric Botcazou [Thu, 28 Jan 2016 11:59:14 +0000 (11:59 +0000)]
gigi.h (enum attr_type): Rename into...
* gcc-interface/gigi.h (enum attr_type): Rename into...
(enum attrib_type): ...this.
(struct attrib): Adjust.
* gcc-interface/decl.c (prepend_one_attribute): Likewise.
From-SVN: r232923
Wilco Dijkstra [Thu, 28 Jan 2016 11:52:08 +0000 (11:52 +0000)]
Add support for vector permute cost since various permutes can expand into a complex sequence of instructions.
Add support for vector permute cost since various permutes can expand
into a complex sequence of instructions. This fixes major performance
regressions due to recent changes in SLP vectorizer (which now vectorizes
more aggressively and emits many complex permutes). Set the cost to > 1
for all microarchitectures so that the number of permutes is usually zero
and regressions disappear.
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.c (generic_vector_cost):
Set vec_permute_cost.
(cortexa57_vector_cost): Likewise.
(exynosm1_vector_cost): Likewise.
(xgene1_vector_cost): Likewise.
(aarch64_builtin_vectorization_cost): Use vec_permute_cost.
* config/aarch64/aarch64-protos.h (cpu_vector_cost):
Add vec_permute_cost entry.
From-SVN: r232922
Wilco Dijkstra [Thu, 28 Jan 2016 11:45:06 +0000 (11:45 +0000)]
Several instructions disassemble a zero immediate as wzr/xzr due to using a register operand in the disassembly.
Several instructions disassemble a zero immediate as wzr/xzr due to
using a register operand in the disassembly. Avoid this by removing
the register operand.
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.md (ccmp<mode>): Disassemble
immediate as %1.
(add<mode>3_compare0): Likewise.
(addsi3_compare0_uxtw): Likewise.
(add<mode>3nr_compare0): Likewise.
(compare_neg<mode>): Likewise.
(<optab><mode>3): Likewise.
From-SVN: r232921
Andre Vehreschild [Thu, 28 Jan 2016 11:41:10 +0000 (12:41 +0100)]
Added missing testcase of r232919.
From-SVN: r232920
Andre Vehreschild [Thu, 28 Jan 2016 11:34:03 +0000 (12:34 +0100)]
re PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement)
gcc/fortran/ChangeLog:
2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/62536
* decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
when the END encountered does not match a BLOCK's end.
gcc/testsuite/ChangeLog:
2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/62536
* gfortran.dg/block_15.f08: New test.
* gfortran.dg/block_end_error_1.f90: Need to catch additional error
on incorrectly closed BLOCK.
From-SVN: r232919
Ilya Enkovich [Thu, 28 Jan 2016 10:09:12 +0000 (10:09 +0000)]
tree-vect-stmts.c (vectorizable_comparison): Add NULL check for vectype.
gcc/
* tree-vect-stmts.c (vectorizable_comparison): Add
NULL check for vectype.
gcc/testsuite/
* gcc.dg/declare-simd.c: New test.
From-SVN: r232917
Richard Biener [Thu, 28 Jan 2016 09:10:30 +0000 (09:10 +0000)]
re PR tree-optimization/69466 (ICE: Invalid PHI argument after vectorization (on -O2))
2016-01-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/69466
* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
Account for PHIs we couldn't duplicate.
* gfortran.dg/vect/pr69466.f90: New testcase.
From-SVN: r232916
Martin Liska [Thu, 28 Jan 2016 08:39:05 +0000 (09:39 +0100)]
re PR pch/68758 (Invalid read of size 8 in gt_pch_save (ggc-common.c:551))
Fix PR pch/68758.
PR pch/68758
* ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
instead of ENABLE_VALGRIND_CHECKING.
From-SVN: r232915
Paul Thomas [Thu, 28 Jan 2016 06:52:15 +0000 (06:52 +0000)]
correct ChangeLogs for PR69422
From-SVN: r232914
Thomas Preud'homme [Thu, 28 Jan 2016 06:29:10 +0000 (06:29 +0000)]
pr67989.C: Remove ARM-specific option.
2016-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
* g++.dg/pr67989.C: Remove ARM-specific option.
* gcc.target/arm/pr67989.C: New file.
From-SVN: r232913
Patrick Palka [Thu, 28 Jan 2016 01:06:29 +0000 (01:06 +0000)]
Low-hanging C++-lexer speedup (PR c++/24208)
gcc/cp/ChangeLog:
PR c++/24208
* parser.c (LEXER_DEBUGGING_ENABLED_P): New macro.
(cp_lexer_debugging_p): Use it.
(cp_lexer_start_debugging): Likewise.
(cp_lexer_stop_debugging): Likewise.
From-SVN: r232912
GCC Administrator [Thu, 28 Jan 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232911
Uros Bizjak [Wed, 27 Jan 2016 23:04:25 +0000 (00:04 +0100)]
pr68264.c: Disable log1p test for glibc < 2.22 and expm1 test for glibc < 2.11.
* gcc.dg/torture/pr68264.c: Disable log1p test for glibc < 2.22
and expm1 test for glibc < 2.11.
From-SVN: r232907
Janus Weil [Wed, 27 Jan 2016 22:32:52 +0000 (23:32 +0100)]
re PR fortran/69484 (documentation issue: -Wtabs and -Wall)
2016-01-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/69484
* invoke.texi: Fix documentation of -Wall with respect to -Wtabs.
From-SVN: r232906
Richard Henderson [Wed, 27 Jan 2016 22:08:02 +0000 (14:08 -0800)]
re PR rtl-optimization/69447 (wrong code with -O2 -fno-schedule-insns and mixed 8/16/32/64bit arithmetics @ armv7a)
PR rtl-opt/69447
* lra-remat.c (subreg_regs): New.
(dump_candidates_and_remat_bb_data): Dump it.
(operand_to_remat): Reject if operand in subreg_regs.
(set_bb_regs): Collect subreg_regs.
(lra_remat): Init and free subreg_regs. Compute
calculate_local_reg_remat_bb_data before create_cands.
From-SVN: r232905
Paul Thomas [Wed, 27 Jan 2016 21:24:01 +0000 (21:24 +0000)]
[multiple changes]
2016-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69385
* trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
for allocatable components, whilst checking if the symbol is a
derived or class entity..
2015-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69385
* gfortran.dg/alloc_comp_assign_15.f03: New test.
From-SVN: r232904
H.J. Lu [Wed, 27 Jan 2016 19:54:03 +0000 (19:54 +0000)]
Don't change stack_alignment_needed for __tls_get_addr
__tls_get_addr must be called with 16-byte aligned stack, which is
guaranted by setting preferred_stack_boundary to 128 bits. There
is no need to change stack_alignment_needed for __tls_get_addr.
PR target/68986
* config/i386/i386.c (ix86_update_stack_boundary): Don't
change stack_alignment_needed for __tls_get_addr call.
From-SVN: r232901
Segher Boessenkool [Wed, 27 Jan 2016 19:44:31 +0000 (20:44 +0100)]
rs6000: Put back the 's' output modifier
It turns out the 's' output modifier is used in some glibc math code,
and is in an installed header even. So let's put it back, it is much
less of a burden supporting it a bit longer than to deal with the fallout.
(It is also being fixed for glibc.)
* config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
From-SVN: r232900
Jakub Jelinek [Wed, 27 Jan 2016 19:32:49 +0000 (20:32 +0100)]
re PR debug/66869 (-Wunused-function no longer warns for static declarations without definition)
PR debug/66869
* c-decl.c (c_write_global_declarations_1): Warn with
warn_unused_function if static prototype without definition
is not C_DECL_USED.
* gcc.dg/pr66869.c: New test.
From-SVN: r232899
Jakub Jelinek [Wed, 27 Jan 2016 19:31:06 +0000 (20:31 +0100)]
* testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
From-SVN: r232898
Jeff Law [Wed, 27 Jan 2016 19:19:47 +0000 (12:19 -0700)]
re PR tree-optimization/68398 (coremark regression due to r229685)
PR tree-optimization/68398
* params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
(PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Only count PHIs in the last block in the path. The others will
const/copy propagate away. Add heuristic to allow more irreducible
subloops to be created when it is likely profitable to do so.
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
check from within the loop. Use gsi_next_nondebug rather than gsi_next.
PR tree-optimization/68398
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Add extra statements on thread
path to avoid new heuristic allowing more irreducible regions
* gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Likewise.
* gcc.dg/tree-ssa/vrp46.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2g.c: New test.
* gcc.dg/tree-ssa/ssa-dom-thread-2h.c: Likewise.
From-SVN: r232897
Marek Polacek [Wed, 27 Jan 2016 19:13:42 +0000 (19:13 +0000)]
re PR c/68062 (ICE when comparing vectors)
PR c/68062
* c-typeck.c (build_binary_op) [EQ_EXPR, GE_EXPR]: Promote operand
to unsigned, if needed. Add -Wsign-compare warning.
* typeck.c (cp_build_binary_op): Promote operand to unsigned, if
needed. Add -Wsign-compare warning.
* c-c++-common/vector-compare-4.c: New test.
From-SVN: r232894
David Malcolm [Wed, 27 Jan 2016 18:57:51 +0000 (18:57 +0000)]
libcpp: use better locations for _Pragma tokens (preprocessor/69126)
gcc/testsuite/ChangeLog:
PR preprocessor/69126
* c-c++-common/pr69126.c: New test case.
libcpp/ChangeLog:
PR preprocessor/69126
* directives.c (destringize_and_run): Add expansion_loc param; use
it when handling unexpanded pragmas to fixup the locations of the
synthesized tokens.
(_cpp_do__Pragma): Add expansion_loc param and use it when calling
destringize_and_run.
* internal.h (_cpp_do__Pragma): Add expansion_loc param.
* macro.c (builtin_macro): Pass expansion location of _Pragma to
_cpp_do__Pragma.
From-SVN: r232893
Ian Lance Taylor [Wed, 27 Jan 2016 18:51:58 +0000 (18:51 +0000)]
compiler: Accept map composite literals with omitted key types.
compiler: Copy key_path_ when copying a Composite_literal_expression.
Fixes golang/go#10263.
Reviewed-on: https://go-review.googlesource.com/14299
Reviewed-on: https://go-review.googlesource.com/18988
From-SVN: r232892
Jakub Jelinek [Wed, 27 Jan 2016 18:48:30 +0000 (19:48 +0100)]
re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only)
PR lto/69254
* sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
* asan.c (DEF_BUILTIN_STUB): Temporarily define.
* tree-streamer-in.c: Include asan.h.
(streamer_get_builtin_tree): For builtins in sanitizer
range call initialize_sanitizer_builtins and retry.
From-SVN: r232891
Ian Lance Taylor [Wed, 27 Jan 2016 18:37:14 +0000 (18:37 +0000)]
go-lang.c (go_langhook_init_options_struct): Default to -fkeep-gc-roots-live.
* go-lang.c (go_langhook_init_options_struct): Default to
-fkeep-gc-roots-live.
From-SVN: r232890
Ian Lance Taylor [Wed, 27 Jan 2016 17:42:47 +0000 (17:42 +0000)]
common.opt (fkeep-gc-roots-live): New undocumented option.
gcc/:
* common.opt (fkeep-gc-roots-live): New undocumented option.
* tree-ssa-loop-ivopts.c (add_candidate_1): If
-fkeep-gc-roots-live, skip pointers.
(add_iv_candidate_for_biv): Handle add_candidate_1 returning
NULL.
gcc/testsuite/:
* gcc.dg/tree-ssa/ivopt_5.c: New test.
From-SVN: r232888
Ryan Burn [Wed, 27 Jan 2016 17:17:23 +0000 (17:17 +0000)]
re PR c++/69267 ([cilkplus] ICE when calling a function with an empty class as an argument)
2016-01-15 Ryan Burn <contact@rnburn.com>
PR cilkplus/69267
* cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
gimplify_arg. Removed superfluous post_p argument.
* c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
superfluous post_p argument.
* c-gimplify.c (c_gimplify_expr): Likewise.
gcc/cp/ChangeLog:
2016-01-15 Ryan Burn <contact@rnburn.com>
PR cilkplus/69267
* cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): Removed
superfluous post_p argument in call to
cilk_gimplify_call_params_in_spawned_fn.
gcc/testsuite/ChangeLog:
2016-01-15 Ryan Burn <contact@rnburn.com>
PR cilkplus/69267
* g++.dg/cilk-plus/CK/pr69267.cc: New test.
From-SVN: r232887
Uros Bizjak [Wed, 27 Jan 2016 17:08:00 +0000 (18:08 +0100)]
re PR target/69512 (ICE when using avx with i586)
2016-01-27 Uros Bizjak <ubizjak@gmail.com>
PR target/69512
* config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
(*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
testsuite/ChangeLog:
2016-01-27 Uros Bizjak <ubizjak@gmail.com>
PR target/69512
* gcc.target/i386/pr69512.c: New test.
From-SVN: r232885
Thomas Klausner [Wed, 27 Jan 2016 16:54:48 +0000 (16:54 +0000)]
re PR target/68380 (NetBSD has SSP in libc)
2016-01-27 Thomas Klausner <wiz@NetBSD.org>
PR target/68380
* configure.ac: NetBSD provides SSP in its C library.
* configure: Updated.
From-SVN: r232884
Rainer Emrich [Wed, 27 Jan 2016 16:53:27 +0000 (16:53 +0000)]
re PR ada/69488 (tests in gnat/sso give a lot of spurious failures)
PR ada/69488
* gnat.dg/sso/*.adb: Robustify dg-output directives.
From-SVN: r232883
Marek Polacek [Wed, 27 Jan 2016 16:46:40 +0000 (16:46 +0000)]
re PR c++/69379 (ICE in fold_convert_loc, at fold-const.c:2366)
PR c++/69379
* constexpr.c (cxx_eval_constant_expression): Handle PTRMEM_CSTs
wrapped in NOP_EXPRs.
* g++.dg/pr69379.C: New test.
From-SVN: r232882
Martin Sebor [Wed, 27 Jan 2016 15:44:07 +0000 (15:44 +0000)]
PR c++/69317 - [6 regression] wrong ABI version in -Wabi warnings
gcc/cp/ChangeLog:
2016-01-27 Martin Sebor <msebor@redhat.com>
PR c++/69317
* mangle.c (mangle_decl): Reference the correct (saved) version
of the ABI in -Wabi diagnostics.
gcc/testsuite/ChangeLog:
2016-01-27 Martin Sebor <msebor@redhat.com>
PR c++/69317
* g++.dg/abi/Wabi-2-2.C: New test.
* g++.dg/abi/Wabi-2-3.C: New test.
* g++.dg/abi/Wabi-3-2.C: New test.
* g++.dg/abi/Wabi-3-3.C: New test.
From-SVN: r232881
Wilco Dijkstra [Wed, 27 Jan 2016 15:12:10 +0000 (15:12 +0000)]
MAINTAINERS: (Write After Approval): Add myself.
2015-01-27 Wilco Dijkstra <wdijkstr@arm.com>
* MAINTAINERS: (Write After Approval): Add myself.
From-SVN: r232880
Jonathan Wakely [Wed, 27 Jan 2016 15:09:38 +0000 (15:09 +0000)]
Set FP options for failing special functions tests
PR libstdc++/69295
* testsuite/ext/special_functions/hyperg/check_value.cc: Use
-ffp-contract=off, and -ffloat-store to disable excess precision.
* testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
-ffp-contract=off.
From-SVN: r232879
Richard Biener [Wed, 27 Jan 2016 14:54:03 +0000 (14:54 +0000)]
re PR tree-optimization/69166 (ICE in get_initial_def_for_reduction, at tree-vect-loop.c:4188)
2016-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/69166
* tree-vect-loop.c (vect_is_simple_reduction): Always check
reduction code for commutativity / associativity.
* gcc.dg/torture/pr69166.c: New testcase.
From-SVN: r232878
Martin Jambor [Wed, 27 Jan 2016 14:51:17 +0000 (15:51 +0100)]
[PR 69355] Correct hole detection when total_scalarization fails
2016-01-27 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/69355
* tree-sra.c (analyze_access_subtree): Correct hole detection when
total_scalarization fails.
testsuite/
* gcc.dg/tree-ssa/pr69355.c: New test.
From-SVN: r232877
Marek Polacek [Wed, 27 Jan 2016 14:26:38 +0000 (14:26 +0000)]
re PR c++/69496 ([C++ 14] ICE on VLA in constexpr function)
PR c++/69496
* constexpr.c (cxx_eval_array_reference): Evaluate the number of
elements of the array.
* g++.dg/ext/constexpr-vla1.C: New test.
From-SVN: r232875
David Edelsohn [Wed, 27 Jan 2016 13:31:51 +0000 (08:31 -0500)]
driver-rs6000.c (detect_processor_aix): Add power9.
* config/rs6000/driver-rs6000.c (detect_processor_aix): Add
power9.
From-SVN: r232873
Christian Bruel [Wed, 27 Jan 2016 13:03:45 +0000 (14:03 +0100)]
re PR target/69245 (ICE in extract_insn, at recog.c:2286 on arm-linux-gnueabihf)
2016-01-20 Christian Bruel <christian.bruel@st.com>
PR target/69245
* config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
Move arm_reset_previous_fndecl and set_target_option_current_node in
the conditional part. Call save_restore_target_globals.
* config/arm/arm.c (arm_set_current_function):
Refactor to better support #pragma target and attribute mix.
Call save_restore_target_globals.
* config/arm/arm-protos.h (save_restore_target_globals): New function.
From-SVN: r232872
Martin Liska [Wed, 27 Jan 2016 12:50:05 +0000 (13:50 +0100)]
HSA: simplify partitioning of HSA kernels and host impls.
* lto-partition.c (add_symbol_to_partition_1): Remove usage
of hsa_summaries.
* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
reference for an HSA kernel and its host function.
From-SVN: r232871
Jakub Jelinek [Wed, 27 Jan 2016 11:40:04 +0000 (12:40 +0100)]
re PR tree-optimization/69399 (wrong code with -O and int128)
PR tree-optimization/69399
* wide-int.h (wi::lrshift): For larger precisions, only
use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
* gcc.dg/torture/pr69399.c: New test.
From-SVN: r232869
Claudiu Zissulescu [Wed, 27 Jan 2016 09:29:16 +0000 (10:29 +0100)]
[ARC] Reject constant-constant comparison.
gcc/
2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/predicates.md (proper_comparison_operator): Reject
constant-constant comparison.
From-SVN: r232868
Eric Botcazou [Wed, 27 Jan 2016 08:02:24 +0000 (08:02 +0000)]
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL on SPARC 64-bit.
From-SVN: r232867
Iain Buclaw [Wed, 27 Jan 2016 01:07:26 +0000 (01:07 +0000)]
d-demangle.c (dlang_call_convention): Handle extern Objective-C function calling convention.
libiberty/ChangeLog:
2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
* d-demangle.c (dlang_call_convention): Handle extern Objective-C
function calling convention.
(dlang_call_convention_p): Likewise.
(dlang_type): Likewise.
* testsuite/d-demangle-expected: Add coverage tests.
From-SVN: r232864
Iain Buclaw [Wed, 27 Jan 2016 01:07:17 +0000 (01:07 +0000)]
d-demangle.c (dlang_function_args): Append ',' for variadic functions only if parameters were seen before the...
libiberty/ChangeLog:
2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
* d-demangle.c (dlang_function_args): Append ',' for variadic functions
only if parameters were seen before the elipsis symbol.
* testsuite/d-demangle-expected: Add coverage test for parameter-less
variadic functions.
From-SVN: r232863
Iain Buclaw [Wed, 27 Jan 2016 01:07:08 +0000 (01:07 +0000)]
d-demangle.c (dlang_type): Handle function types only in the context of seeing a pointer type symbol.
libiberty/ChangeLog:
2016-01-27 Iain Buclaw <ibuclaw@gdcproject.org>
* d-demangle.c (dlang_type): Handle function types only in the context
of seeing a pointer type symbol.
* testsuite/d-demangle-expected: Update function pointer tests.
From-SVN: r232862
GCC Administrator [Wed, 27 Jan 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232861
Ian Lance Taylor [Wed, 27 Jan 2016 00:00:58 +0000 (00:00 +0000)]
compiler: Don't crash on erroneous array return types.
Another issue with erroneous array types. When an erroneous array
type is in a function's signature, particularly the return type, we
must guarantee that type is changed into an error type. Otherwise,
any operations that work on arrays and slices will crash when applied
to the erroneous array return type.
Fixes golang/go#12939.
Reviewed-on: https://go-review.googlesource.com/16235
From-SVN: r232858
Ian Lance Taylor [Tue, 26 Jan 2016 23:28:37 +0000 (23:28 +0000)]
compiler: Don't crash on invalid array type declarations.
Fixes golang/go#12937.
Reviewed-on: https://go-review.googlesource.com/16233
From-SVN: r232857
Eric Botcazou [Tue, 26 Jan 2016 22:44:46 +0000 (22:44 +0000)]
* gcc.c-torture/execute/stkalign.c: XFAIL run on SPARC 64-bit.
From-SVN: r232856
Ian Lance Taylor [Tue, 26 Jan 2016 22:35:20 +0000 (22:35 +0000)]
compiler: Avoid knock-on errors with impossibly large types.
The gofrontend asks the backend compiler for the architecture
appropriate size of a given type. For array types, it is possible
to construct a type too large to fit on the machine. This patch does
two things: 1. When an impossibly large type is encountered, we mark
the type as erroneous and later calls to discover the size of that
type are short-circuited. 2. When generating the GC symbol data for
an impossibly large array of arrays, we avoid generating symbol data
as soon as we find an array that is too large to be expressed.
Fixes golang/go#12938.
Reviewed-on: https://go-review.googlesource.com/16234
From-SVN: r232855
Tom de Vries [Tue, 26 Jan 2016 22:11:51 +0000 (22:11 +0000)]
Handle DR_NUM_DIMENSIONS == 0 in initialize_data_dependence_relation
2016-01-26 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69110
* tree-data-ref.c (initialize_data_dependence_relation): Handle
DR_NUM_DIMENSIONS == 0.
* gcc.dg/autopar/pr69110.c: New test.
* testsuite/libgomp.c/pr69110.c: New test.
From-SVN: r232852
Abderrazek Zaafrani [Tue, 26 Jan 2016 22:02:11 +0000 (22:02 +0000)]
handle isl_ast_op_select
2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
isl_ast_op_cond and isl_ast_op_select.
(gcc_expression_from_isl_expr_op): Same.
* gcc.dg/graphite/isl-ast-op-select.c: New.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232851
Paul Thomas [Tue, 26 Jan 2016 21:57:12 +0000 (21:57 +0000)]
[multiple changes]
2016-01-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69385
* trans-expr.c (gfc_trans_assignment_1): Exclude initialization
assignments from check on assignment of scalars to unassigned
arrays and correct wrong code within the corresponding block.
2015-01-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69385
* gfortran.dg/allocate_error_6.f90: New test.
From-SVN: r232850
Jason Merrill [Tue, 26 Jan 2016 21:34:16 +0000 (16:34 -0500)]
re PR c++/68949 (Implicit initialization of array member silently miscompiling.)
PR c++/68949
* constexpr.c (register_constexpr_fundef): Keep the un-massaged body.
(cxx_eval_call_expression): Don't look through clones.
* optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias.
* semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of
maybe-in-charge *tor.
From-SVN: r232848
Jason Merrill [Tue, 26 Jan 2016 21:34:10 +0000 (16:34 -0500)]
re PR c++/68782 (bad reference member formed with constexpr)
PR c++/68782
gcc/
* tree.c (recompute_constructor_flags): Split out from
build_constructor.
(verify_constructor_flags): New.
* tree.h: Declare them.
gcc/cp/
* constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT
and TREE_SIDE_EFFECTS.
(cxx_eval_constant_expression) [CONSTRUCTOR]: Call
verify_constructor_flags.
From-SVN: r232847
Iain Buclaw [Tue, 26 Jan 2016 20:57:37 +0000 (20:57 +0000)]
re PR rtl-optimization/69217 (ICE at var-tracking.c:5038 Segmentation fault)
PR rtl-optimization/69217
* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
are no TYPE_FIELDS set for the record type.
From-SVN: r232845
Jakub Jelinek [Tue, 26 Jan 2016 19:53:37 +0000 (20:53 +0100)]
re PR target/68662 (FAIL: gcc.dg/lto/
20090210 c_lto_20090210_0.o-c_lto_20090210_1.o link, -O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects)
PR target/68662
* config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
toc_label_name unconditionally.
(rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
SYMBOL_REF string. Use toc_label_name instead of constructing
LCTOC1.
(rs6000_elf_declare_function_name): Use toc_label_name instead of
constructing LCTOC1.
From-SVN: r232844
Jakub Jelinek [Tue, 26 Jan 2016 19:52:53 +0000 (20:52 +0100)]
re PR c++/68357 (FAIL: g++.dg/other/darwin-cfstring1.C -std=* (internal compiler error) on x86_64-apple-darwin1(0|4|5))
PR c++/68357
* cp-gimplify.c (cp_fold): If some operand folds to error_mark_node,
return error_mark_node instead of building trees with error_mark_node
operands.
From-SVN: r232843
Jonathan Wakely [Tue, 26 Jan 2016 19:38:20 +0000 (19:38 +0000)]
Fix assertions for move assignment of trivial types
PR libstdc++/69478
* include/bits/stl_algobase.h (__copy_move<_IsMove, true,
random_access_iterator_tag>): Check is_move_assignable when moving.
(__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
Likewise.
* testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
* testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
* testsuite/25_algorithms/move/69478.cc: New.
* testsuite/25_algorithms/move_backward/69478.cc: new.
From-SVN: r232842
Martin Sebor [Tue, 26 Jan 2016 17:44:38 +0000 (17:44 +0000)]
PR other/69477 - attribute aligned documentation misleading
gcc/ChangeLog:
2016-01-26 Martin Sebor <msebor@redhat.com>
PR other/69477
* doc/extend.texi (Common Type Attributes): Move text that talks about
attribute packed from attribute aligned to the section discussing
the former attribute for clarity.
From-SVN: r232840