Commit Graph

146160 Commits

Author SHA1 Message Date
David Malcolm 9a385c2d3d Implement CALL_EXPR_MUST_TAIL_CALL
This patch implements support for marking CALL_EXPRs
as being mandatory for tail-call-optimization. expand_call
tries harder to perform the optimization on such CALL_EXPRs,
and issues an error if it fails.

Currently this flag isn't accessible from any frontend,
so the patch uses a plugin for testing the functionality.

gcc/ChangeLog:
	* calls.c (maybe_complain_about_tail_call): New function.
	(initialize_argument_information): Call
	maybe_complain_about_tail_call when clearing *may_tailcall.
	(can_implement_as_sibling_call_p): Call
	maybe_complain_about_tail_call when returning false.
	(expand_call): Read CALL_EXPR_MUST_TAIL_CALL and, if set,
	ensure try_tail_call is set.  Call maybe_complain_about_tail_call
	if tail-call optimization fails.
	* cfgexpand.c (expand_call_stmt): Initialize
	CALL_EXPR_MUST_TAIL_CALL from gimple_call_must_tail_p.
	* gimple-pretty-print.c (dump_gimple_call): Dump
	gimple_call_must_tail_p.
	* gimple.c (gimple_build_call_from_tree): Call
	gimple_call_set_must_tail with the value of
	CALL_EXPR_MUST_TAIL_CALL.
	* gimple.h (enum gf_mask): Add GF_CALL_MUST_TAIL_CALL.
	(gimple_call_set_must_tail): New function.
	(gimple_call_must_tail_p): New function.
	* print-tree.c (print_node): Update printing of TREE_STATIC
	to reflect its use for CALL_EXPR_MUST_TAIL_CALL.
	* tree-core.h (struct tree_base): Add MUST_TAIL_CALL to the
	trailing comment listing applicable flags.
	* tree.h (CALL_EXPR_MUST_TAIL_CALL): New macro.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/must-tail-call-1.c: New test case.
	* gcc.dg/plugin/must-tail-call-2.c: New test case.
	* gcc.dg/plugin/must_tail_call_plugin.c: New file.
	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.

From-SVN: r236514
2016-05-20 14:20:03 +00:00
David Malcolm b40d90e6c5 Introduce can_implement_as_sibling_call_p
gcc/ChangeLog:
	* calls.c (expand_call): Move "Rest of purposes for tail call
	optimizations to fail" to...
	(can_implement_as_sibling_call_p): ...this new function, and
	split into multiple "if" statements.

From-SVN: r236513
2016-05-20 14:07:56 +00:00
Jan Hubicka 97c53806a2 cfgloop.h (expected_loop_iterations_unbounded, [...]): Unconstify.
* cfgloop.h (expected_loop_iterations_unbounded,
	expected_loop_iterations): Unconstify.
	* cfgloopanal.c (expected_loop_iterations_unbounded): Sanity check the
	profile with known upper bound; return 3 when profile is absent.
	(expected_loop_iterations): Update.

From-SVN: r236511
2016-05-20 13:19:59 +00:00
Jan Hubicka 216e83748d loop-doloop.c (doloop_optimize): Use get_estimated_loop_iterations_int and get_max_loop_iterations_int.
* loop-doloop.c (doloop_optimize): Use get_estimated_loop_iterations_int
	and get_max_loop_iterations_int.

From-SVN: r236509
2016-05-20 12:59:08 +00:00
Jan Hubicka 77c9d5b4e6 prefetch-5.c: xfail.
* gcc.dg/tree-ssa/prefetch-5.c: xfail.
	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can not produce
	realistic upper bounds here.

From-SVN: r236508
2016-05-20 12:41:45 +00:00
Thomas Preud'homme 11f8114b51 re PR libstdc++/71081 (experimental/memory_resource/1.cc run for targets without atomics)
2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR libstdc++/71081
    * testsuite/experimental/memory_resource/1.cc: Add required argument
    to dg-require-atomic-builtins.

From-SVN: r236507
2016-05-20 12:36:57 +00:00
Jakub Jelinek 1895484016 re PR c++/71210 (internal compiler error: in assign_temp, at function.c:961)
PR c++/71210
	* gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn
	calls if the LHS is variable length or has addressable type.
	If targets[0]->decl is a noreturn call with void return type and
	zero arguments, adjust fntype and remove lhs in that case.

	* g++.dg/opt/pr71210-1.C: New test.
	* g++.dg/opt/pr71210-2.C: New test.

From-SVN: r236506
2016-05-20 13:58:49 +02:00
Jakub Jelinek 6804797178 re PR target/29756 (SSE intrinsics hard to use without redundant temporaries appearing)
PR tree-optimization/29756
	gcc.dg/tree-ssa/vector-6.c: Add -Wno-psabi -w to dg-options.
	Add -msse2 for x86 and -maltivec for powerpc.  Use scan-tree-dump-times
	only on selected targets where V4SImode vectors are known to be
	supported.

From-SVN: r236505
2016-05-20 13:55:58 +02:00
Marc Glisse d78789f516 PR71206: inconsistent types after match.pd transformation
2016-05-20  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/71079
	PR tree-optimization/71206
gcc/
	* match.pd ((X ^ Y) ^ (X ^ Z)): Convert the arguments.

gcc/testsuite/
	* gcc.dg/tree-ssa/pr71206.c: New testcase.

From-SVN: r236504
2016-05-20 09:44:50 +00:00
Prathamesh Kulkarni 5b17a01caa Add test-cases mentioned in r236502.
From-SVN: r236503
2016-05-20 09:39:32 +00:00
Prathamesh Kulkarni 550fa09318 tree-vectorizer.c (get_vec_alignment_for_decl): New static function.
2016-05-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* tree-vectorizer.c (get_vec_alignment_for_decl): New static function.
	(get_vec_alignment_for_array_decl): Likewise.
	(get_vec_alignment_for_record_decl): Likewise.
	(increase_alignment::execute): Move code to find alignment to
	get_vec_alignment_for_array_decl and call get_vec_alignment_for_decl.
	(type_align_map): New hash_map.

testsuite/
	* gcc.dg/vect/section-anchors-vect-70.c: New test-case.
	* gcc.dg/vect/section-anchors-vect-71.c: Likewise.
	* gcc.dg/vect/section-anchors-vect-72.c: Likewise.

From-SVN: r236502
2016-05-20 09:35:46 +00:00
Richard Guenther 483c642948 re PR target/29756 (SSE intrinsics hard to use without redundant temporaries appearing)
2016-05-20  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/29756
	* tree.def (BIT_INSERT_EXPR): New tcc_expression tree code.
	* expr.c (expand_expr_real_2): Handle BIT_INSERT_EXPR.
	* fold-const.c (operand_equal_p): Likewise.
	(fold_ternary_loc): Add constant folding of BIT_INSERT_EXPR.
	* gimplify.c (gimplify_expr): Handle BIT_INSERT_EXPR.
	* tree-inline.c (estimate_operator_cost): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-ssa-operands.c (get_expr_operands): Likewise.
	* cfgexpand.c (expand_debug_expr): Likewise.
	* gimple-pretty-print.c (dump_ternary_rhs): Likewise.
	* gimple.c (get_gimple_rhs_num_ops): Handle BIT_INSERT_EXPR.
	* tree-cfg.c (verify_gimple_assign_ternary): Verify BIT_INSERT_EXPR.

	* tree-ssa.c (non_rewritable_lvalue_p): We can rewrite
	vector inserts using BIT_FIELD_REF or MEM_REF on the lhs.
	(execute_update_addresses_taken): Do it.

	* gcc.dg/tree-ssa/vector-6.c: New testcase.

From-SVN: r236501
2016-05-20 09:17:16 +00:00
Richard Biener eb066284cb re PR target/71185 (ice in gimplify_modify_expr, at gimplify.c:4873)
2016-05-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71185
	* tree-ssa-loop-prefetch.c (gather_memory_references): Drop
	register operations.

	* gcc.dg/tree-ssa/pr71185.c: New testcase.

From-SVN: r236499
2016-05-20 09:09:28 +00:00
Richard Biener 58f10249a8 tree-if-conv.c (add_bb_predicate_gimplified_stmts): Use gimple_seq_add_seq_without_update.
2016-05-20  Richard Biener  <rguenther@suse.de>

	* tree-if-conv.c (add_bb_predicate_gimplified_stmts): Use
	gimple_seq_add_seq_without_update.
	(release_bb_predicate): Assert we have no operands to free.
	(if_convertible_loop_p_1): Calculate post dominators later.
	Do not free BB predicates here.
	(combine_blocks): Do not recompute BB predicates.
	(version_loop_for_if_conversion): Save BB predicates around
	loop versioning.

	* gcc.dg/tree-ssa/ifc-cd.c: Adjust.

From-SVN: r236498
2016-05-20 09:01:23 +00:00
Martin Liska ceb17928e5 Change ENABLE_VALGRIND_CHECKING to
* config.in: Regenerated.
	* configure: Likewise.
	* configure.ac: Handle --enable-valgrind-annotations.
	* lex.c (new_buff): Use ENABLE_VALGRIND_ANNOTATIONS instead
	of ENABLE_VALGRIND_CHECKING.
	(_cpp_free_buff): Likewise.

From-SVN: r236496
2016-05-20 08:03:25 +00:00
GCC Administrator 2fe676f6df Daily bump.
From-SVN: r236495
2016-05-20 00:16:24 +00:00
Segher Boessenkool 33fec8d5b3 function: Restructure *logue insertion
This patch restructures how the prologues/epilogues are inserted.  Sibcalls
that run without prologue are now handled in shrink-wrap.c; it communicates
what is already handled by setting the EDGE_IGNORE flag.  The
try_shrink_wrapping function then doesn't need to be passed the bb_flags
anymore.


	* function.c (make_epilogue_seq): Remove epilogue_end parameter.
	(thread_prologue_and_epilogue_insns): Remove bb_flags.  Restructure
	code.  Ignore sibcalls on EDGE_IGNORE edges.
	* shrink-wrap.c (handle_simple_exit): New function.  Set EDGE_IGNORE
	on edges for sibcalls that run without prologue.  The rest of the
	function is combined from...
	(fix_fake_fallthrough_edge): ... this, and ...
	(try_shrink_wrapping): ... a part of this.  Remove the bb_with
	function argument, make it a local variable.

From-SVN: r236491
2016-05-20 00:17:53 +02:00
Sandra Loosemore 6befaff666 cygming.h (DWARF2_UNWIND_INFO): Allow --disable-sjlj-exceptions for TARGET_BI_ARCH to select DWARF-2 EH for...
2016-05-19  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/i386/cygming.h (DWARF2_UNWIND_INFO): Allow 
	--disable-sjlj-exceptions for TARGET_BI_ARCH to select DWARF-2 EH
	for 32-bit mode and SEH for 64-bit.
	* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): Handle
	TARGET_64BIT_DEFAULT.

	libgcc/
	* config.host [x86_64-*-cygwin*]: Handle tmake_eh_file for mixed 
	dw2/seh configuration.
	[x86_64-*-mingw*]: Likewise.

From-SVN: r236490
2016-05-19 17:59:45 -04:00
David Malcolm 8a40fef310 PR c/71171: Fix uninitialized source_range in c_parser_postfix_expression
A common way for a c_expr to have an uninitialized src_range is in
error-handling, where the "value" field is set to error_mark_node
without touching the src_range, leading to complaints from valgrind.

This patch introduces a new method c_expr::set_error which sets
the value to error_mark_node whilst initializing the src_range to
UNKNOWN_LOCATION.

This fixes the valgrind issue seen in PR c/71171, along with various
other related issues seen when running the testsuite using the
checker patch I posted here:
  https://gcc.gnu.org/ml/gcc-patches/2015-12/msg00887.html
(this checker still doesn't fully work yet, but it seems to be good
for easily detecting these issues without needing Valgrind).

gcc/c/ChangeLog:
	PR c/71171
	* c-parser.c (c_parser_generic_selection): Use c_expr::set_error
	in error-handling.
	(c_parser_postfix_expression): Likewise.
	* c-tree.h (c_expr::set_error): New method.
	* c-typeck.c (parser_build_binary_op): In error-handling, ensure
	that result's range is initialized.

From-SVN: r236488
2016-05-19 20:29:07 +00:00
Marek Polacek 2a5569fad3 re PR c++/71075 (Broken diagnostic: 'integer_cst' not supported by 'dump_decl')
PR c++/71075
	* pt.c (unify_template_argument_mismatch): Use %qE instead of %qD.

	* g++.dg/diagnostic/pr71075.C: New test.

From-SVN: r236487
2016-05-19 20:23:52 +00:00
Jason Merrill a7dd5069bb Fix handling of non-dependent calls with default template args.
PR c++/10200
	* pt.c (fn_type_unification): Add outer template args if needed.
	(type_unification_real): Handle getting full args.

From-SVN: r236486
2016-05-19 15:20:40 -04:00
David Malcolm 5e9a538594 PR c++/71184: Fix NULL dereference in cp_parser_operator
The source-range handling for the array form of operator
new/delete erroneously assumed that the "]" was present,
leading to a dereference of NULL when it's absent.

Fix it thusly.

gcc/cp/ChangeLog:
	PR c++/71184
	* parser.c (cp_parser_operator): For array new/delete, check that
	cp_parser_require returned a non-NULL token before dereferencing
	it.

gcc/testsuite/ChangeLog:
	PR c++/71184
	* g++.dg/pr71184.C: New test case.

From-SVN: r236483
2016-05-19 18:10:30 +00:00
Ryan Burn 1478c897bf Makefile.in (GTFILES): Add cilk.h and cilk-common.c.
2016-05-16  Ryan Burn  <contact@rnburn.com>

  * Makefile.in (GTFILES): Add cilk.h and cilk-common.c.
  * gengtype.c (open_base_files): Add cilk.h to ifiles.

From-SVN: r236482
2016-05-19 12:03:30 -06:00
Uros Bizjak 3e009bf0e9 sched-deps.c (sched_analyze_2): Also force pending loads from memory.
* sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
	force pending loads from memory.

From-SVN: r236481
2016-05-19 19:52:56 +02:00
Kelvin Nilsen 4f45da44cd darn-0.c: New test.
gcc/testsuite/ChangeLog:

2016-05-19  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.target/powerpc/darn-0.c: New test.
	* gcc.target/powerpc/darn-1.c: New test.
	* gcc.target/powerpc/darn-2.c: New test.


gcc/ChangeLog:

2016-05-19  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant.
	(UNSPEC_DARN_32): New unspec constant.
	(UNSPEC_DARN_RAW): New unspec constant.
	(darn_32): New instruction.
	(darn_raw): New instruction.
	(darn): New instruction.
	* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add
	support and documentation for this macro.
	(BU_P9_MISC_1): New macro definition.
	(BU_P9_64BIT_MISC_0): New macro definition.
	(BU_P9_MISC_0): New macro definition.
	(darn_32): New builtin definition.
	(darn_raw): New builtin definition.
	(darn): New builtin definition.
	* config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef
	RS6000_BUILTIN_0 directives to surround each occurrence of
	#include "rs6000-builtin.def".
	(rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and
	RS6000_BTM_64BIT flags to the returned mask, depending on
	configuration.
	(def_builtin): Correct an error in the assignments made to the
	debugging variable attr_string.
	(rs6000_expand_builtin): Add support for no-operand built-in
	functions.
	(builtin_function_type): Remove fatal_error assertion that is no
	longer valid.
	(rs6000_common_init_builtins): Add support for no-operand built-in
	functions.
	* config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro
	definition.
	(RS6000_BTM_PURE): Enhance comment to clarify intent of this flag
	definition.
	(RS6000_BTM_64BIT): New macro definition.
	* doc/extend.texi: Document __builtin_darn (void),
	__builtin_darn_raw (void), and __builtin_darn_32 (void) built-in
	functions.

From-SVN: r236480
2016-05-19 17:47:40 +00:00
Jan Hubicka cb6b1bdffe tree-vect-loop.c (vect_analyze_loop_2): Use also max_loop_iterations_int.
* tree-vect-loop.c (vect_analyze_loop_2): Use also 
	max_loop_iterations_int.

From-SVN: r236478
2016-05-19 15:50:56 +00:00
Marek Polacek 4177437ead re PR tree-optimization/71031 (ICE in extract_range_from_binary_expr_1, at tree-vrp.c:2535 w/ -Os)
PR tree-optimization/71031
	* tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a
	condition and adjust the code a bit.

	* gcc.dg/tree-ssa/vrp100.c: New test.

From-SVN: r236477
2016-05-19 15:45:35 +00:00
Martin Liska 00426f9a9e Fix memory leak in tree-vect-stmts.c
* tree-vect-stmts.c (vectorizable_simd_clone_call): Utilize
	auto_vec instead of vec.

From-SVN: r236472
2016-05-19 15:08:02 +00:00
Martin Liska 4089c3402c Fix memory leak in tree-parloops.c
* tree-parloops.c (oacc_entry_exit_ok): Release a vector.

From-SVN: r236471
2016-05-19 15:07:28 +00:00
Martin Liska f6b8cbb70e Fix memory leak in tree-if-conv.c
* tree-if-conv.c (ifcvt_repair_bool_pattern): Utilize auto_vecs.

From-SVN: r236470
2016-05-19 15:06:47 +00:00
Martin Liska 7f153d8202 Fix memory leak in ipa-pure-const
* ipa-pure-const.c (set_function_state): Remove an existing
	funct_state.
	(remove_node_data): Do not free it as it's released
	in set_function_state.

From-SVN: r236469
2016-05-19 15:06:17 +00:00
Martin Liska 6e078af89e Fix memory leak in tree-vect-slp.c
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Release
	bitmap.

From-SVN: r236468
2016-05-19 15:05:53 +00:00
Martin Liska d76815f487 Fix memory leak in omp-simd-clone.c
* omp-simd-clone.c (simd_clone_adjust): Release vector.

From-SVN: r236467
2016-05-19 15:05:26 +00:00
Martin Liska b3e508d7a6 Fix leak in gcc/tree-ssa-reassoc.c.
* tree-ssa-reassoc.c (eliminate_duplicate_pair): Truncate
	an auto_vec instead of re-creating it.

From-SVN: r236466
2016-05-19 15:05:07 +00:00
Martin Liska 843374f270 Fix leak in tree-ssa-loop-prefetch.c
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Use
	auto_vec instead of vec.

From-SVN: r236465
2016-05-19 15:04:42 +00:00
Martin Liska b898d037f3 LTO: display file name if LTO version check fails
* lto-section-in.c (lto_get_section_data): Call
	lto_check_version with additional argument.
	* lto-streamer.c (lto_check_version): Add new argument.
	* lto-streamer.h (lto_check_version): Likewise.

From-SVN: r236464
2016-05-19 15:02:30 +00:00
Kyrylo Tkachov f65970cfd0 [ARM] Fix costing of sign-extending load in rtx costs
* config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case):
	Don't add cost of inner memory when handling sign-extended
	loads.

From-SVN: r236461
2016-05-19 13:54:31 +00:00
Ilya Enkovich afb7243286 cse.c (cse_main): Free dominance info.
gcc/

	* cse.c (cse_main): Free dominance info.
	(rest_of_handle_cse): Don't free dominance info.
	(rest_of_handle_cse2): Likewise.
	(rest_of_handle_cse_after_global_opts): Likewise.

gcc/testsuite/

	* gcc.dg/pr71148.c: New test.

From-SVN: r236460
2016-05-19 13:50:22 +00:00
Kyrylo Tkachov 4f83064e3b [ARM] PR target/71056: Don't use vectorized builtins when NEON is not available
PR target/71056
	* config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return
	NULL_TREE early if NEON is not available.  Remove now redundant check
	in ARM_CHECK_BUILTIN_MODE.

	* gcc.target/arm/pr71056.c: New test.

From-SVN: r236459
2016-05-19 13:43:58 +00:00
Bernd Edlinger 4bf8dbe16a decl.c (finish_enum_value_list): Use the specified mode.
2016-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * decl.c (finish_enum_value_list): Use the specified mode.

testsuite:
2016-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-c++-common/pr69669.c: Check the used mode.

From-SVN: r236458
2016-05-19 12:27:31 +00:00
Maxim Ostapenko f3510625cf re PR sanitizer/64354 (no preprocessor symbol __SANITIZE_THREAD__)
2016-05-19  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/64354
	* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Add new
	builtin __SANITIZE_THREAD__ macros for fsanitize=thread switch.
	* doc/cpp.texi: Document new macros.

	* c-c++-common/tsan/sanitize-thread-macro.c: New test.

From-SVN: r236457
2016-05-19 15:05:59 +03:00
Jakub Jelinek 73fb6a9d96 Move ChangeLog entry to the right file.
PR other/61321
	PR other/61233
	* demangle.h (enum demangle_component_type)
	<DEMANGLE_COMPONENT_CONVERSION>: New value.

From-SVN: r236449
2016-05-19 11:55:01 +02:00
Jakub Jelinek 969ac969c7 Remove libiberty/ path prefixes.
From-SVN: r236448
2016-05-19 11:27:57 +02:00
Bin Cheng 8340e4fcb8 re PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)
PR tree-optimization/69848
	* tree-vect-loop.c (vectorizable_reduction): Don't factor
	comparison expr out of VEC_COND_EXPR for COND_REDUCTION.

From-SVN: r236447
2016-05-19 09:03:36 +00:00
Jakub Jelinek e1fe3c698f re PR c++/70498 (Libiberty Demangler segfaults (3))
PR c++/70498
	* cp-demangle.c (d_expression_1): Formatting fix.

From-SVN: r236445
2016-05-19 10:49:30 +02:00
Jakub Jelinek a3fa753567 Fix up 2 ChangeLog entries.
From-SVN: r236443
2016-05-19 10:34:39 +02:00
Segher Boessenkool cc1f86f3fd function: A fix for my previous commit
It failed for targets that have an eh_return pattern with a splitter
gated by epilogue_done.


        * function.c (thread_prologue_and_epilogue_insn): Move the
        "goto epilogue_done" one block later.

From-SVN: r236441
2016-05-19 09:51:48 +02:00
Richard Biener 43c0068e60 re PR tree-optimization/70729 (Loop marked with omp simd pragma is not vectorized)
2016-05-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70729
	* passes.def: Move LIM pass before PRE.  Remove no longer
	required copyprop and move first DCE out of the loop pipeline.

	* gcc.dg/autopar/outer-6.c: Adjust to avoid redundant store.
	* gcc.dg/graphite/scop-18.c: Likewise.
	* gcc.dg/pr41783.c: Disable LIM.
	* gcc.dg/tree-ssa/loadpre10.c: Likewise.
	* gcc.dg/tree-ssa/loadpre23.c: Likewise.
	* gcc.dg/tree-ssa/loadpre24.c: Likewise.
	* gcc.dg/tree-ssa/loadpre25.c: Likewise.
	* gcc.dg/tree-ssa/loadpre4.c: Likewise.
	* gcc.dg/tree-ssa/loadpre8.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-16.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-18.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-20.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-3.c: Likewise.
	* gfortran.dg/pr42108.f90: Likewise.

From-SVN: r236440
2016-05-19 07:39:52 +00:00
David Malcolm 70f25790a1 PR driver/69265: add hint for options with misspelled arguments
opts-common.c's cmdline_handle_error handles invalid arguments
for options with CL_ERR_ENUM_ARG by building a string listing the
valid arguments.  By also building a vec of valid arguments, we
can use find_closest_string and provide a hint if we see a close
misspelling.

gcc/ChangeLog:
	PR driver/69265
	* Makefile.in (GCC_OBJS): Move spellcheck.o to...
	(OBJS-libcommon-target): ...here.
	* opts-common.c: Include spellcheck.h.
	(cmdline_handle_error): Build a vec of valid options and use it
	to suggest provide hints for misspelled arguments.

gcc/testsuite/ChangeLog:
	PR driver/69265
	* gcc.dg/spellcheck-options-11.c: New test case.

From-SVN: r236439
2016-05-19 00:52:08 +00:00
GCC Administrator 69e95fa03c Daily bump.
From-SVN: r236438
2016-05-19 00:16:21 +00:00