Commit Graph

147943 Commits

Author SHA1 Message Date
H.J. Lu
89c8878092 Increase MOVE_RATIO to 17 for Lakemont
Larger MOVE_RATIO will always make code faster.  17 is the number with
smaller code sizes for Lakemont.

gcc/

	PR target/72839
	* config/i386/i386.c (lakemont_cost): Set MOVE_RATIO to 17.

gcc/testsuite/

	PR target/72839
	* gcc.target/i386/pr72839.c: New test.

From-SVN: r239578
2016-08-18 07:59:46 -07:00
Chung-Lin Tang
2c71d454eb re PR middle-end/70895 (OpenACC: loop reduction does not work. Output is zero.)
2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>

	PR middle-end/70895
	gcc/
	* gimplify.c (omp_add_variable): Adjust/add variable mapping on
	enclosing parallel construct for reduction variables on OpenACC loop
	directives.

	gcc/testsuite/
	* gfortran.dg/goacc/loop-tree-1.f90: Add gimple scan-tree-dump test.
	* c-c++-common/goacc/reduction-1.c: Likewise.
	* c-c++-common/goacc/reduction-2.c: Likewise.
	* c-c++-common/goacc/reduction-3.c: Likewise.
	* c-c++-common/goacc/reduction-4.c: Likewise.

	libgomp/
	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
	firstprivate clauses.
	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
	copy clauses.
	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.

From-SVN: r239576
2016-08-18 14:46:19 +00:00
Pierre-Marie de Rodat
80c5ad359f DWARF: do not emit DW_TAG_variable to materialize DWARF procedures
Hello,

For -gdwarf-3 and newer, the DWARF back-end sometimes generates DWARF
procedures to factorize complex location descriptions.  DWARF procedures
can be materialized as DW_TAG_dwarf_procedure DIEs, but actually any DIE
that can hold a DW_AT_location attribute is also accepted.

Unlike what I thought at some point, the DW_TAG_dwarf_procedure tag was
introduced in the DWARFv3 standard, not the DWARFv4 one, so the back-end
can always emit DW_TAG_dwarf_procedure DIEs, as this simplifies code and
prevents the types pruning pass from missing a DWARF procedure.

Boostrapped and regtested on x86_64-linux: no regression.  Ok to commit?
Thank you in advance!

gcc/

	* dwarf2out.c (copy_dwarf_procedure): Remove obsolete comment.
	(new_dwarf_proc_die): Emit DW_TAG_dwarf_procedure DIEs even for
	-gdwarf-3.
	(function_to_dwarf_procedure): Update comment.

From-SVN: r239575
2016-08-18 14:39:22 +00:00
Jonathan Wakely
0b224dcf60 Expand libstdc++ docs on testing
* doc/xml/manual/test.xml (test.run.permutations): Expand section.
	(test.new_tests): Rewrite section.
	(tests.dg.directives): New section.
	* doc/html/*: Regenerate.

From-SVN: r239574
2016-08-18 14:47:42 +01:00
Jonathan Wakely
b56d48ef86 Improve documentation of libstdc++ test targets
* doc/xml/manual/test.xml: Improve documentation of test targets.
	Document new-abi-baseline, check-debug, and check-parallel targets.

From-SVN: r239573
2016-08-18 14:47:37 +01:00
Jonathan Wakely
409d55557b Document libstdc++.so versioning in manual
* doc/xml/manual/build_hacking.xml: New section on shared library
	versioning.

From-SVN: r239572
2016-08-18 14:47:33 +01:00
Jonathan Wakely
a8107a983f Improve markup in libstdc++ manual
* doc/xml/manual/build_hacking.xml: Improve markup.
	* doc/xml/manual/test.xml: Likewise. Change section title from "Test"
	to "Testing".
	* doc/xml/faq.xml: Change link text to "Testing".

From-SVN: r239571
2016-08-18 14:47:28 +01:00
David Malcolm
f89b03b6be Evict selftest tempfiles from the diagnostics file cache
Selftests can use class selftest::temp_source_file to write out files
for testing input-handling, and the files are unlinked in the dtor.

This leads to stale entries in input.c's cache of file content, which
could lead to errors if a temporary filename gets reused during a run
of the selftests.

We don't normally expect files to be "deleted from under us", so
special-case this by adding a special way for temp_source_file's
dtor to purge any cache entries referring to it.

gcc/ChangeLog:
	* input.c (diagnostics_file_cache_forcibly_evict_file): New
	function.
	* input.h (diagnostics_file_cache_forcibly_evict_file): New
	declaration.
	* selftest.c (selftest::temp_source_file::~temp_source_file):
	Evict m_filename from the diagnostic file cache.

From-SVN: r239570
2016-08-18 13:07:53 +00:00
Richard Biener
f02510201a tree-pass.h (make_pass_materialize_all_clones): Declare.
2016-08-18  Richard Biener  <rguenther@suse.de>

	* tree-pass.h (make_pass_materialize_all_clones): Declare.
	* ipa.c (pass_data_materialize_all_clones, pass_materialize_all_clones,
	make_pass_materialize_all_clones): New simple IPA pass encapsulating
	clone materialization.
	* passes.def (all_late_ipa_passes): Start with
	pass_materialize_all_clones.
	* cgraphunit.c (symbol_table::compile): Remove call to
	materialize_all_clones.
	* tree-into-ssa.c: Include statistics.h.
	(update_ssa): Count number of times we do incremental/rewrite
	SSA update.

From-SVN: r239567
2016-08-18 10:41:53 +00:00
Marek Polacek
9c62c87358 re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
PR c/7652
gcc/cp/
	* call.c (add_builtin_candidate): Add gcc_fallthrough.
	* cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise.
	* parser.c (cp_parser_skip_to_end_of_statement): Likewise.
	(cp_parser_cache_defarg): Likewise.
libcpp/
	* pch.c (write_macdef): Add CPP_FALLTHRU.

From-SVN: r239566
2016-08-18 10:28:03 +00:00
Richard Biener
f9d97e407f re PR tree-optimization/77282 (test case gcc.dg/autopar/pr46193.c fails starting with r239414)
2016-08-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/77282
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	When doing auto-parallelizing also prevent use of PHIs that
	carry dependences across loop backedges.

From-SVN: r239565
2016-08-18 10:06:03 +00:00
Jonathan Wakely
6cb9849199 Remove unintended dg-options directive
* testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
	dg-options directive.

From-SVN: r239564
2016-08-18 10:58:28 +01:00
Tamar Christina
65d21eaf70 [PATCH] [GCC] Don't use section anchors for declarations that don't fit in a single anchor range
On behalf of Tamar Christina  <tamar.christina@arm.com>.

gcc/

	* varasm.c (default_use_anchors_for_symbol_p): Reject too large decls.


Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>

From-SVN: r239561
2016-08-18 08:45:53 +00:00
Richard Biener
eeead3a6f1 ssa-iterators.h (ssa_vuse_operand): New inline.
2016-08-18  Richard Biener  <rguenther@suse.de>

	* ssa-iterators.h (ssa_vuse_operand): New inline.
	* tree-if-conv.c (ifc_temp_var): Update virtual operand.
	(predicate_all_scalar_phis): Use remove_phi_node to remove
	phi nodes predicated.  Delay removing virtual PHIs.
	(predicate_mem_writes): Update virtual operands.
	(combine_blocks): Likewise.  Propagate out remaining virtual PHIs.
	(tree_if_conversion): Do not rewrite virtual SSA form.
	* tree-phinodes.c (release_phi_node): Make static.
	* tree-phinodes.h (release_phi_node): Remove.

From-SVN: r239560
2016-08-18 07:21:11 +00:00
Jakub Jelinek
5730589da6 i386.c (enum ix86_builtins): Remove IX86_BUILTIN_* codes that appear in bdesc_* arrays...
* config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_*
	codes that appear in bdesc_* arrays, instead include i386-builtin.def
	twice to define those.
	(bdesc_comi, bdesc_pcmpestr, bdesc_pcmpistr, bdesc_special_args,
	bdesc_args, bdesc_round_args, bdesc_mpx, bdesc_mpx_const,
	bdesc_multi_arg): Define by including i386-builtin.def the third time.
	* config/i386/i386-builtin.def: New file.

From-SVN: r239559
2016-08-18 08:58:46 +02:00
GCC Administrator
395cbeb504 Daily bump.
From-SVN: r239553
2016-08-18 00:16:13 +00:00
David Malcolm
0e06d2b3f7 input.c: move test functions within #CHECKING_P and into selftest::
gcc/ChangeLog:
	* input.c (get_source_range_for_char): Rename to...
	(selftest::get_source_range_for_char): ...this, and move within
	the #if CHECKING_P guard.
	(get_num_source_ranges_for_substring): Rename to...
	(selftest::get_num_source_ranges_for_substring): ...this, move
	within the #if CHECKING_P guard, and make static.
	(selftest::assert_num_substring_ranges): Initialize
	actual_num_ranges.

From-SVN: r239550
2016-08-18 00:13:26 +00:00
Alan Modra
66592e95db [RELOAD] Don't assume subreg mem address is ok
This patch fixes a case where reload blindly assumes a subreg mem is
OK if its address has been partially reloaded by legitimize_reload_address.

	PR rtl-optimization/72771
	* reload.c (find_reloads): Don't assume that a subreg mem is OK
	when find_reloads_toplev returns address_reloaded==-1.
	(alternative_allows_const_pool_ref): Update comment.
testsuite/
	* gcc.c-torture/compile/pr72771.c: New.

From-SVN: r239549
2016-08-18 08:11:22 +09:30
Jonathan Wakely
6fbf26cc57 Fix invalid dg-do directive
* testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
	directive and use effective target instead of dg-options.

From-SVN: r239548
2016-08-17 20:58:44 +01:00
Jonathan Wakely
18a20f3f25 Use effective target instead of -std in dg-options
* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
	instead of -std in dg-options.
	* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
	* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
	* testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
	* testsuite/20_util/hash/quality.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
	* testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
	* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
	* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
	* testsuite/25_algorithms/sort/random_test.cc: Likewise.

From-SVN: r239547
2016-08-17 20:43:13 +01:00
Jonathan Wakely
f771720378 Add c++11 effective target to tests for C++11 features
* testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
	* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
	* testsuite/27_io/rvalue_streams.cc: Likewise.

From-SVN: r239545
2016-08-17 20:23:15 +01:00
Jakub Jelinek
3a146d46ce re PR fortran/67496 (trans-array.c sanitizer runtime error: load of value 124, which is not a valid value for type 'bool')
PR fortran/67496
	* trans-array.c (trans_array_constructor): Load
	expr->ts.u.cl->length_from_typespec only if expr->ts.type is
	BT_CHARACTER.

	* gfortran.dg/pr67496.f90: New test.

From-SVN: r239544
2016-08-17 21:08:49 +02:00
Jonathan Wakely
e30c6e0c14 Add comment explaining why -std=c++14 is needed.
* testsuite/26_numerics/complex/literals/types.cc: Add comment.

From-SVN: r239543
2016-08-17 17:09:15 +01:00
Alan Hayward
038000bd9d re PR tree-optimization/71752 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:229 w/ -O1 -ftree-vectorize)
2015-08-17  Alan Hayward <alan.hayward@arm.com>

	PR tree-optimization/71752
	* tree-vect-loop.c (vectorizable_reduction): Keep SLP operand ordering.
	* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.

	PR tree-optimization/71752
	* gcc.dg/vect/pr71752.c: New

From-SVN: r239542
2016-08-17 15:31:44 +00:00
Uros Bizjak
dd42e908a0 dec_init_2.f90: Use dg-add-options ieee.
* gfortran.dg/dec_init_2.f90: Use dg-add-options ieee.

From-SVN: r239540
2016-08-17 16:33:20 +02:00
Jakub Jelinek
865f704603 gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p instead of testing ECF_NORETURN bit in gimple_call_flags.
* gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p
	instead of testing ECF_NORETURN bit in gimple_call_flags.
	* tree-cfg.c (make_edges_bb, execute_fixup_cfg): Likewise.
	* predict.c (tree_bb_level_predictions): Likewise.
	* gimple-low.c (gimple_stmt_may_fallthru): Likewise.

From-SVN: r239539
2016-08-17 16:24:53 +02:00
Jonathan Wakely
e07f4b008d Remove duplicate dg-options directive
* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
	Remove duplicate dg-options directive.

From-SVN: r239538
2016-08-17 15:11:20 +01:00
Jakub Jelinek
458a1cd089 re PR middle-end/77259 (ICE in emit_move_insn since r232167)
PR middle-end/77259
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
	turning a call into __builtin_unreachable-like noreturn call, adjust
	gimple_call_set_fntype.
	* tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
	gimple_call_fntype has void return type.

	* g++.dg/ipa/devirt-52.C: New test.

From-SVN: r239537
2016-08-17 15:56:30 +02:00
Jonathan Wakely
37144e84aa Adjust DG directives in libstdc++ Profile Mode test
* testsuite/ext/profile/all.cc: Use effective target instead of
	-std=gnu++11. Use dg-additional-options instead of repeating options.

From-SVN: r239536
2016-08-17 14:39:14 +01:00
Jonathan Wakely
8fe79e7334 Adjust DG directives in libstdc++ XFAIL test
* testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
	-std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
	instead of dg-excess-errors.

From-SVN: r239535
2016-08-17 14:39:10 +01:00
Jonathan Wakely
c42966921a Adjust testcases for C++17 compatibility
* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
	test for C++17.
	* testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
	* testsuite/experimental/ratio/value.cc: Likewise.
	* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
	C++17.
	* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
	* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
	* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
	* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
	* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
	* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
	* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
	C++17 compatibility.

From-SVN: r239534
2016-08-17 14:39:05 +01:00
Jonathan Wakely
ba364478df Adjust testcase for C++14 compatibility
* testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
	expected signatures for C++14 compatibility.

From-SVN: r239533
2016-08-17 14:38:58 +01:00
Jonathan Wakely
657213f736 PR 77264 constrain new std::basic_string overloads
PR libstdc++/77264
	* include/bits/basic_string.h (operator=(__sv_type)
	(append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
	(replace(size_type, size_type, __sv_type))
	(replace(const_iterator, const_iterator, __sv_type))
	(find(__sv_type, size_type), rfind(__sv_type, size_type))
	(compare(size_type, size_type, __sv_type)): Reformat.
	(_If_sv): Define helper for SFINAE constaints.
	(append(const _Tp&, size_type, size_type))
	(assign(const _Tp&, size_type, size_type))
	(insert(size_type, const _Tp&, size_type, size_type))
	(replace(size_type, size_type, const _Tp&, size_type, size_type)):
	Use _If_sv.
	* testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
	SFINAE constraints.
	* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
	Likewise.

From-SVN: r239532
2016-08-17 14:38:52 +01:00
Chung-Lin Tang
11c4c4ba47 omp-low.c (lower_oacc_reductions): Adjust variable lookup to use maybe_lookup_decl...
2016-08-17  Chung-Lin Tang  <cltang@codesourcery.com>

	* omp-low.c (lower_oacc_reductions): Adjust variable lookup to use
	maybe_lookup_decl, to handle nested acc loop directives.

	testsuite/
	* c-c++-common/goacc/reduction-6.c: New testcase.

From-SVN: r239530
2016-08-17 12:08:30 +00:00
Richard Biener
661d6efd62 re PR tree-optimization/76490 (when use -O2 -fcheck-founds compiler appears to hang and consumes all memory)
2016-08-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/76490
	* tree-vrp.c (update_value_range): Preserve overflow infinities
	when intersecting with ranges from get_range_info.
	(operand_less_p): Handle overflow infinities correctly.
	(value_range_constant_singleton): Use vrp_operand_equal_p
	to handle overflow max/min correctly.
	(vrp_valueize): Likewise.
	(union_ranges): Likewise.
	(intersect_ranges): Likewise.
	(vrp_visit_phi_node): Improve iteration limitation to only
	apply when we'll possibly re-visit the PHI via a changed argument
	on the backedge.

	* gfortran.fortran-torture/compile/pr76490.f90: New testcase.
	* gcc.dg/pr52904.c: XFAIL.

From-SVN: r239529
2016-08-17 11:51:51 +00:00
Thomas Preud'homme
03c9d8596f t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
2016-08-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
    (MULTILIB_REQUIRED): This by specifying multilib needing to be built
    rather than those that should not be built.

From-SVN: r239528
2016-08-17 11:15:29 +00:00
Martin Liska
abe95ef6bf mark_spam.py: Mark as spam all comments done by a creator
* mark_spam.py: Mark as spam all comments done by a creator.

From-SVN: r239527
2016-08-17 10:30:54 +00:00
Martin Liska
21da526107 Document branch_changer.py script
* branch_changer.py: Describe the script. Add sample usage
	of the script.

From-SVN: r239526
2016-08-17 10:30:37 +00:00
Stanislaw Halik
9375d7d423 016-08-17 Stanislaw Halik <sthalik@misaki.pl>
PR target/66488
        * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Define if __x86_64__.

From-SVN: r239525
2016-08-17 09:34:52 +00:00
Richard Biener
18d0861745 tree-ssa.c: Include tree-cfg.h and tree-dfa.h.
2016-08-17  Richard Biener  <rguenther@suse.de>

	* tree-ssa.c: Include tree-cfg.h and tree-dfa.h.
	(verify_vssa): New function verifying virtual SSA form.
	(verify_ssa): Call it.
	* tree-ssa-loop-manip.c (slpeel_update_phi_nodes_for_guard2):
	Do not apply loop-closed SSA handling to virtuals.
	* ssa-iterators.h (op_iter_init): Handle GIMPLE_TRANSACTION.
	* tree-into-ssa.c (prepare_use_sites_for): Skip virtual SSA names
	when rewriting their symbol.
	(prepare_def_site_for): Likewise.
	* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Clear virtual
	operands of moved stmts.

From-SVN: r239524
2016-08-17 08:18:47 +00:00
Richard Biener
622d8b6948 re PR tree-optimization/23855 (loop header should also be pulled out of the inner loop too)
2016-08-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/23855
	* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h.
	(tree_unswitch_outer_loop): Iterate find_loop_guard as long as we
	find guards to hoist.  Do not update SSA form but rewrite virtuals
	into loop closed SSA.
	(find_loop_guard): Adjust to skip already hoisted guards.  Do
	not mark virtuals for renaming or update SSA form.

	* gcc.dg/loop-unswitch-2.c: Adjust.

From-SVN: r239523
2016-08-17 08:11:32 +00:00
Martin Liska
892a653cc9 Do not use LONG_LONG_TYPE_SIZE in #if macro condition
* coverage.c (get_gcov_type): Replace GCOV_TYPE_SIZE with
	a LONG_LONG_TYPE_SIZE comparison.
	* gcov-io.h: Remove macro definitions.
	* tree-profile.c (gimple_gen_edge_profiler): Replace usage
	of GCOV_TYPE_ATOMIC_FETCH_ADD with a LONG_LONG_TYPE_SIZE
	comparison.

From-SVN: r239522
2016-08-17 06:55:35 +00:00
GCC Administrator
b0c67c7678 Daily bump.
From-SVN: r239518
2016-08-17 00:16:17 +00:00
Jakub Jelinek
af23e99cca re PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
PR tree-optimization/72817
	* gcc.dg/tree-ssa/pr72817.c (a): Change type from char to signed char.

From-SVN: r239514
2016-08-17 00:06:45 +02:00
Joseph Myers
feeb62681c Update soft-fp from glibc (PR libgcc/77265).
This patch updates soft-fp from glibc, bringing in the fix for PR
libgcc/77265, XFmode extension to TFmode wrongly turning an infinity
into a NaN.  A test for that bug is added.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

	PR libgcc/77265
gcc/testsuite:
	* gcc.dg/torture/float128-extend-inf.c: New test.

libgcc:
	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.

From-SVN: r239513
2016-08-16 22:30:56 +01:00
Jakub Jelinek
4687d82a93 i386.c (enum ix86_builtins): Reorder enumerators...
* config/i386/i386.c (enum ix86_builtins): Reorder enumerators, so
	that builtins not mentioned in bdesc_* arrays come first, then
	the ones mentioned in bdesc_* arrays in the order they appear in
	the arrays in between IX86_BUILTIN__BDESC_*_FIRST and
	IX86_BUILTIN__BDESC_*_LAST enumerator.
	(bdesc_mpx): Fix up a comment typo.
	(bdesc_multi_arg): Remove __builtin_ia32_vpcomne[bwdq] and
	__builtin_ia32_vpcomneu[bwdq] builtins.
	(BDESC_VERIFY, BDESC_VERIFYS): Define.
	(ix86_init_mmx_sse_builtins, ix86_init_mpx_builtins): Verify
	enum ix86_builtins ordering.
	(ix86_expand_builtin): Use enum ix86_builtins ordering assumption
	for direct bdesc_* array member access instead of searching all the
	arrays until an fcode match is found.

From-SVN: r239512
2016-08-16 21:27:41 +02:00
Uros Bizjak
3c5db734e0 i386.md (*ashl<mode>3_mask): Rewrite define_insn pattern as define_insn_and_split.
* config/i386/i386.md (*ashl<mode>3_mask): Rewrite define_insn
	pattern as define_insn_and_split.  Split insn before reload to
	ashl<mode>3_1.
	(*<shift_insn><mode>3_mask): Ditto.  Split insn before reload to
	<shift_insn><mode>3_1.
	(*<rotate_insn><mode>3_mask): Ditto.  Split insn before reload to
	<rotate_insn><mode>3_1.

From-SVN: r239511
2016-08-16 20:23:47 +02:00
David Malcolm
65e736c0ef Fix caret locations in format_type_warning (PR c/72857)
gcc/c-family/ChangeLog:
	PR c/72857
	* c-common.c (substring_loc::get_range): Rename to...
	(substring_loc::get_location): ...this, converting param from a
	source_range * to a location_t *.  Call
	get_source_location_for_substring rather than
	get_source_range_for_substring, and pass in m_caret_idx.
	* c-common.h (substring_loc::substring_loc): Add param "caret_idx".
	(substring_loc::get_range): Replace with...
	(substring_loc::get_location): ...this.
	(substring_loc::set_caret_index): New method.
	(substring_loc): Add field m_caret_idx.
	* c-format.c (format_warning_va): Update for above changes.
	Rename local "substring_loc" to "fmt_substring_loc" to avoid
	clashing with type name.
	(format_warning_at_char): Add caret_idx param to substring_loc ctor.
	(check_argument_type): Likewise.
	(format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
	Use a copy when emitting warnings, setting the caret index from TYPE.

gcc/ChangeLog:
	PR c/72857
	* input.c (get_source_range_for_substring): Rename to...
	(get_source_location_for_substring): ...this, adding param
	"caret_idx", and converting output param from source_range * to
	location_t *.
	(get_source_range_for_char): New function.
	(get_num_source_ranges_for_substring): Update comment to reflect
	above renaming.
	(assert_char_at_range): Update to use get_source_range_for_char
	rather than get_source_range_for_substring.
	(test_lexer_string_locations_concatenation_2): Likewise.
	* substring-locations.h (get_source_range_for_substring): Rename
	to...
	(get_source_location_for_substring): ...this, and adding param
	"caret_idx", and converting output param from source_range * to
	location_t *.

gcc/testsuite/ChangeLog:
	PR c/72857
	* gcc.dg/format/asm_fprintf-1.c: Restore column numbers
	for embedded NUL.
	* gcc.dg/format/c90-printf-1.c: Restore column numbers.
	* gcc.dg/format/diagnostic-ranges.c (test_hex): Update expected
	caret placement.
	(test_oct): Likewise.
	(test_multiple): Likewise.
	(test_field_width_specifier): Likewise.
	(test_field_width_specifier_2): New function.
	(test_field_precision_specifier): New function.
	(test_embedded_nul): Update expected caret placement.
	(test_non_contiguous_strings): Update line number.
	* gcc.dg/plugin/diagnostic-test-string-literals-1.c
	(__emit_string_literal_range): Add "caret_idx" param.
	(test_simple_string_literal): Add value for new param, updating
	expected output..
	(test_concatenated_string_literal): Likewise.
	(test_multiline_string_literal): Likewise.
	(test_hex): Likewise.
	(test_oct): Likewise.
	(test_multiple): Likewise.
	(test_ucn4): Likewise.
	(test_ucn8): Likewise.
	(test_u8): Likewise.
	(test_u): Likewise; update expected message, from "range" to
	"location".
	(test_U): Likewise.
	(test_L): Likewise.
	(test_macro): Add value for new param.
	* gcc.dg/plugin/diagnostic-test-string-literals-2.c
	(__emit_string_literal_range): Add "caret_idx" param.
	(test_stringified_token_1): Add value for new param.  Update
	expected message, from "range" to "location".
	(test_stringized_token_2): Likewise, adding param to macro.
	(test_stringified_token_3): Likewise.
	* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c
	(emit_warning): Convert param from source_range to location_t.
	(test_string_literals): Add caret_idx param, and use it when
	constructing a substring_loc.  Update error message, from
	"range" to "location".

From-SVN: r239510
2016-08-16 18:19:34 +00:00
David Malcolm
eb3a5bcc74 Move class temp_source_file from input.c to selftest.c/h
gcc/ChangeLog:
	* input.c (class selftest::temp_source_file): Move to
	selftest.h.
	(selftest::temp_source_file::temp_source_file): Move to
	selftest.c.
	(selftest::temp_source_file::~temp_source_file): Likewise.
	* selftest.c (selftest::temp_source_file::temp_source_file): Move
	here from input.c.
	(selftest::temp_source_file::~temp_source_file): Likewise.
	* selftest.h (class selftest::temp_source_file): Move here from
	input.c

From-SVN: r239509
2016-08-16 18:02:43 +00:00
Jakub Jelinek
7841800f7a re PR target/71910 (ICE on valid OpenMP code)
PR target/71910
	* tree-cfg.c (execute_fixup_cfg): Add node variable, use it.  Before inlining,
	add cgraph edge for the added __builtin_unreachable call.

	* g++.dg/gomp/pr71910.C: New test.

From-SVN: r239508
2016-08-16 18:50:47 +02:00