jason [Thu, 18 Feb 2016 05:08:02 +0000 (05:08 +0000)]
PR c++/68585
* constexpr.c (cxx_eval_bare_aggregate): Fix 'changed' detection.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233513
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 18 Feb 2016 05:07:55 +0000 (05:07 +0000)]
PR c++/68679
* decl2.c (reset_type_linkage_2): Look through member templates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233512
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 18 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233511
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 17 Feb 2016 22:27:24 +0000 (22:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233508
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 17 Feb 2016 20:45:15 +0000 (20:45 +0000)]
PR c++/69842
* method.c (forward_parm): Split out from...
(add_one_base_init): ...here.
* lambda.c (maybe_add_lambda_conv_op): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233506
138bc75d-0d04-0410-961f-
82ee72b054a4
jcmvbkbc [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233505
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 17 Feb 2016 17:36:22 +0000 (17:36 +0000)]
* doc/extend.texi (C++ Attributes): Correct description of
warn_unused type attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233502
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Wed, 17 Feb 2016 16:48:57 +0000 (16:48 +0000)]
2016-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69651
* io/list_read.c (push_char4): Fix the pointer usage for xrealloc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233500
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 17 Feb 2016 16:23:55 +0000 (16:23 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233499
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 17 Feb 2016 14:57:58 +0000 (14:57 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233498
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 17 Feb 2016 14:51:27 +0000 (14:51 +0000)]
2016-02-17 Richard Biener <rguenther@suse.de>
PR testsuite/69586
* gcc.dg/uninit-21.c: Add -fno-short-enums.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233497
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233496
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233495
138bc75d-0d04-0410-961f-
82ee72b054a4
davids [Wed, 17 Feb 2016 13:16:31 +0000 (13:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233494
138bc75d-0d04-0410-961f-
82ee72b054a4
wilco [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. 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233490
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 17 Feb 2016 11:20:06 +0000 (11:20 +0000)]
* gcc.dg/ifcvt-4.c: Skip on Visium.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233489
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 17 Feb 2016 11:17:15 +0000 (11:17 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233488
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 17 Feb 2016 09:53:42 +0000 (09:53 +0000)]
* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
TI's devices.csv file as of March 2016.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233487
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [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.
* gcc-interface/trans.c (node_is_atomic): Return true if the prefix
denotes an entity which Has_Atomic_Components.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233485
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 17 Feb 2016 09:08:09 +0000 (09:08 +0000)]
* gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
for fat pointer or scalar types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233484
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Wed, 17 Feb 2016 03:33:02 +0000 (03:33 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233482
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 17 Feb 2016 00:50:23 +0000 (00:50 +0000)]
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 .
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233481
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 17 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233480
138bc75d-0d04-0410-961f-
82ee72b054a4
kelvin [Tue, 16 Feb 2016 23:12:19 +0000 (23:12 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233477
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Tue, 16 Feb 2016 21:10:00 +0000 (21:10 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233474
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 16 Feb 2016 20:46:17 +0000 (20:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233472
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 16 Feb 2016 19:01:49 +0000 (19:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233470
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 16 Feb 2016 18:01:04 +0000 (18:01 +0000)]
* 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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233469
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 16 Feb 2016 17:51:56 +0000 (17:51 +0000)]
* gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233467
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233463
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233462
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233461
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233460
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 16 Feb 2016 15:34:07 +0000 (15:34 +0000)]
PR middle-end/69801
* gcc.dg/pr69801.c: Add empty dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233459
138bc75d-0d04-0410-961f-
82ee72b054a4
jnorris [Tue, 16 Feb 2016 15:29:04 +0000 (15:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233458
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 16 Feb 2016 15:16:48 +0000 (15:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233457
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 16 Feb 2016 15:15:40 +0000 (15:15 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233456
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 16 Feb 2016 15:00:45 +0000 (15:00 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233453
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233452
138bc75d-0d04-0410-961f-
82ee72b054a4
claziss [Tue, 16 Feb 2016 14:11:24 +0000 (14:11 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233451
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 16 Feb 2016 10:53:08 +0000 (10:53 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233448
138bc75d-0d04-0410-961f-
82ee72b054a4
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233447
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 16 Feb 2016 09:12:37 +0000 (09:12 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233446
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 16 Feb 2016 09:00:32 +0000 (09:00 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233445
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 16 Feb 2016 08:39:22 +0000 (08:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233444
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 16 Feb 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233441
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 15 Feb 2016 23:29:17 +0000 (23:29 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233438
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 15 Feb 2016 23:20:26 +0000 (23:20 +0000)]
* sv.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233437
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Mon, 15 Feb 2016 22:31:13 +0000 (22:31 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233436
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 15 Feb 2016 22:05:12 +0000 (22:05 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233435
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 15 Feb 2016 21:30:50 +0000 (21:30 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233434
138bc75d-0d04-0410-961f-
82ee72b054a4
evandro [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233432
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 15 Feb 2016 21:14:05 +0000 (21:14 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233431
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 15 Feb 2016 21:13:57 +0000 (21:13 +0000)]
PR c++/68890
* constexpr.c (verify_ctor_sanity): Remove CONSTRUCTOR_NELTS check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233430
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Mon, 15 Feb 2016 20:31:45 +0000 (20:31 +0000)]
* alias.c (get_alias_set): Fix a typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233428
138bc75d-0d04-0410-961f-
82ee72b054a4
prathamesh3492 [Mon, 15 Feb 2016 17:28:48 +0000 (17:28 +0000)]
2016-02-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
testsuite/
* lib/target-supports.exp (check_effective_target_section_anchors): Add
check for aarch64*-*-*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233426
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 15 Feb 2016 13:49:42 +0000 (13:49 +0000)]
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69595
* match.pd: Complete range test simplification to true.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233425
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233424
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233423
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233422
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233421
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 15 Feb 2016 09:40:01 +0000 (09:40 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233420
138bc75d-0d04-0410-961f-
82ee72b054a4
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233419
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 15 Feb 2016 08:42:38 +0000 (08:42 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233418
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 15 Feb 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233417
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 14 Feb 2016 18:26:00 +0000 (18:26 +0000)]
* config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233414
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Sun, 14 Feb 2016 17:08:44 +0000 (17:08 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233413
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 14 Feb 2016 16:29:08 +0000 (16:29 +0000)]
PR fortran/68746
* gfortran.dg/read_dir.f90: Xfail on hppa*-*-hpux*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233412
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Sun, 14 Feb 2016 15:13:39 +0000 (15:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233411
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Sun, 14 Feb 2016 12:23:59 +0000 (12:23 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233410
138bc75d-0d04-0410-961f-
82ee72b054a4
vekumar [Sun, 14 Feb 2016 07:11:16 +0000 (07:11 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233409
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Sun, 14 Feb 2016 01:48:59 +0000 (01:48 +0000)]
Add missing pr number
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233408
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Sun, 14 Feb 2016 01:43:14 +0000 (01:43 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233407
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Sun, 14 Feb 2016 01:37:40 +0000 (01:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233406
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 14 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233405
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Sat, 13 Feb 2016 08:43:15 +0000 (08:43 +0000)]
gcc/testsuite/
PR target/67260
* gcc.target/sh/torture/pr67260.c: Adjust additional options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233400
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Sat, 13 Feb 2016 08:03:44 +0000 (08:03 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233399
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sat, 13 Feb 2016 01:32:06 +0000 (01:32 +0000)]
* gcc.dg/pr67964.c: Add dg-require-alias.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233398
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Sat, 13 Feb 2016 00:50:25 +0000 (00:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233397
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 13 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233396
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233393
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 12 Feb 2016 21:26:33 +0000 (21:26 +0000)]
* eo.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233392
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [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)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233391
138bc75d-0d04-0410-961f-
82ee72b054a4
walt [Fri, 12 Feb 2016 21:21:15 +0000 (21:21 +0000)]
gcc/ChangeLog:
* config/tilepro/t-tilepro: Replace CC_FOR_BUILD with
CXX_FOR_BUILD.
* config/tilegx/t-tilegx: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233390
138bc75d-0d04-0410-961f-
82ee72b054a4
walt [Fri, 12 Feb 2016 21:15:43 +0000 (21:15 +0000)]
libgcc/ChangeLog:
* config.host (tilegx*-*-linux*): remove ti from
softfp_int_modes for 32-bit configs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233389
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 12 Feb 2016 21:02:02 +0000 (21:02 +0000)]
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69668
* gfortran.dg/namelist_88.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233388
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 12 Feb 2016 19:52:13 +0000 (19:52 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233387
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233386
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [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".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233385
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233382
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 12 Feb 2016 16:49:44 +0000 (16:49 +0000)]
PR rtl-optimization/69764
PR rtl-optimization/69771
* optabs.c (expand_binop_directly): For shift_optab_p, force
convert_modes with VOIDmode if xop1 has VOIDmode.
* c-c++-common/pr69764.c: New test.
* gcc.dg/torture/pr69771.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233381
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 12 Feb 2016 16:40:47 +0000 (16:40 +0000)]
* g++.dg/torture/init-list1.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233380
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 12 Feb 2016 13:48:01 +0000 (13:48 +0000)]
* gcc.dg/pr69522.c: Add empty dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233377
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Fri, 12 Feb 2016 13:17:28 +0000 (13:17 +0000)]
gcc/
PR target/69729
* lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
to correctly determine instrumentation thunks.
gcc/testsuite/
* g++.dg/lto/lto.exp: Include and init mpx.
* g++.dg/lto/pr69729_0.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233376
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 12 Feb 2016 11:59:00 +0000 (11:59 +0000)]
PR ipa/69241
* ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
type by reference, force lhs on the call.
* g++.dg/ipa/pr69241-4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233375
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 12 Feb 2016 11:57:54 +0000 (11:57 +0000)]
PR ipa/68672
* ipa-split.c (split_function): Don't compute/use main_part_return_p.
Compute retval and retbnd early in all cases if split_part_return_p
and return_bb is not EXIT. Remove all clobber stmts and reset
all debug stmts that refer to SSA_NAMEs defined in split part,
except if it is retval, in that case replace the old retval with the
lhs of the call to the split part.
* g++.dg/ipa/pr68672-1.C: New test.
* g++.dg/ipa/pr68672-2.C: New test.
* g++.dg/ipa/pr68672-3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233374
138bc75d-0d04-0410-961f-
82ee72b054a4
kugan [Fri, 12 Feb 2016 06:40:55 +0000 (06:40 +0000)]
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
revert:
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/66726
* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
whose result is used in PHI.
(maybe_optimize_range_tests): Likewise.
(final_range_test_p): Likweise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233368
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 12 Feb 2016 01:50:25 +0000 (01:50 +0000)]
Fix incomplete initialization of the declspec struct.
* c-decl.c (build_null_declspecs): Zero the entire struct.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233367
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 12 Feb 2016 01:38:06 +0000 (01:38 +0000)]
Fix obstack use-after-free problems in C frontend, PR69522
c/
PR c/69522
* c-parser.c (c_parser_braced_init): New arg outer_obstack. All
callers changed. If nested_p is true, use it to call
finish_implicit_inits.
* c-tree.h (finish_implicit_inits): Declare.
* c-typeck.c (finish_implicit_inits): New function. Move code
from ...
(push_init_level): ... here.
(set_designator, process_init_element): Call finish_implicit_inits.
testsuite/
PR c/69522
gcc.dg/pr69522.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233366
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Fri, 12 Feb 2016 01:11:52 +0000 (01:11 +0000)]
Fix PR c++/69098 (bogus errors with static data member template)
gcc/cp/ChangeLog:
PR c++/69098
* pt.c (lookup_and_finish_template_variable): New function,
extracted from ...
(tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: ... here.
(tsubst_qualified_id): Consider that EXPR might be a variable
template.
* typeck.c (check_template_keyword): Don't emit an error
if DECL is a variable template.
gcc/testsuite/ChangeLog:
PR c++/69098
* g++.dg/cpp1y/69098.C: New test.
* g++.dg/cpp1y/69098-2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233365
138bc75d-0d04-0410-961f-
82ee72b054a4