Commit Graph

154258 Commits

Author SHA1 Message Date
David Malcolm 05945a1b83 libcpp: add callback for comment-handling
gcc/testsuite/ChangeLog:
	* g++.dg/plugin/comment_plugin.c: New test plugin.
	* g++.dg/plugin/comments-1.C: New test file.
	* g++.dg/plugin/plugin.exp (plugin_test_list): Add the above.

libcpp/ChangeLog:
	* include/cpplib.h (struct cpp_callbacks): Add "comment"
	callback.
	* lex.c (_cpp_lex_direct): Call the comment callback if non-NULL.

From-SVN: r248901
2017-06-05 20:53:06 +00:00
Bernd Edlinger 9b972837bd changelog for r248894
From-SVN: r248895
2017-06-05 19:44:29 +00:00
Bernd Edlinger 676519f713 invoke.texi: Document the -fprofile-abs-path option.
2017-06-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * doc/invoke.texi: Document the -fprofile-abs-path option.
        * common.opt (fprofile-abs-path): New option.
        * gcov-io.h (gcov_write_filename): Declare.
        * gcov-io.c (gcov_write_filename): New function.
        * coverage.c (coverage_begin_function): Use gcov_write_filename.
        * profile.c (output_location): Likewise.

gcc/testsuite:
2017-06-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.misc-tests/gcov-1a.c: New test.

From-SVN: r248894
2017-06-05 19:27:30 +00:00
Jan Hubicka 7b95ed64c9 * shring-wrap.c: Revert accidental commit.
From-SVN: r248893
2017-06-05 19:14:49 +00:00
Volker Reichelt 2506e3b02a * doc/invoke.texi (-Wduplicated-branches): Add to warning list.
From-SVN: r248887
2017-06-05 18:05:37 +00:00
Jan Hubicka aea5e79a63 cfgexpand.c (expand_gimple_tailcall): Initialize profile of new edge.
* cfgexpand.c (expand_gimple_tailcall): Initialize profile of
	new edge.
	* ipa-inline.c (want_inline_self_recursive_call_p): Watch for missing
	profile in callgraph edge.
	* profile-count.h (apply_probability): If THIS is 0, then result is 0
	(apply_scale): Likewise.
	* tree-inline.c (copy_bb, copy_edges_for_bb, copy_cfg_body):
	Also scale profile when inlining function with zero profile.
	(initialize_cfun): Update exit block profile even when it is zero.
	* tree-ssa-threadupdate.c (clear_counts_path): Handle correctly case
	when profile is read.

From-SVN: r248885
2017-06-05 17:41:32 +00:00
Volker Reichelt 2f20e7db2c parser.c (cp_parser_base_specifier): Fix typos in error messages.
* parser.c (cp_parser_base_specifier): Fix typos in error messages.

From-SVN: r248884
2017-06-05 17:40:32 +00:00
Michael Meissner 1d135d9873 rs6000.c (toplevel): Include attribs.h.
[gcc]
2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (toplevel): Include attribs.h.
	(CLONE_*): New constants to define the processors we can generate
	code for with the target_clone attribute.
	(rs6000_clone_map): New array to identify which clone processors
	the current program is running on.
	(TARGET_COMPARE_VERSION_PRIORITY): Define to enable the
	target_clone attribute.
	(TARGET_GENERATE_VERSION_DISPATCHER_BODY): Likewise.
	(TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): Likewise.
	(TARGET_OPTION_FUNCTION_VERSIONS): Likewise.
	(cpu_expand_builtin): Add support for target_clone attribute.
	(rs6000_valid_attribute_p): Allow "default" attribute.
	(get_decl_name): New debug function to simplify printing the
	current function name in debugging statements.
	(rs6000_clone_priority): New functions to support the target_clone
	attribute, and be able to generate code to switch between ISA 2.05
	through ISA 3.0 (power6 through power9).
	(rs6000_compare_version_priority): Likewise.
	(rs6000_get_function_versions_dispatcher): Likewise.
	(make_resolver_func): Likewise.
	(add_condition_to_bb): Likewise.
	(dispatch_function_versions): Likewise.
	(rs6000_generate_version_dispatcher_body): Likewise.
	(rs6000_can_inline_p): Call get_decl_name for debugging usage.
	(fusion_gpr_load_p): Fix a spacing issue.
	* doc/extend.texi (Common Function Attributes): Document that the
	PowerPC supports the target_clone attribute.

[gcc/testsuite]
2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/clone1.c: New test.

From-SVN: r248883
2017-06-05 17:37:58 +00:00
Jonathan Wakely 94895bd98d PR libstdc++/80939 Remove unmeetable constexpr specifiers
PR libstdc++/80939
	* include/std/variant (__erased_ctor, __erased_assign, __erased_swap)
	(__erased_hash): Remove constexpr specifier and qualify calls to
	__ref_cast.
	(__erased_dtor): Remove constexpr specifier and use _Destroy.

From-SVN: r248881
2017-06-05 17:49:04 +01:00
Thomas Preud'homme 3c5a5b930d [ARM] Complete legend for ARM register allocation in arm.h
2017-06-05  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h: explain F symbol found in description of ARM
    register allocation in its legend.

From-SVN: r248880
2017-06-05 16:40:02 +00:00
Jan Hubicka e09f2fb0ef frame-header-opt.c: Include profile-count.h.
* config/mips/frame-header-opt.c: Include profile-count.h.
	* config/riscv/riscv.c: Include profile-count.h

From-SVN: r248879
2017-06-05 15:35:20 +00:00
Janus Weil 92bba237da re PR fortran/70601 ([OOP] ICE on procedure pointer component call)
2017-06-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/70601
	* trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
	function results.


2017-06-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/70601
	* gfortran.dg/proc_ptr_comp_50.f90: New test.

From-SVN: r248878
2017-06-05 16:43:01 +02:00
Nicolas Koenig 7b3ee9c97d re PR fortran/35339 (Improve translation of implied do loop in transfer)
2017-06-05  Nicolas Koenig  <koenigni@student.ethz.ch>

	PR fortran/35339
	* frontend-passes.c (traverse_io_block): New function.
	(simplify_io_impl_do): New function.
	(optimize_namespace): Invoke gfc_code_walker with
	simplify_io_impl_do.

2017-06-05  Nicolas Koenig  <koenigni@student.ethz.ch>

	PR fortran/35339
	* gfortran.dg/implied_do_io_1.f90: New Test.
	* gfortran.dg/implied_do_io_2.f90: New Test.

From-SVN: r248877
2017-06-05 12:35:11 +00:00
Renlin Li e4d1c5c438 [testsuite] Add large_long_double target selector to related tests in Wfloat-conversion.c
testsuite/
2017-06-05 Renlin Li <renlin.li@arm.com>

	* c-c++-common/Wfloat-conversion.c: Add large_long_double target
	selector to related line.

From-SVN: r248876
2017-06-05 10:40:37 +00:00
Jonathan Wakely 6c24177862 Optimize std::advance for single increments
* include/bits/stl_iterator_base_funcs.h
	(__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev
	cases where incrementing or decrementing a single step.

From-SVN: r248875
2017-06-05 11:34:13 +01:00
Jonathan Wakely d08606ce6c Add noexcept to shared_ptr owner comparisons (LWG 2873)
* include/bits/shared_ptr_base.h (__shared_ptr::owner_before)
	(__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept
	specifiers as per LWG 2873 and LWG 2942.
	* testsuite/20_util/owner_less/noexcept.cc: New.
	* testsuite/20_util/shared_ptr/observers/owner_before.cc: Test
	noexcept guarantees.
	* testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.

From-SVN: r248874
2017-06-05 10:33:19 +01:00
Jan Hubicka d91561cb51 cold_partition_label.c: Update template.
* gcc.dg/tree-prof/cold_partition_label.c: Update template.

	* tree-ssa-loop-im.c (execute_sm_if_changed): Add FLAG_BBS parameter;
	update profile.
	(sm_set_flag_if_changed): Add bbs field.
	(execute_sm_if_changed_flag_set): Pass BBS.
	(execute_sm): Update.

From-SVN: r248872
2017-06-05 09:18:57 +00:00
Kyrylo Tkachov d83950138b [AArch64] Add combine pattern for storing lane zero of a vector
* config/aarch64/aarch64-simd.md (aarch64_store_lane0<mode>):
	New pattern.

	* gcc.target/aarch64/store_lane0_str_1.c: New test.

From-SVN: r248871
2017-06-05 08:52:02 +00:00
Kyrylo Tkachov 279dc4b464 [AArch64] Use SUBS for parallel subtraction and comparison with immediate
* config/aarch64/aarch64.md (sub<mode>3_compare1_imm): New define_insn.
	(peephole2): New peephole2 to emit the above.
	* config/aarch64/predicates.md (aarch64_sub_immediate): New predicate.

	* gcc.target/aarch64/subs_compare_2.c: New test.

From-SVN: r248870
2017-06-05 08:49:59 +00:00
Kyrylo Tkachov e49d8b68a2 [AArch64] Peephole for SUBS
* config/aarch64/aarch64.c (define_peephole2 above
	*sub_<shift>_<mode>): New peephole.

	* gcc.target/aarch64/subs_compare_1.c: New test.

From-SVN: r248869
2017-06-05 08:46:28 +00:00
Chenghua Xu 4456f65d43 div-9.c: Delete duplicate test.
2017-06-05  Chenghua Xu  <paul.hua.gm@gmail.com>

	* gcc.target/mips/div-9.c: Delete duplicate test.
	* gcc.target/mips/div-10.c: Ditto.
	* gcc.target/mips/div-11.c: Ditto.
	* gcc.target/mips/div-12.c: Ditto.

From-SVN: r248868
2017-06-05 02:13:30 +00:00
GCC Administrator 36575b70f5 Daily bump.
From-SVN: r248867
2017-06-05 00:16:31 +00:00
Jan Hubicka 3995f3a220 i386.c (make_resolver_func): Update.
2017-05-23  Jan Hubicka  <hubicka@ucw.cz>

	* config/i386/i386.c (make_resolver_func): Update.
	* Makefile.in: Add profile-count.h and profile-count.o
	* auto-profile.c (afdo_indirect_call): Update to new API.
	(afdo_set_bb_count): Update.
	(afdo_propagate_edge): Update.
	(afdo_propagate_circuit): Update.
	(afdo_calculate_branch_prob): Update.
	(afdo_annotate_cfg): Update.
	* basic-block.h: Include profile-count.h
	(struct edge_def): Turn count to profile_count.
	(struct basic_block_def): Likewie.
	(REG_BR_PROB_BASE): Move to profile-count.h
	(RDIV): Move to profile-count.h
	* bb-reorder.c (max_entry_count): Turn to profile_count.
	(find_traces): Update.
	(rotate_loop):Update.
	(connect_traces):Update.
	(sanitize_hot_paths):Update.
	* bt-load.c (migrate_btr_defs): Update.
	* cfg.c (RDIV): Remove.
	(init_flow): Use alloc_block.
	(alloc_block): Uninitialize count.
	(unchecked_make_edge): Uninitialize count.
	(check_bb_profile): Update.
	(dump_edge_info): Update.
	(dump_bb_info): Update.
	(update_bb_profile_for_threading): Update.
	(scale_bbs_frequencies_int): Update.
	(scale_bbs_frequencies_gcov_type): Update.
	(scale_bbs_frequencies_profile_count): New.
	* cfg.h (update_bb_profile_for_threading): Update.
	(scale_bbs_frequencies_profile_count): Declare.
	* cfgbuild.c (compute_outgoing_frequencies): Update.
	(find_many_sub_basic_blocks): Update.
	* cfgcleanup.c (try_forward_edges): Update.
	(try_crossjump_to_edge): Update.
	* cfgexpand.c (expand_gimple_tailcall): Update.
	(construct_exit_block): Update.
	* cfghooks.c (verify_flow_info): Update.
	(dump_bb_for_graph): Update.
	(split_edge): Update.
	(make_forwarder_block): Update.
	(duplicate_block): Update.
	(account_profile_record): Update.
	* cfgloop.c (find_subloop_latch_edge_by_profile): Update.
	(get_estimated_loop_iterations): Update.
	* cfgloopanal.c (expected_loop_iterations_unbounded): Update.
	(single_likely_exit): Update.
	* cfgloopmanip.c (scale_loop_profile): Update.
	(loopify): Update.
	(set_zero_probability): Update.
	(lv_adjust_loop_entry_edge): Update.
	* cfgrtl.c (force_nonfallthru_and_redirect): Update.
	(purge_dead_edges): Update.
	(rtl_account_profile_record): Update.
	* cgraph.c (cgraph_node::create): Uninitialize count.
	(symbol_table::create_edge): Uninitialize count.
	(cgraph_update_edges_for_call_stmt_node): Update.
	(cgraph_edge::dump_edge_flags): Update.
	(cgraph_node::dump): Update.
	(cgraph_edge::maybe_hot_p): Update.
	* cgraph.h: Include profile-count.h
	(create_clone), create_edge, create_indirect_edge): Update.
	(cgraph_node): Turn count to profile_count.
	(cgraph_edge0: Likewise.
	(make_speculative, clone): Update.
	(create_edge): Update.
	(init_lowered_empty_function): Update.
	* cgraphclones.c (cgraph_edge::clone): Update.
	(duplicate_thunk_for_node): Update.
	(cgraph_node::create_clone): Update.
	* cgraphunit.c (cgraph_node::analyze): Update.
	(cgraph_node::expand_thunk): Update.
	* final.c (dump_basic_block_info): Update.
	* gimple-streamer-in.c (input_bb): Update.
	* gimple-streamer-out.c (output_bb): Update.
	* graphite.c (print_global_statistics): Update.
	(print_graphite_scop_statistics): Update.
	* hsa-brig.c: Include basic-block.h.
	* hsa-dump.c: Include basic-block.h.
	* hsa-gen.c (T sum_slice): Update.
	(convert_switch_statements):Update.
	* hsa-regalloc.c: Include basic-block.h.
	* ipa-chkp.c (chkp_produce_thunks): Update.
	* ipa-cp.c (struct caller_statistics): Update.
	(init_caller_stats): Update.
	(gather_caller_stats): Update.
	(ipcp_cloning_candidate_p): Update.
	(good_cloning_opportunity_p): Update.
	(get_info_about_necessary_edges): Update.
	(dump_profile_updates): Update.
	(update_profiling_info): Update.
	(update_specialized_profile): Update.
	(perhaps_add_new_callers): Update.
	(decide_about_value): Update.
	(ipa_cp_c_finalize): Update.
	* ipa-devirt.c (struct odr_type_warn_count): Update.
	(struct decl_warn_count): Update.
	(struct final_warning_record): Update.
	(possible_polymorphic_call_targets): Update.
	(ipa_devirt): Update.
	* ipa-fnsummary.c (redirect_to_unreachable): Update.
	* ipa-icf.c (sem_function::merge): Update.
	* ipa-inline-analysis.c (do_estimate_edge_time): Update.
	* ipa-inline.c (compute_uninlined_call_time): Update.
	(compute_inlined_call_time): Update.
	(want_inline_small_function_p): Update.
	(want_inline_self_recursive_call_p): Update.
	(edge_badness): Update.
	(lookup_recursive_calls): Update.
	(recursive_inlining): Update.
	(inline_small_functions): Update.
	(dump_overall_stats): Update.
	(dump_inline_stats): Update.
	* ipa-profile.c (ipa_profile_generate_summary): Update.
	(ipa_propagate_frequency): Update.
	(ipa_profile): Update.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
	* ipa-utils.c (ipa_merge_profiles): Update.
	* loop-doloop.c (doloop_modify): Update.
	* loop-unroll.c (report_unroll): Update.
	(unroll_loop_runtime_iterations): Update.
	* lto-cgraph.c (lto_output_edge): Update.
	(lto_output_node): Update.
	(input_node): Update.
	(input_edge): Update.
	(merge_profile_summaries): Update.
	* lto-streamer-in.c (input_cfg): Update.
	* lto-streamer-out.c (output_cfg): Update.
	* mcf.c (create_fixup_graph): Update.
	(adjust_cfg_counts): Update.
	(sum_edge_counts): Update.
	* modulo-sched.c (sms_schedule): Update.
	* postreload-gcse.c (eliminate_partially_redundant_load): Update.
	* predict.c (maybe_hot_count_p): Update.
	(probably_never_executed): Update.
	(dump_prediction): Update.
	(combine_predictions_for_bb): Update.
	(propagate_freq): Update.
	(handle_missing_profiles): Update.
	(counts_to_freqs): Update.
	(rebuild_frequencies): Update.
	(force_edge_cold): Update.
	* predict.h: Include profile-count.h
	(maybe_hot_count_p, counts_to_freqs): UPdate.
	* print-rtl-function.c: Do not include cfg.h
	* print-rtl.c: Include basic-block.h
	* profile-count.c: New file.
	* profile-count.h: New file.
	* profile.c (is_edge_inconsistent): Update.
	(correct_negative_edge_counts): Update.
	(is_inconsistent): Update.
	(set_bb_counts): Update.
	(read_profile_edge_counts): Update.
	(compute_frequency_overlap): Update.
	(compute_branch_probabilities): Update; Initialize and deinitialize
	gcov_count tables.
	(branch_prob): Update.
	* profile.h (bb_gcov_counts, edge_gcov_counts): New.
	(edge_gcov_count): New.
	(bb_gcov_count): New.
	* shrink-wrap.c (try_shrink_wrapping): Update.
	* tracer.c (better_p): Update.
	* trans-mem.c (expand_transaction): Update.
	(ipa_tm_insert_irr_call): Update.
	(ipa_tm_insert_gettmclone_call): Update.
	* tree-call-cdce.c: Update.
	* tree-cfg.c (gimple_duplicate_sese_region): Update.
	(gimple_duplicate_sese_tail): Update.
	(gimple_account_profile_record): Update.
	(execute_fixup_cfg): Update.
	* tree-inline.c (copy_bb): Update.
	(copy_edges_for_bb): Update.
	(initialize_cfun): Update.
	(freqs_to_counts): Update.
	(copy_cfg_body): Update.
	(expand_call_inline): Update.
	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
	* tree-ssa-loop-ivcanon.c (unloop_loops): Update.
	(try_unroll_loop_completely): Update.
	(try_peel_loop): Update.
	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Update.
	* tree-ssa-loop-split.c (connect_loops): Update.
	* tree-ssa-loop-unswitch.c (hoist_guard): Update.
	* tree-ssa-reassoc.c (branch_fixup): Update.
	* tree-ssa-tail-merge.c (replace_block_by): Update.
	* tree-ssa-threadupdate.c (create_block_for_threading): Update.
	(compute_path_counts): Update.
	(update_profile): Update.
	(recompute_probabilities): Update.
	(update_joiner_offpath_counts): Update.
	(estimated_freqs_path): Update.
	(freqs_to_counts_path): Update.
	(clear_counts_path): Update.
	(ssa_fix_duplicate_block_edges): Update.
	(duplicate_thread_path): Update.
	* tree-switch-conversion.c (case_bit_test_cmp): Update.
	(struct switch_conv_info): Update.
	* tree-tailcall.c (decrease_profile): Update.
	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
	* value-prof.c (check_counter): Update.
	(gimple_divmod_fixed_value): Update.
	(gimple_mod_pow2): Update.
	(gimple_mod_subtract): Update.
	(gimple_ic_transform): Update.
	(gimple_stringop_fixed_value): Update.
	* value-prof.h (gimple_ic): Update.

	* gcc.dg/tree-ssa/attr-hotcold-2.c: Update template.

From-SVN: r248863
2017-06-04 18:55:08 +00:00
Dominique d'Humieres a7e8f816bd 2017-06-04 Dominique d'Humieres <dominiq@lps.ens.fr>
Add missing file in the previous commit.

From-SVN: r248862
2017-06-04 20:47:09 +02:00
Dominique d'Humieres 82c027e160 fortran-modules.exp (igrep): New procedure, case insensitive vesrion of the dejagnu grep.
2017-06-04  Dominique d'Humieres  <dominiq@lps.ens.fr>

	* lib/fortran-modules.exp (igrep): New procedure, case insensitive
	vesrion of the dejagnu grep.
	(list-module-names): Use it and adjust the regular expressions for
	modules and submodules.
	* gfortran.dg/prof/prof.exp: Cleanup modules.
	* gfortran.dg/allocate_class_4.f90: Remove cleanup-(sub)?modules
	directives.
	* gfortran.dg/altreturn_8.f90: Likewise.
	* gfortran.dg/associate_12.f90: Likewise.
	* gfortran.dg/c_f_pointer_shape_test.f90: Likewise.
	* gfortran.dg/charlen_15.f90: Likewise.
	* gfortran.dg/class_4a.f03: Likewise.
	* gfortran.dg/class_54.f90: Likewise.
	* gfortran.dg/class_dummy_4.f03: Likewise.
	* gfortran.dg/class_dummy_5.f90: Likewise.
	* gfortran.dg/constructor_9.f90: Likewise.
	* gfortran.dg/dec_structure_15.f90: Likewise.
	* gfortran.dg/do_check_8.f90: Likewise.
	* gfortran.dg/dtio_26.f03: Likewise.
	* gfortran.dg/dynamic_dispatch_12.f90: Likewise.
	* gfortran.dg/equiv_9.f90: Likewise.
	* gfortran.dg/extends_15.f90: Likewise.
	* gfortran.dg/finalize_22.f90: Likewise.
	* gfortran.dg/finalize_23.f90: Likewise.
	* gfortran.dg/generic_26.f90: Likewise.
	* gfortran.dg/generic_27.f90: Likewise.
	* gfortran.dg/namelist_76.f90: Likewise.
	* gfortran.dg/pointer_init_8.f90: Likewise.
	* gfortran.dg/pr61318.f90: Likewise.
	* gfortran.dg/pr77260_1.f90: Likewise.
	* gfortran.dg/pr77260_2.f90: Likewise.
	* gfortran.dg/pr77420_3.f90: Likewise.
	* gfortran.dg/proc_ptr_39.f90: Likewise.
	* gfortran.dg/proc_ptr_41.f90: Likewise.
	* gfortran.dg/proc_ptr_42.f90: Likewise.
	* gfortran.dg/proc_ptr_comp_43.f90: Likewise.
	* gfortran.dg/submodule_1.f08: Likewise.
	* gfortran.dg/submodule_10.f08: Likewise.
	* gfortran.dg/submodule_14.f08: Likewise.
	* gfortran.dg/submodule_15.f08: Likewise.
	* gfortran.dg/submodule_2.f08: Likewise.
	* gfortran.dg/submodule_5.f08: Likewise.
	* gfortran.dg/submodule_6.f08: Likewise.
	* gfortran.dg/submodule_7.f08: Likewise.
	* gfortran.dg/submodule_8.f08: Likewise.
	* gfortran.dg/submodule_9.f08: Likewise.
	* gfortran.dg/transfer_class_2.f90: Likewise.
	* gfortran.dg/typebound_assignment_7.f90: Likewise.
	* gfortran.dg/typebound_call_24.f03: Likewise.
	* gfortran.dg/typebound_call_25.f90: Likewise.
	* gfortran.dg/typebound_deferred_1.f90: Likewise.
	* gfortran.dg/typebound_generic_12.f03: Likewise.
	* gfortran.dg/typebound_generic_13.f03: Likewise.
	* gfortran.dg/typebound_generic_14.f03: Likewise.
	* gfortran.dg/typebound_generic_15.f90: Likewise.
	* gfortran.dg/typebound_operator_16.f03: Likewise.
	* gfortran.dg/typebound_operator_18.f90: Likewise.
	* gfortran.dg/typebound_operator_20.f90: Likewise.
	* gfortran.dg/typebound_override_3.f90: Likewise.
	* gfortran.dg/typebound_override_4.f90: Likewise.
	* gfortran.dg/typebound_override_5.f90: Likewise.
	* gfortran.dg/typebound_override_6.f90: Likewise.
	* gfortran.dg/typebound_override_7.f90: Likewise.
	* gfortran.dg/typebound_proc_28.f03: Likewise.
	* gfortran.dg/typebound_proc_29.f90: Likewise.
	* gfortran.dg/typebound_proc_30.f90: Likewise.
	* gfortran.dg/typebound_proc_31.f90: Likewise.
	* gfortran.dg/typebound_proc_32.f90: Likewise.
	* gfortran.dg/typebound_proc_33.f90: Likewise.
	* gfortran.dg/unlimited_polymorphic_16.f90: Likewise.
	* gfortran.dg/unlimited_polymorphic_19.f90: Likewise.
	* gfortran.dg/unlimited_polymorphic_24.f03: Likewise.
	* gfortran.dg/use_only_3.f90: Likewise.
	* gfortran.dg/use_without_only_1.f90: Likewise.
	* gfortran.dg/warn_unused_function.f90: Likewise.
	* gfortran.dg/warn_unused_function_2.f90: Likewise.
	* gfortran.dg/ieee/ieee_8.f90: Likewise.

From-SVN: r248861
2017-06-04 20:44:45 +02:00
Marek Polacek 3de4ac6d80 re PR c/80919 (ICE: Segmentation fault with -Wall when printing address of size 0 array)
PR c/80919
	* c-format.c (matching_type_p): Return false if any of the types
	requires structural equality.

	* gcc.dg/format/pr80919.c: New test.

From-SVN: r248860
2017-06-04 17:27:22 +00:00
GCC Administrator 1bfb5860cf Daily bump.
From-SVN: r248859
2017-06-04 00:16:20 +00:00
Andreas Schwab d9850c48a9 baseline_symbols.txt: Update.
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r248854
2017-06-03 09:56:43 +00:00
Eric Botcazou 76052545d2 configure.ac (*-*-linux-android*): Set target_makefile_frag.
* configure.ac (*-*-linux-android*): Set target_makefile_frag.
	* configure: Regenerate.
config/
	* mt-android: New file.
libstdc++-v3/
	* src/filesystem/dir.cc (fs::_Dir::advance): Use std::exchange.

From-SVN: r248853
2017-06-03 08:23:22 +00:00
Martin Sebor 2474f48f73 PR c/80892 - -Wfloat-conversion now warns about non-floats
gcc/c-family/ChangeLog:

	PR c/80892
	* c-warn.c (conversion_warning): Use -Wconversion for integer
	conversion and -Wfloat-conversion for floating one.

gcc/testsuite/ChangeLog:

	PR c/80892
	* c-c++-common/Wfloat-conversion-2.c: New test.

From-SVN: r248852
2017-06-02 20:49:30 -06:00
GCC Administrator eb64690cd5 Daily bump.
From-SVN: r248851
2017-06-03 00:16:17 +00:00
Paolo Carlini bd280745ee re PR c++/68754 (Explicitly defaulted constexpr assignment operator fails to compile)
2017-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68754
	* g++.dg/cpp1y/constexpr-68754.C: New.

From-SVN: r248847
2017-06-02 23:27:22 +00:00
Carl Love 3fd44c8a79 rs6000-c: Add support for built-in functions vector double vec_doublee (vector signed int)...
gcc/ChangeLog:

2017-06-02  Carl Love  <cel@us.ibm.com>

   * config/rs6000/rs6000-c: Add support for built-in functions
   vector double vec_doublee (vector signed int);
   vector double vec_doublee (vector unsigned int);
   vector double vec_doublee (vector float);
   vector double vec_doubleh (vector signed int);
   vector double vec_doubleh (vector unsigned int);
   vector double vec_doubleh (vector float);
   vector double vec_doublel (vector signed int);
   vector double vec_doublel (vector unsigned int);
   vector double vec_doublel (vector float);
   vector double vec_doubleo (vector signed int);
   vector double vec_doubleo (vector unsigned int);
   vector double vec_doubleo (vector float);.
   * config/rs6000/rs6000-builtin.def: Add definitions for DOUBLEE,
   DOUBLEO, DOUBLEH, DOUBLEL, UNS_DOUBLEO, UNS_DOUBLEE, UNS_DOUBLEH,
   UNS_DOUBLEL.
   * config/rs6000/altivec.md: Add code generator for doublee<mode>2,
   unsdoubleev4si2, doubleo<mode>2, unsdoubleov4si2, doubleh<mode>2,
   unsdoublehv4si2, doublel<mode>2, unsdoublelv4si2, add mode attribute
   VS_sxwsp.
   * config/rs6000/altivec.h: Add define for vec_doublee, vec_doubleo,
   vec_doublel, vec_doubleh.
   * doc/extend.texi: Update the built-in documentation file for the
   new built-in functions.

2017-06-02  Carl Love  <cel@us.ibm.com>

gcc/testsuite/ChangeLog:

   * gcc.target/powerpc/builtins-3-runnable.c: New file of runnable tests
   for the new built-ins.

From-SVN: r248846
2017-06-02 20:11:40 +00:00
Jonathan Wakely 4c19e432d6 PR libstdc++/80624 satisfy invariant for char_traits<char16_t>::eof()
PR libstdc++/80624
	* doc/xml/manual/status_cxx2011.xml: Document to_int_type behaviour.
	* include/bits/char_traits.h (char_traits<char16_t>::to_int_type):
	Transform eof value to U+FFFD.
	* testsuite/21_strings/char_traits/requirements/char16_t/eof.cc: New.
	* testsuite/27_io/basic_streambuf/sgetc/char16_t/80624.cc: New.
	* testsuite/27_io/basic_streambuf/sputc/char16_t/80624.cc: New.

From-SVN: r248843
2017-06-02 19:35:37 +01:00
David Malcolm 0cbae4a7a2 Fix segfault in free_growth_caches (PR jit/80954)
gcc/ChangeLog:
	PR jit/80954
	* ipa-inline-analysis.c (free_growth_caches): Set
	edge_removal_hook_holder to NULL after removing it.

From-SVN: r248841
2017-06-02 17:07:37 +00:00
Olivier Hainque 38a75ccc89 Add ChangeLog entry for revision 248838
From-SVN: r248839
2017-06-02 16:46:44 +00:00
Olivier Hainque ee834d3b93 vxlib.c (__gthread_once): Add missing value to nested return statement.
2017-06-02  Olivier Hainque  <hainque@adacore.com>

	* config/vxlib.c (__gthread_once): Add missing value to
	nested return statement.

From-SVN: r248838
2017-06-02 16:24:28 +00:00
Olivier Hainque f876304201 vx_crtbegin_auto.c: New file.
2017-06-02  Olivier Hainque  <hainque@adacore.com>

	* vx_crtbegin_auto.c: New file.
	* vx_crtbegin.c: New file.
	* vx_crtbegin.inc: New file.
	* vx_crtend.c: New file.

From-SVN: r248837
2017-06-02 16:02:24 +00:00
Sudakshina Das ffa8a92137 [PATCH][AArch64] Allow CMP+SHIFT when comparing with zero
gcc/

	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for
	comparision with zero.

gcc/testsuite/

	* gcc.target/aarch64/cmp_shifted_reg_1.c: New.

From-SVN: r248836
2017-06-02 15:32:41 +00:00
Kyrylo Tkachov b160939bf3 [AArch64] Add HF vector modes to lane-to-lane INS pattern
* config/aarch64/aarch64-simd.md (*aarch64_simd_vec_copy_lane<mode>):
        Use VALL_F16 iterator rather than VALL.

        * gcc.target/aarch64/hfmode_ins_1.c: New test.

From-SVN: r248835
2017-06-02 15:03:54 +00:00
Will Schmidt d65d1bd970 rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vec_min and vec_max builtins.
[gcc]

2017-06-02  Will Schmidt  <will_schmidt@vnet.ibm.com>
	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
	for early expansion of vec_min and vec_max builtins.
	(builtin_function_type): Add min/max unsigned variants to those
	identified as having unsigned arguments.

[gcc/testsuite]

2017-06-02  Will Schmidt  <will_schmidt@vnet.ibm.com>

	*  testsuite/gcc.target/powerpc/fold-vec-minmax-char.c: New.
	*  testsuite/gcc.target/powerpc/fold-vec-minmax-floatdouble.c: New.
	*  testsuite/gcc.target/powerpc/fold-vec-minmax-int.c: New.
	*  testsuite/gcc.target/powerpc/fold-vec-minmax-longlong.c: New.
	*  testsuite/gcc.target/powerpc/fold-vec-minmax-short.c: New.

From-SVN: r248834
2017-06-02 15:02:25 +00:00
Olivier Hainque a9945ae286 vx-common.h (DWARF_UNWIND_INFO): Switch #define to 1.
2017-06-02  Olivier Hainque  <hainque@adacore.com>

	* config/vx-common.h (DWARF_UNWIND_INFO): Switch #define to 1.

From-SVN: r248833
2017-06-02 15:00:43 +00:00
Kyrylo Tkachov 17f47f8621 [AArch64] Emit tighter strong atomic compare-exchange loop when comparing against zero
* config/aarch64/aarch64.c (aarch64_split_compare_and_swap):
	Emit CBNZ inside loop when doing a strong exchange and comparing
	against zero.  Generate the CC flags after the loop.

	* gcc.target/aarch64/atomic_cmp_exchange_zero_strong_1.c: New test.

From-SVN: r248832
2017-06-02 14:41:52 +00:00
David Edelsohn e3bd1c6873 dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New.
* dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New.
        (dl_section_ref): New.
        (dwarf2out_finish): Copy debug_line_section_label to dl_section_ref.
        On AIX, append an expression to subtract the size of the
        section length to dl_section_ref.

From-SVN: r248831
2017-06-02 10:27:15 -04:00
Will Schmidt ab82e126e7 rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector absolute builtins.
[gcc]

2017-05-31  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
	for early expansion of vector absolute builtins.

[gcc/testsuite]

2017-05-31  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/fold-vec-abs-char.c: New.
	* gcc.target/powerpc/fold-vec-abs-floatdouble.c: New.
	* gcc.target/powerpc/fold-vec-abs-int.c: New.
	* gcc.target/powerpc/fold-vec-abs-longlong.c: New.
	* gcc.target/powerpc/fold-vec-abs-short.c: New.
	* gcc.target/powerpc/fold-vec-abs-char-fwrapv.c: New.
	* gcc.target/powerpc/fold-vec-abs-int-fwrapv.c: New.
	* gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.c: New.
	* gcc.target/powerpc/fold-vec-abs-short-fwrapv.c: New.

From-SVN: r248830
2017-06-02 14:21:55 +00:00
Nathan Sidwell fb3a2657b2 Remove lang_type_ptrmem.
Changlogs:
	cp/
	Remove lang_type_ptrmem.
	* cp-tree.h (lang_type_header): Remove is_lang_type_class. Move
	into ...
	(lang_type_class): ... this.  Reorder bitfields.  Rename to ...
	(lang_type): ... this.  Delete old definition.
	(lang_type_ptrmem): Delete.
	(LANG_TYPE_CLASS_CHECK): Simply get TYPE_LANG_SPECIFIC.  Adjust
	uses.
	(LANG_TYPE_PTRMEM_CHECK): Delete.
	(TYPE_GET_PTRMEMFUNC_TYPE, TYPE_SET_PTRMEMFUNC_TYPE): Delete.
	(TYPE_PTRMEMFUNC_TYPE): New.  Use TYPE_LANG_SLOT_1.
	* decl.c (build_ptrmemfunc_type): Adjust.
	* lex.c (copy_lang_type): Remove lang_type_ptrmem handling.
	(maybe_add_lang_type_raw): Don't set u.c.h.is_lang_type_class.

	objcp/
	* objcp-decl.h (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Use lang_type.
	(ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use it.  Don't set
	u.c.h.is_lang_type_class.

From-SVN: r248827
2017-06-02 13:27:45 +00:00
Nathan Sidwell 030cfa22cb Remove lang_type_ptrmem.
cp/
	Remove lang_type_ptrmem.
	* cp-tree.h (lang_type_header): Remove is_lang_type_class. Move
	into ...
	(lang_type_class): ... this.  Reorder bitfields.  Rename to ...
	(lang_type): ... this.  Delete old definition.
	(lang_type_ptrmem): Delete.
	(LANG_TYPE_CLASS_CHECK): Simply get TYPE_LANG_SPECIFIC.  Adjust
	uses.
	(LANG_TYPE_PTRMEM_CHECK): Delete.
	(TYPE_GET_PTRMEMFUNC_TYPE, TYPE_SET_PTRMEMFUNC_TYPE): Delete.
	(TYPE_PTRMEMFUNC_TYPE): New.  Use TYPE_LANG_SLOT_1.
	* decl.c (build_ptrmemfunc_type): Adjust.
	* lex.c (copy_lang_type): Remove lang_type_ptrmem handling.
	(maybe_add_lang_type_raw): Don't set u.c.h.is_lang_type_class.

	objcp/
	* objcp-decl.h (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Use lang_type.
	(ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use it.  Don't set
	u.c.h.is_lang_type_class.

From-SVN: r248826
2017-06-02 13:23:08 +00:00
Richard Biener 9186a9d353 tree-vect-slp.c (vect_detect_hybrid_slp_2): Match up what we consider a relevant use stmt with vect_detect_hybrid_slp_stmts.
2017-06-02  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_detect_hybrid_slp_2): Match up
	what we consider a relevant use stmt with vect_detect_hybrid_slp_stmts.

From-SVN: r248825
2017-06-02 13:11:11 +00:00
Richard Biener bd53b2574d re PR tree-optimization/80948 (test case gcc.dg/torture/pr68017.c fails with ICE starting with r248771)
2017-06-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80948
	* tree-tailcall.c (find_tail_calls): Track stmts to move in
	stmt order as well.

From-SVN: r248824
2017-06-02 12:34:32 +00:00
Jonathan Wakely ef3985dbd1 Remove libsupc++ makefile targets setting -std=gnu++11 or -std=gnu++14
* libsupc++/Makefile.am: Remove custom targets for files that need to
	be compiled as C++11 or C++14.
	* libsupc++/Makefile.in: Regenerate.
	* libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation
	warnings.
	* libsupc++/del_opvs.cc: Likewise.

From-SVN: r248823
2017-06-02 12:49:04 +01:00