GCC Administrator [Fri, 19 Feb 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233543
Bernd Edlinger [Thu, 18 Feb 2016 22:27:09 +0000 (22:27 +0000)]
re PR testsuite/68580 (FAIL: c-c++-common/tsan/pr65400-1.c -O0 execution test)
PR testsuite/68580
* c-c++-common/tsan/pr65400-1.c (v, q, o): Make 8-byte aligned.
From-SVN: r233538
Michael Meissner [Thu, 18 Feb 2016 19:36:39 +0000 (19:36 +0000)]
re PR bootstrap/68404 (PGO/LTO bootstrap failure on ppc64le)
[gcc]
2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* config/rs6000/predicates.md (fusion_gpr_addis): Revert
2016-02-09 change.
* config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
earlyclobber from target. Use wF constraint for fused memory
address.
(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
[gcc/testsuites]
2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* gcc.target/powerpc/fusion.c: Revert the 2016-02-09 change.
* gcc.target/powerpc/fusion3.c: Likewise.
From-SVN: r233532
Jakub Jelinek [Thu, 18 Feb 2016 17:15:25 +0000 (18:15 +0100)]
Do not emit red stack zones for a fn with no_sanitize_address
PR sanitizer/69863
* cfgexpand.c (asan_sanitize_stack_p): New function.
(partition_stack_vars): Use the function.
(expand_stack_vars): Likewise.
(defer_stack_allocation): Likewise.
(expand_used_vars): Likewise.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r233524
Richard Biener [Thu, 18 Feb 2016 14:34:59 +0000 (14:34 +0000)]
re PR middle-end/69553 (Optimizations O1/O2 makes std::array value incorrect when passed to function)
2016-02-18 Richard Biener <rguenther@suse.de>
PR middle-end/69553
* fold-const.c (operand_equal_p): Properly compare offsets for
IMAGPART_EXPR and ARRAY_REF.
* g++.dg/torture/pr69553.C: New testcase.
From-SVN: r233520
Nick Clifton [Thu, 18 Feb 2016 13:23:06 +0000 (13:23 +0000)]
Fix PR number in changelog entries.
From-SVN: r233519
Nick Clifton [Thu, 18 Feb 2016 13:00:07 +0000 (13:00 +0000)]
PR target/62554
PR target/69610
gcc * config/arm/arm.c (arm_option_override_internal): Disable
interworking if the target does not support thumb instructions.
(arm_reload_in_hi): Handle the case where a register to register
move needs reloading because there is no simple pattern to handle
it.
(arm_reload_out_hi): Likewise.
tests * gcc.target/arm/pr62554.c: New test.
* gcc.target/arm/pr69610-1.c: New test.
* gcc.target/arm/pr69610-2.c: New test.
From-SVN: r233518
Richard Biener [Thu, 18 Feb 2016 08:43:58 +0000 (08:43 +0000)]
re PR middle-end/69854 (ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in generic_simplify_65, at generic-match.c:3110)
2016-02-18 Richard Biener <rguenther@suse.de>
PR middle-end/69854
* match.pd: Don't use fold_binary or fold_unary for folding
constants.
* gcc.dg/torture/pr69854.c: New testcase.
From-SVN: r233516
Ian Lance Taylor [Thu, 18 Feb 2016 05:56:46 +0000 (05:56 +0000)]
libgo: Update to final Go 1.6 release.
Reviewed-on: https://go-review.googlesource.com/19592
From-SVN: r233515
Jason Merrill [Thu, 18 Feb 2016 05:08:09 +0000 (00:08 -0500)]
re PR c++/65985 (compiler segfault with assert() in constexpr constructor body)
PR c++/65985
* constexpr.c (build_constexpr_constructor_member_initializers):
Handle an additional STATEMENT_LIST.
From-SVN: r233514
Jason Merrill [Thu, 18 Feb 2016 05:08:02 +0000 (00:08 -0500)]
re PR c++/68585 (c++14 code accepted by 4.9 not accepted by 5 and 6)
PR c++/68585
* constexpr.c (cxx_eval_bare_aggregate): Fix 'changed' detection.
From-SVN: r233513
Jason Merrill [Thu, 18 Feb 2016 05:07:55 +0000 (00:07 -0500)]
re PR c++/68679 (gcc-5.2.1 ICE in C++11 anon union of structs with template fns, OK in gcc <= 4.9.3)
PR c++/68679
* decl2.c (reset_type_linkage_2): Look through member templates.
From-SVN: r233512
GCC Administrator [Thu, 18 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233511
Jakub Jelinek [Wed, 17 Feb 2016 22:27:24 +0000 (23:27 +0100)]
re PR c++/69850 (unnecessary -Wnonnull-compare warning)
PR c++/69850
* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
warn on gimple_no_warning_p statements.
* init.c (build_delete): Set TREE_NO_WARNING on ifexp.
* g++.dg/warn/Wnonnull-compare-1.C: New test.
From-SVN: r233508
Jason Merrill [Wed, 17 Feb 2016 20:45:15 +0000 (15:45 -0500)]
re PR c++/69842 (Parameter deduction in polymorphic lambdas)
PR c++/69842
* method.c (forward_parm): Split out from...
(add_one_base_init): ...here.
* lambda.c (maybe_add_lambda_conv_op): Use it.
From-SVN: r233506
Max Filippov [Wed, 17 Feb 2016 20:21:48 +0000 (20:21 +0000)]
xtensa: fix libgcc build with --text-section-literals
Functions __muldf3_aux, __divdf3_aux, __mulsf3_aux and __divsf3_aux
don't start with leaf_entry, so they need explicit .literal_position,
otherwise libgcc build fails in the presence of --text-section-literals.
2016-02-17 Max Filippov <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/ieee754-df.S (__muldf3_aux, __divdf3_aux): Add
.literal_position before the function.
* config/xtensa/ieee754-sf.S (__mulsf3_aux, __divsf3_aux):
Likewise.
From-SVN: r233505
Jonathan Wakely [Wed, 17 Feb 2016 17:36:22 +0000 (17:36 +0000)]
extend.texi (C++ Attributes): Correct description of warn_unused type attribute.
* doc/extend.texi (C++ Attributes): Correct description of
warn_unused type attribute.
From-SVN: r233502
Jerry DeLisle [Wed, 17 Feb 2016 16:48:57 +0000 (16:48 +0000)]
re PR libfortran/69651 ([6 Regession] Usage of unitialized pointer io/list_read.c)
2016-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69651
* io/list_read.c (push_char4): Fix the pointer usage for xrealloc.
From-SVN: r233500
Bill Schmidt [Wed, 17 Feb 2016 16:23:55 +0000 (16:23 +0000)]
altivec.md (*altivec_lvxl_<mode>_internal): Output correct instruction.
[gcc]
2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
correct instruction.
[gcc/testsuite]
2012-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-cg.c: New test.
From-SVN: r233499
Richard Biener [Wed, 17 Feb 2016 14:57:58 +0000 (14:57 +0000)]
re PR rtl-optimization/69609 (block reordering consumes an inordinate amount of time, REE consumes much memory)
2016-02-17 Richard Biener <rguenther@suse.de>
PR rtl-optimization/69609
* bb-reorder.c (struct bbro_basic_block_data): Add priority member.
(find_traces_1_round): When ending a trace update cached priority
of successors.
(bb_to_key): Use cached priority when available.
(copy_bb): Initialize cached priority.
(reorder_basic_blocks_software_trace_cache): Likewise.
From-SVN: r233498
Richard Biener [Wed, 17 Feb 2016 14:51:27 +0000 (14:51 +0000)]
re PR testsuite/69586 (FAIL: gcc.dg/uninit-21.c for target defaulting to short enum)
2016-02-17 Richard Biener <rguenther@suse.de>
PR testsuite/69586
* gcc.dg/uninit-21.c: Add -fno-short-enums.
From-SVN: r233497
Kyrylo Tkachov [Wed, 17 Feb 2016 13:42:35 +0000 (13:42 +0000)]
[AArch64] PR target/69161: Don't use special predicate for CCmode comparisons in expressions that require matching modes
PR target/69161
* config/aarch64/predicates.md (aarch64_comparison_operator_mode):
New predicate.
(aarch64_comparison_operator): Break overly long line into two.
(aarch64_comparison_operation): Likewise.
* config/aarch64/aarch64.md (cstorecc4): Use
aarch64_comparison_operator_mode instead of
aarch64_comparison_operator.
(cstore<mode>4): Likewise.
(aarch64_cstore<mode>): Likewise.
(*cstoresi_insn_uxtw): Likewise.
(cstore<mode>_neg): Likewise.
(*cstoresi_neg_uxtw): Likewise.
* gcc.c-torture/compile/pr69161.c: New test.
From-SVN: r233496
Kyrylo Tkachov [Wed, 17 Feb 2016 13:39:30 +0000 (13:39 +0000)]
[ARM] PR target/69161: Don't ignore mode when matching comparison operator in cstore-like patterns
PR target/69161
* config/arm/predicates.md (arm_comparison_operator_mode):
New predicate.
* config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
instead of arm_comparison_operator.
(*mov_negscc): Likewise.
(*mov_notscc): Likewise.
* config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
(*thumb2_mov_negscc): Likewise.
(*thumb2_mov_negscc_strict_it): Likewise.
(*thumb2_mov_notscc): Likewise.
(*thumb2_mov_notscc_strict_it): Likewise.
From-SVN: r233495
David Sherwood [Wed, 17 Feb 2016 13:16:31 +0000 (13:16 +0000)]
re PR target/69532 (FAIL: gcc.target/arm/{vect-,}fmaxmin.c execution test on armv7)
2016-02-17 David Sherwood <david.sherwood@arm.com>
gcc/testsuite:
PR target/69532
* gcc.target/arm/fmaxmin.c: Change effective target to arm_v8_neon_hw.
* gcc.target/arm/vect-fmaxmin.c: Likewise.
From-SVN: r233494
Wilco Dijkstra [Wed, 17 Feb 2016 11:52:35 +0000 (11:52 +0000)]
As part of the final cleanup of aarch64_internal_mov_immediate a return was accidentally removed.
As part of the final cleanup of aarch64_internal_mov_immediate a return was
accidentally removed. This causes the 2-instruction case to fallthrough
into the general case even when it found a match. An example immediate is
0xcccccccccccccccd which was using 2 instructions in GCC5 but now requires 4.
Adding the return fixes the regressions.
2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
Add missing return.
From-SVN: r233490
Eric Botcazou [Wed, 17 Feb 2016 11:20:06 +0000 (11:20 +0000)]
* gcc.dg/ifcvt-4.c: Skip on Visium.
From-SVN: r233489
Eric Botcazou [Wed, 17 Feb 2016 11:17:15 +0000 (11:17 +0000)]
visium.c (machine_libfunc_index): New enum.
* config/visium/visium.c (machine_libfunc_index): New enum.
(machine_libfuncs): New structure.
(visium_libfuncs): New static variable.
(TARGET_INIT_LIBFUNCS): Define to...
(visium_init_libfuncs): ...this. New function.
(expand_block_move_4): Use the appropriate libfunc.
(expand_block_move_2): Likewise.
(expand_block_move_1): Likewise.
(expand_block_set_4): Likewise.
(expand_block_set_2): Likewise.
(expand_block_set_1): Likewise.
(visium_trampoline_init): Likewise.
From-SVN: r233488
Nick Clifton [Wed, 17 Feb 2016 09:53:42 +0000 (09:53 +0000)]
msp430.c (msp430_mcu_data): Sync with data from TI's devices.csv file as of March 2016.
* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
TI's devices.csv file as of March 2016.
From-SVN: r233487
Eric Botcazou [Wed, 17 Feb 2016 09:21:58 +0000 (09:21 +0000)]
exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if the prefix denotes an entity which Has_Atomic_Components.
* exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if
the prefix denotes an entity which Has_Atomic_Components.
* gcc-interface/trans.c (node_is_atomic): Return true if the prefix
denotes an entity which Has_Atomic_Components.
From-SVN: r233485
Eric Botcazou [Wed, 17 Feb 2016 09:08:09 +0000 (09:08 +0000)]
utils2.c (gnat_protect_expr): Make a SAVE_EXPR only for fat pointer or scalar types.
* gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
for fat pointer or scalar types.
From-SVN: r233484
Tim Shen [Wed, 17 Feb 2016 03:33:02 +0000 (03:33 +0000)]
re PR libstdc++/69794 (std::regex_search match failure with regex object with flags grep|icase)
2016-02-16 Tim Shen <timshen@google.com>
PR libstdc++/69794
* include/bits/regex_scanner.h: Add different special character
sets for grep and egrep regex.
* include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
* testsuite/28_regex/regression.cc: Add new testcase.
From-SVN: r233482
Jason Merrill [Wed, 17 Feb 2016 00:50:23 +0000 (19:50 -0500)]
re PR c++/10200 (Weird clash with same names in different scopes)
PR c++/10200
PR c++/69753
* call.c, cp-tree.h, name-lookup.c, pt.c, search.c, semantics.c,
tree.c, typeck2.c: Revert earlier changes.
* parser.c (cp_parser_lookup_name): Ignore namespace-scope
non-type templates after -> or .
From-SVN: r233481
GCC Administrator [Wed, 17 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233480
Kelvin Nilsen [Tue, 16 Feb 2016 23:12:19 +0000 (23:12 +0000)]
re PR target/48344 (powerpc ICE with -fstack-limit-register=r2)
[gcc]
2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR Target/48344
* opts-global.c (handle_common_deferred_options): Introduce and
initialize two global variables to remember command-line options
specifying a stack-limiting register.
* opts.h: Add extern declarations of the two new global variables.
* emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
variable based on the values of the two new global variables.
[gcc/testsuite]
2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR Target/48344
* gcc.target/powerpc/pr48344-1.c: New test.
From-SVN: r233477
Thomas Koenig [Tue, 16 Feb 2016 21:10:00 +0000 (21:10 +0000)]
re PR fortran/69742 (ICE with -O3 and ASSOCIATE containing repeated expression)
2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/69742
* frontend-passes.c (cfe-expr_0): Don't register functions
from within an ASSOCIATE statement.
2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/69742
* gfortran.dg/associate_21.f90: New test.
From-SVN: r233474
Jakub Jelinek [Tue, 16 Feb 2016 20:46:17 +0000 (21:46 +0100)]
re PR c/69835 (-Wnonnull diagnoses parameter comparisons with NULL even when those could have changed)
PR c/69835
* common.opt (Wnonnull-compare): New warning.
* doc/invoke.texi (-Wnonnull): Remove text about comparison
of arguments against NULL.
(-Wnonnull-compare): Document.
* Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
* tree-pass.h (make_pass_warn_nonnull_compare): Declare.
* passes.def (pass_warn_nonnull_compare): Add.
* gimple-ssa-nonnull-compare.c: New file.
c-family/
* c.opt (Wnonnull-compare): Enable for -Wall.
c/
* c-typeck.c (build_binary_op): Revert 2015-09-09 change.
cp/
* typeck.c (cp_build_binary_op): Revert 2015-09-09 change.
testsuite/
* c-c++-common/nonnull-1.c: Use -Wnonnull-compare instead of
-Wnonnull in dg-options.
* c-c++-common/nonnull-2.c: New test.
From-SVN: r233472
Jason Merrill [Tue, 16 Feb 2016 19:01:49 +0000 (14:01 -0500)]
re PR c++/69657 (abs() not inlined after including math.h)
PR c++/69657
* name-lookup.c (lookup_qualified_name): Add find_hidden parm.
(set_decl_namespace): Pass it. Complain about finding a hidden friend.
* name-lookup.h: Adjust.
From-SVN: r233470
Eric Botcazou [Tue, 16 Feb 2016 18:01:04 +0000 (18:01 +0000)]
gigi.h (maybe_debug_type): New inline function.
* gcc-interface/gigi.h (maybe_debug_type): New inline function.
* gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
Call maybe_character_value on the array bounds. Get to the base type
of the index type and call maybe_debug_type on it.
* gcc-interface/utils.c (finish_character_type): Add special treatment
From-SVN: r233469
Eric Botcazou [Tue, 16 Feb 2016 17:51:56 +0000 (17:51 +0000)]
misc.c (gnat_enum_underlying_base_type): New function.
* gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
From-SVN: r233467
James Greenhalgh [Tue, 16 Feb 2016 16:04:42 +0000 (16:04 +0000)]
[AArch64] Remove AARCH64_EXTRA_TUNE_RECIP_SQRT from Cortex-A57 tuning
gcc/
* config/aarch64/aarch64.c (cortexa57_tunings): Remove
AARCH64_EXTRA_TUNE_RECIP_SQRT.
From-SVN: r233463
James Greenhalgh [Tue, 16 Feb 2016 16:03:27 +0000 (16:03 +0000)]
[Patch AArch64] Use software sqrt expansion always for -mlow-precision-recip-sqrt
gcc/
* config/aarch64/aarch64.c (use_rsqrt_p): Always use software
reciprocal sqrt for -mlow-precision-recip-sqrt.
From-SVN: r233462
James Greenhalgh [Tue, 16 Feb 2016 16:02:09 +0000 (16:02 +0000)]
[Patch AArch64] GCC 6 regression in vector performance. - Fix vector initialization to happen with lane load instructions.
gcc/
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
always use lane loads to construct non-constant vectors.
gcc/testsuite/
* gcc.target/aarch64/vector_initialization_nostack.c: New.
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r233461
James Greenhalgh [Tue, 16 Feb 2016 15:59:51 +0000 (15:59 +0000)]
[Patch AArch64] Restrict 16-bit sqrdml{sa}h instructions to FP_LO_REGS
gcc/
* config/aarch64/aarch64.md
(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
constraints for operand 3.
(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
From-SVN: r233460
Jakub Jelinek [Tue, 16 Feb 2016 15:34:07 +0000 (16:34 +0100)]
re PR tree-optimization/69801 (gcc ICE on valid code on x86_64-linux-gnu in "operand_equal_p")
PR middle-end/69801
* gcc.dg/pr69801.c: Add empty dg-options.
From-SVN: r233459
James Norris [Tue, 16 Feb 2016 15:29:04 +0000 (15:29 +0000)]
re PR c/64748 (OpenACC: "is not a variable" error with deviceptr())
PR c/64748
gcc/c/
* c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms.
gcc/cp/
* parser.c (cp_parser_oacc_data_clause_deviceptr): Remove checking.
* semantics.c (finish_omp_clauses): Add deviceptr checking.
gcc/testsuite/
* c-c++-common/goacc/deviceptr-1.c: Add tests.
* g++.dg/goacc/deviceptr-1.c: New file.
From-SVN: r233458
Jakub Jelinek [Tue, 16 Feb 2016 15:16:48 +0000 (16:16 +0100)]
re PR tree-optimization/69820 (Test miscompiled with -O3 option)
PR tree-optimization/69820
* tree-vect-patterns.c (type_conversion_p): Return false if
*orig_type is unsigned single precision or boolean.
(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
Formatting fix.
* gcc.dg/vect/pr69820.c: New test.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r233457
Jakub Jelinek [Tue, 16 Feb 2016 15:15:40 +0000 (16:15 +0100)]
re PR rtl-optimization/69764 (ICE on x86_64-linux-gnu at -O0 (in decompose, at rtl.h:2107))
PR rtl-optimization/69764
PR rtl-optimization/69771
* optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
From-SVN: r233456
Richard Biener [Tue, 16 Feb 2016 15:00:45 +0000 (15:00 +0000)]
re PR tree-optimization/69776 (Wrong optimization with aliasing)
2016-02-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/69776
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
sets from caller.
(indirect_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Pass alias sets as from ao_ref.
* tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
according to tbaa_p.
* tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
(optimize_stmt): For redundant store discovery do not allow tbaa.
* gcc.dg/torture/pr69776-2.c: New testcase.
From-SVN: r233453
Bernd Schmidt [Tue, 16 Feb 2016 14:42:59 +0000 (14:42 +0000)]
Fix bswap optimization on big-endian (PR69714, 67781).
PR tree-optimization/69714
* tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
testsuite/
PR tree-optimization/69714
* gcc.dg/torture/pr69714.c: New test.
From-SVN: r233452
Claudiu Zissulescu [Tue, 16 Feb 2016 14:11:24 +0000 (15:11 +0100)]
[ARC] Add single/double IEEE precission FPU support.
gcc/
2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
* config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
(FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
* config/arc/arc.c (arc_init): Check FPU options.
(get_arc_condition_code): Handle new CC_FPU* modes.
(arc_select_cc_mode): Likewise.
(arc_conditional_register_usage): Allow 64 bit datum into even-odd
register pair only. Allow access for ARCv2 accumulator.
(gen_compare_reg): Whenever we have FPU support use FPU compare
instructions.
(arc_reorg): Don't generate brcc insns when FPU compare
instructions are involved.
* config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
(TARGET_OPTFPE): Add condition when ARC EM can use optimized
floating point emulation.
(ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
(REVERSE_CONDITION): Add new CC_FPU* modes.
(TARGET_FP_SP_BASE): Define.
(TARGET_FP_DP_BASE): Likewise.
(TARGET_FP_SP_FUSED): Likewise.
(TARGET_FP_DP_FUSED): Likewise.
(TARGET_FP_SP_CONV): Likewise.
(TARGET_FP_DP_CONV): Likewise.
(TARGET_FP_SP_SQRT): Likewise.
(TARGET_FP_DP_SQRT): Likewise.
(TARGET_FP_DP_AX): Likewise.
* config/arc/arc.md (ARCV2_ACC): New constant.
(type): New fpu type attribute.
(SDF): Conditional iterator.
(cstore<mode>, cbranch<mode>): Change expand condition.
(addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
handles FPU/FPX cases as well.
* config/arc/arc.opt (mfpu): New option.
* config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
Renamed.
(adddf3, muldf3, subdf3): Removed.
* config/arc/predicates.md (proper_comparison_operator): Recognize
CC_FPU* modes.
* config/arc/fpu.md: New file.
* doc/invoke.texi (ARC Options): Document mfpu option.
From-SVN: r233451
Richard Biener [Tue, 16 Feb 2016 10:53:08 +0000 (10:53 +0000)]
re PR rtl-optimization/69291 (wrong code at -O1 for ruby-2.3.0/regcomp.c:985:compile_length_quantifier_node())
2016-02-16 Richard Biener <rguenther@suse.de>
PR rtl-optimization/69291
* ifcvt.c (noce_try_store_flag_constants): Re-instantiate
noce_operand_ok check.
From-SVN: r233448
Tom de Vries [Tue, 16 Feb 2016 09:23:09 +0000 (09:23 +0000)]
Don't call call_cgraph_insertion_hooks in simd_clone_create
2016-02-16 Tom de Vries <tom@codesourcery.com>
PR lto/67709
* omp-low.c (simd_clone_create): Remove call to
symtab->call_cgraph_insertion_hooks.
* testsuite/libgomp.fortran/declare-simd-4.f90: New test.
From-SVN: r233447
Jakub Jelinek [Tue, 16 Feb 2016 09:12:37 +0000 (10:12 +0100)]
re PR tree-optimization/69802 (gcc ICE at -O1 and above on valid code on x86_64-linux-gnu with “seg fault”)
PR tree-optimization/69802
* tree-ssa-reassoc.c (update_range_test): If op is
SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
op == 1 test of precision 1 integral op, otherwise handle
that case as op itself. Fix up formatting.
(optimize_range_tests_to_bit_test, optimize_range_tests): Fix
up formatting.
* gcc.dg/pr69802.c: New test.
From-SVN: r233446
Richard Biener [Tue, 16 Feb 2016 09:00:32 +0000 (09:00 +0000)]
re PR testsuite/69586 (FAIL: gcc.dg/uninit-21.c for target defaulting to short enum)
2016-02-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/69586
* tree-vrp.c (register_edge_assert_for_2): Handle all integral
types for conversion sources.
From-SVN: r233445
Richard Biener [Tue, 16 Feb 2016 08:39:22 +0000 (08:39 +0000)]
re PR tree-optimization/69801 (gcc ICE on valid code on x86_64-linux-gnu in "operand_equal_p")
2016-02-16 Richard Biener <rguenther@suse.de>
PR middle-end/69801
* fold-const.c (operand_equal_p): For COND_EXPR zero operand
mask OEP_ADDRESS_OF.
* gcc.dg/pr69801.c: New testcase.
From-SVN: r233444
GCC Administrator [Tue, 16 Feb 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233441
Alan Modra [Mon, 15 Feb 2016 23:29:17 +0000 (09:59 +1030)]
[RS6000] reload_vsx_from_gprsf splitter
This is PR68973 part 2, caused by the reload_vsx_from_gprsf splitter
emitting an invalid move. The patch also fixes uses of TFmode, which
cannot now be assumed to be IBM double-double.
PR target/68973
* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
(p8_mtvsrd_df, p8_mtvsrd_sf): New.
(p8_mtvsrd_1, p8_mtvsrd_2): Delete.
(p8_mtvsrwz): New.
(p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
(p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
(p8_fmrgow_<mode>): Likewise.
(reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
changes.
(reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
(reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
to use movdi_internal64. Remove op0_di.
* config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
From-SVN: r233438
Joseph Myers [Mon, 15 Feb 2016 23:20:26 +0000 (23:20 +0000)]
* sv.po: Update.
From-SVN: r233437
Jerry DeLisle [Mon, 15 Feb 2016 22:31:13 +0000 (22:31 +0000)]
re PR libfortran/69651 ([6 Regession] Usage of unitialized pointer io/list_read.c)
2016-02-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69651
* io/list_read.c: Entire file trailing spaces removed.
(CASE_SEPARATORS): Remove '!'.
(is_separator): Add namelist mode as condition with '!'.
(push_char): Remove un-needed memset. (push_char4): Likewise and remove
'new' pointer. (eat_separator): Remove un-needed use of notify_std.
(read_logical): If '!' bang encountered when not in namelist mode got
bad_logical to give an error. (read_integer): Likewise reject '!'.
(read_character): Remove condition testing c = '!' which is now inside
the is_separator macro. (parse_real): Reject '!' unless in namelist mode.
(read_complex): Reject '!' unless in namelist mode. (read_real): Likewise
reject '!'.
PR libgfortran/69651
* gfortran.dg/read_bang.f90: New test.
* gfortran.dg/read_bang4.f90: New test.
From-SVN: r233436
Jakub Jelinek [Mon, 15 Feb 2016 22:05:12 +0000 (23:05 +0100)]
re PR c++/69658 (Bogus "C99 designator outside aggregate initializer" error)
PR c++/69658
* init.c (expand_default_init): Only call reshape_init
in the direct-initialization from an initializer list case.
* g++.dg/init/pr69658.C: New test.
From-SVN: r233435
Jakub Jelinek [Mon, 15 Feb 2016 21:30:50 +0000 (22:30 +0100)]
re PR c++/69797 (ICE on invalid code on x86_64-linux-gnu in operator[], at vec.h:714)
PR c++/69797
* c-common.c (sync_resolve_size): Diagnose too few arguments
even when params is non-NULL empty vector.
* c-c++-common/pr69797.c: New test.
From-SVN: r233434
Evandro Menezes [Mon, 15 Feb 2016 21:15:49 +0000 (21:15 +0000)]
Add support for the FCCMP insn types
2016-01-21 Evandro Menezes <e.menezes@samsung.com>
gcc/
* config/aarch64/aarch64.md (fccmp): Change insn type.
(fccmpe): Likewise.
* config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
* config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
* config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
* config/arm/xgene1.md (xgene1_fcmp): Likewise.
* config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
* config/arm/types.md (fccmps): Add new insn type.
(fccmpd): Likewise.
From-SVN: r233432
Jason Merrill [Mon, 15 Feb 2016 21:14:05 +0000 (16:14 -0500)]
re PR c++/69753 (bogus: expected primary-expression before ‘>’ token)
PR c++/69753
* search.c (any_dependent_bases_p): Split out...
* name-lookup.c (do_class_using_decl): ...from here.
* call.c (build_new_method_call_1): Don't complain about missing object
if there are dependent bases. Tweak error.
* tree.c (non_static_member_function_p): Remove.
* pt.c (type_dependent_expression_p): A member template of a
dependent type is dependent.
* cp-tree.h: Adjust.
From-SVN: r233431
Jason Merrill [Mon, 15 Feb 2016 21:13:57 +0000 (16:13 -0500)]
re PR c++/68890 (ICE in verify_ctor_sanity, at cp/constexpr.c:2113)
PR c++/68890
* constexpr.c (verify_ctor_sanity): Remove CONSTRUCTOR_NELTS check.
From-SVN: r233430
Bernd Edlinger [Mon, 15 Feb 2016 20:31:45 +0000 (20:31 +0000)]
* alias.c (get_alias_set): Fix a typo in comment.
From-SVN: r233428
Prathamesh Kulkarni [Mon, 15 Feb 2016 17:28:48 +0000 (17:28 +0000)]
target-supports.exp (check_effective_target_section_anchors): Add check for aarch64*-*-*.
2016-02-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
testsuite/
* lib/target-supports.exp (check_effective_target_section_anchors): Add
check for aarch64*-*-*.
From-SVN: r233426
Richard Biener [Mon, 15 Feb 2016 13:49:42 +0000 (13:49 +0000)]
re PR tree-optimization/69595 (Bogus -Warray-bound warning due to missed optimization)
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69595
* match.pd: Complete range test simplification to true.
From-SVN: r233425
Bernd Schmidt [Mon, 15 Feb 2016 12:06:44 +0000 (12:06 +0000)]
Avoid removing sets of a pseudo PIC register in LRA.
PR rtl-optimization/69648
* lra-constraints.c (update_ebb_live_info): Don't remove sets of
pic_offset_table_rtx.
From-SVN: r233424
Bernd Schmidt [Mon, 15 Feb 2016 12:04:13 +0000 (12:04 +0000)]
Don't make something with an autoinc an equivalencing insn (PR69752).
PR rtl-optimization/69752
* ira.c (update_equiv_regs): When looking for more than a single SET,
also take other side effects into account.
From-SVN: r233423
Marcin Kościelnicki [Mon, 15 Feb 2016 11:48:28 +0000 (11:48 +0000)]
S/390: New mcount call sequence for z900+ CPUs in 31-bit mode.
gcc/ChangeLog:
2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
* config/s390/s390.c (s390_function_profiler): Add a new sequence
for z900+ CPUs in 31-bit mode.
From-SVN: r233422
Marcin Kościelnicki [Mon, 15 Feb 2016 10:20:18 +0000 (10:20 +0000)]
S/390: Add -fsplit-stack support
libgcc/ChangeLog:
* config.host: Use t-stack and t-stack-s390 for s390*-*-linux.
* config/s390/morestack.S: New file.
* config/s390/t-stack-s390: New file.
* generic-morestack.c (__splitstack_find): Add s390-specific code.
gcc/ChangeLog:
* common/config/s390/s390-common.c (s390_supports_split_stack):
New function.
(TARGET_SUPPORTS_SPLIT_STACK): New macro.
* config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
* config/s390/s390.c (struct machine_function): New field
split_stack_varargs_pointer.
(s390_register_info): Mark r12 as clobbered if it'll be used as temp
in s390_emit_prologue.
(s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
vararg pointer.
(morestack_ref): New global.
(SPLIT_STACK_AVAILABLE): New macro.
(s390_expand_split_stack_prologue): New function.
(s390_live_on_entry): New function.
(s390_va_start): Use split-stack vararg pointer if appropriate.
(s390_asm_file_end): Emit the split-stack note sections.
(TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
* config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
(UNSPECV_SPLIT_STACK_CALL): New unspec.
(UNSPECV_SPLIT_STACK_DATA): New unspec.
(split_stack_prologue): New expand.
(split_stack_space_check): New expand.
(split_stack_data): New insn.
(split_stack_call): New expand.
(split_stack_call_*): New insn.
(split_stack_cond_call): New expand.
(split_stack_cond_call_*): New insn.
From-SVN: r233421
Richard Biener [Mon, 15 Feb 2016 09:40:01 +0000 (09:40 +0000)]
re PR tree-optimization/69783 (Loop is not vectorized after r233212)
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69783
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Add trivially correct cases.
* gcc.dg/vect/pr69783.c: New testcase.
From-SVN: r233420
Tom de Vries [Mon, 15 Feb 2016 09:30:31 +0000 (09:30 +0000)]
Don't mark offload symbols with force_output in ltrans
2016-02-15 Tom de Vries <tom@codesourcery.com>
PR lto/69655
* lto-cgraph.c (input_offload_tables): Add and handle bool parameter
do_force_output.
* lto-streamer.h (input_offload_tables): Add and handle bool parameter.
* lto.c (read_cgraph_and_symbols): Call input_offload_tables with
argument.
From-SVN: r233419
Richard Biener [Mon, 15 Feb 2016 08:42:38 +0000 (08:42 +0000)]
re PR tree-optimization/69776 (Wrong optimization with aliasing)
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69776
* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
* tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
indicate whether we can use TBAA to disambiguate against stores.
Use alias-set zero if not.
(visit_reference_op_store): Do not use TBAA when looking up
redundant stores.
* tree-ssa-pre.c (compute_avail): Use TBAA here.
(eliminate_dom_walker::before_dom_children): But not when looking
up redundant stores.
* gcc.dg/torture/pr69776.c: New testcase.
From-SVN: r233418
GCC Administrator [Mon, 15 Feb 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233417
John David Anglin [Sun, 14 Feb 2016 18:26:00 +0000 (18:26 +0000)]
pa.md (absqi2, [...]): New.
* config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
From-SVN: r233414
Thomas Koenig [Sun, 14 Feb 2016 17:08:44 +0000 (17:08 +0000)]
re PR fortran/60526 (Accepts-invalid: Variable name same as type name)
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* decl.c (build_sym): If the name has already been defined as a
type, it has a symtree with an upper case letter at the beginning.
If such a symtree exists, issue an error and exit. Don't do
this if there is no corresponding upper case letter.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* gfortran.dg/type_decl_4.f90: Reinstated.
From-SVN: r233413
John David Anglin [Sun, 14 Feb 2016 16:29:08 +0000 (16:29 +0000)]
re PR fortran/68746 (FAIL: gfortran.dg/read_dir.f90 -O0 execution test)
PR fortran/68746
* gfortran.dg/read_dir.f90: Xfail on hppa*-*-hpux*.
From-SVN: r233412
Thomas Koenig [Sun, 14 Feb 2016 15:13:39 +0000 (15:13 +0000)]
re PR fortran/60526 (Accepts-invalid: Variable name same as type name)
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
PR bootstrap/69816
* decl.c (build_sym): Reverted previous patch.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
PR bootstrap/69816
* gfortran.dg/type_decl_4.f90: Removed.
From-SVN: r233411
Thomas Koenig [Sun, 14 Feb 2016 12:23:59 +0000 (12:23 +0000)]
re PR fortran/60526 (Accepts-invalid: Variable name same as type name)
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* decl.c (build_sym): If the name has already been defined as a
type, issue error and return false.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* gfortran.dg/type_decl_4.f90: New test.
From-SVN: r233410
Venkataramanan Kumar [Sun, 14 Feb 2016 07:11:16 +0000 (07:11 +0000)]
Fix some pipe reservations in znver1.md
Fix some pipe reservations in znver1.md
* config/i386/znver1.md
(znver1_pop, znver1_pop_mem,
znver1_load_imov_double_store,
znver1_load_imov_direct_store,
znver1_load_imov_direct_load,
znver1_load_imov_double_load): Add new.
(znver1_insn, znver1_insn_load): Add icmov type.
(znver1_sseavx_fma,
znver1_sseavx_fma_load,
znver1_avx256_fma,
znver1_avx256_fma_load): Fix pipe usage.
From-SVN: r233409
Alan Modra [Sun, 14 Feb 2016 01:48:59 +0000 (12:18 +1030)]
Add missing pr number
From-SVN: r233408
Alan Modra [Sun, 14 Feb 2016 01:43:14 +0000 (12:13 +1030)]
Correct c-torture stkalign test
The test wrongly assumed that a local var will normally not be 64-bit
aligned, causing it to fail on many targets. So the test needs to
pass if a local var *is* normally 64-bit aligned.
* gcc.c-torture/execute/stkalign.c: Revise test.
From-SVN: r233407
Alan Modra [Sun, 14 Feb 2016 01:37:40 +0000 (12:07 +1030)]
PRE_INC with invalid hard reg
PR target/68973
* reloads.c (find_reloads_address_1): For pre/post-inc/dec
with an invalid hard reg, reload just the reg not the entire
pre/post-inc/dec address expression.
From-SVN: r233406
GCC Administrator [Sun, 14 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233405
Oleg Endo [Sat, 13 Feb 2016 08:43:15 +0000 (08:43 +0000)]
re PR target/67260 ([sh] Register spill bug for sibcall+complex+softfloat)
gcc/testsuite/
PR target/67260
* gcc.target/sh/torture/pr67260.c: Adjust additional options.
From-SVN: r233400
Oleg Endo [Sat, 13 Feb 2016 08:03:44 +0000 (08:03 +0000)]
re PR target/67260 ([sh] Register spill bug for sibcall+complex+softfloat)
gcc/
PR target/67260
* config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
fixed R1_REG scratch reg.
(sibcall_value_pcrel_fdpic): Likewise.
gcc/testsuite/
PR target/67260
* gcc.target/sh/torture/pr67260.c: New.
From-SVN: r233399
John David Anglin [Sat, 13 Feb 2016 01:32:06 +0000 (01:32 +0000)]
pr67964.c: Add dg-require-alias.
* gcc.dg/pr67964.c: Add dg-require-alias.
From-SVN: r233398
Oleg Endo [Sat, 13 Feb 2016 00:50:25 +0000 (00:50 +0000)]
re PR target/67636 ([SH] gcc.target/sh/pr54236-1.c failures)
gcc/
PR target/67636
PR target/64345
* config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
gcc/testsuite/
PR target/67636
PR target/64345
* gcc.target/sh/pr54236-1.c: Adjust optimization level.
From-SVN: r233397
GCC Administrator [Sat, 13 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233396
Ian Lance Taylor [Fri, 12 Feb 2016 22:10:09 +0000 (22:10 +0000)]
runtime: For c-archive/c-shared, install signal handlers synchronously.
This is a port of https://golang.org/cl/18150 to the gccgo runtime.
The previous behaviour of installing the signal handlers in a separate
thread meant that Go initialization raced with non-Go initialization if
the non-Go initialization also wanted to install signal handlers. Make
installing signal handlers synchronous so that the process-wide behavior
is predictable.
Reviewed-on: https://go-review.googlesource.com/19494
From-SVN: r233393
Joseph Myers [Fri, 12 Feb 2016 21:26:33 +0000 (21:26 +0000)]
* eo.po: Update.
From-SVN: r233392
Mike Stump [Fri, 12 Feb 2016 21:23:11 +0000 (21:23 +0000)]
Fix FAIL: special_functions/18_riemann_zeta/check_value.cc (test for excess errors)
From-SVN: r233391
Walter Lee [Fri, 12 Feb 2016 21:21:15 +0000 (21:21 +0000)]
t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
gcc/ChangeLog:
* config/tilepro/t-tilepro: Replace CC_FOR_BUILD with
CXX_FOR_BUILD.
* config/tilegx/t-tilegx: Likewise.
From-SVN: r233390
Walter Lee [Fri, 12 Feb 2016 21:15:43 +0000 (21:15 +0000)]
config.host (tilegx*-*-linux*): remove ti from softfp_int_modes for 32-bit configs.
libgcc/ChangeLog:
* config.host (tilegx*-*-linux*): remove ti from
softfp_int_modes for 32-bit configs.
From-SVN: r233389
Jerry DeLisle [Fri, 12 Feb 2016 21:02:02 +0000 (21:02 +0000)]
re PR fortran/69668 (Error reading namelist opened with DELIM='NONE')
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69668
* gfortran.dg/namelist_88.f90: New test.
From-SVN: r233388
Jerry DeLisle [Fri, 12 Feb 2016 19:52:13 +0000 (19:52 +0000)]
re PR fortran/69668 (Error reading namelist opened with DELIM='NONE')
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69668
* io/list_read.c (read_character): Remove code related to DELIM_NONE.
PR libgfortran/69668
* gfortran.dg/namelist_38.f90: Update test.
* gfortran.dg/namelist_84.f90: Update test.
From-SVN: r233387
David Malcolm [Fri, 12 Feb 2016 19:18:03 +0000 (19:18 +0000)]
PR other/69554: avoid excessive source printing for widely-separated locations
gcc/ChangeLog:
PR other/69554
* diagnostic-show-locus.c (struct line_span): New struct.
(layout::get_first_line): Delete.
(layout::get_last_line): Delete.
(layout::get_num_line_spans): New member function.
(layout::get_line_span): Likewise.
(layout::print_heading_for_line_span_index_p): Likewise.
(layout::get_expanded_location): Likewise.
(layout::calculate_line_spans): Likewise.
(layout::m_first_line): Delete.
(layout::m_last_line): Delete.
(layout::m_line_spans): New field.
(layout::layout): Update comment. Replace m_first_line and
m_last_line with m_line_spans, replacing their initialization
with a call to calculate_line_spans.
(diagnostic_show_locus): When printing source lines and
annotations, rather than looping over a single span
of lines, instead loop over each line_span within
the layout, with an inner loop over the lines within them.
Call the context's start_span callback when changing line spans.
* diagnostic.c (diagnostic_initialize): Initialize start_span.
(diagnostic_build_prefix): Break out the building of the location
part of the string into...
(diagnostic_get_location_text): ...this new function, rewriting
it from nested ternary expressions to a sequence of "if"
statements.
(default_diagnostic_start_span_fn): New function.
* diagnostic.h (diagnostic_start_span_fn): New typedef.
(diagnostic_context::start_span): New field.
(default_diagnostic_start_span_fn): New prototype.
gcc/fortran/ChangeLog:
PR other/69554
* error.c (gfc_diagnostic_start_span): New function.
(gfc_diagnostics_init): Initialize global_dc's start_span.
gcc/testsuite/ChangeLog:
PR other/69554
* gcc.dg/pr69554-1.c: New test.
* gfortran.dg/pr69554-1.F90: New test.
* gfortran.dg/pr69554-2.F90: New test.
* lib/gcc-dg.exp (proc dg-locus): New function.
* lib/gfortran-dg.exp (proc gfortran-dg-test): Update comment to
distinguish between the caret-printing and non-caret-printing
cases. If caret-printing has been explicitly enabled, bail out
without attempting to fix up the output.
From-SVN: r233386
David Malcolm [Fri, 12 Feb 2016 18:37:35 +0000 (18:37 +0000)]
PR driver/69779: fix bogus cleanup code used by libgccjit affecting s390x
gcc/ChangeLog:
PR driver/69779
* gcc.c (driver::finalize): Fix cleanup of "specs".
From-SVN: r233385
David Malcolm [Fri, 12 Feb 2016 17:39:27 +0000 (17:39 +0000)]
PR driver/69265 and 69453: improved suggestions for various misspelled options
gcc/ChangeLog:
PR driver/69265
PR driver/69453
* gcc.c (driver::driver): Initialize m_option_suggestions.
(driver::~driver): Clean up m_option_suggestions.
(suggest_option): Convert to...
(driver::suggest_option): ...this, and split out into
driver::build_option_suggestions and find_closest_string.
(driver::build_option_suggestions): New function, from
first half of suggest_option. Special-case
OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
the sanitizer_opts array. For options of enum types, add the
various enum values to the candidate strings.
(driver::handle_unrecognized_options): Remove "const".
* gcc.h (driver::handle_unrecognized_options): Likewise.
(driver::build_option_suggestions): New decl.
(driver::suggest_option): New decl.
(driver::m_option_suggestions): New field.
* opts-common.c (add_misspelling_candidates): New function.
* opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
and make non-static.
* opts.h (sanitizer_opts): New array decl.
(add_misspelling_candidates): New function decl.
* spellcheck.c (find_closest_string): New function.
* spellcheck.h (find_closest_string): New function decl.
gcc/testsuite/ChangeLog:
PR driver/69265
PR driver/69453
* gcc.dg/spellcheck-options-3.c: New test case.
* gcc.dg/spellcheck-options-4.c: New test case.
* gcc.dg/spellcheck-options-5.c: New test case.
* gcc.dg/spellcheck-options-6.c: New test case.
* gcc.dg/spellcheck-options-7.c: New test case.
* gcc.dg/spellcheck-options-8.c: New test case.
* gcc.dg/spellcheck-options-9.c: New test case.
* gcc.dg/spellcheck-options-10.c: New test case.
From-SVN: r233382