Commit graph

153994 commits

Author SHA1 Message Date
Martin Liska
464d01188e Introduce symtab_node::dump_{asm_,}name functions.
2017-05-23  Martin Liska  <mliska@suse.cz>

	* cgraph.c (cgraph_node::get_create): Use symtab_node::dump_{asm_,}name
	functions.
	(cgraph_edge::make_speculative): Likewise.
	(cgraph_edge::resolve_speculation): Likewise.
	(cgraph_edge::redirect_call_stmt_to_callee): Likewise.
	(cgraph_node::dump): Likewise.
	* cgraph.h: Likewise.
	* cgraphunit.c (analyze_functions): Likewise.
	(symbol_table::compile): Likewise.
	* ipa-cp.c (print_all_lattices): Likewise.
	(determine_versionability): Likewise.
	(initialize_node_lattices): Likewise.
	(ipcp_verify_propagated_values): Likewise.
	(estimate_local_effects): Likewise.
	(update_profiling_info): Likewise.
	(create_specialized_node): Likewise.
	(perhaps_add_new_callers): Likewise.
	(decide_about_value): Likewise.
	(decide_whether_version_node): Likewise.
	(identify_dead_nodes): Likewise.
	(ipcp_store_bits_results): Likewise.
	* ipa-devirt.c (dump_targets): Likewise.
	(ipa_devirt): Likewise.
	* ipa-icf.c (sem_item::dump): Likewise.
	(sem_function::equals): Likewise.
	(sem_variable::equals): Likewise.
	(sem_item_optimizer::read_section): Likewise.
	(sem_item_optimizer::execute): Likewise.
	(congruence_class::dump): Likewise.
	* ipa-inline-analysis.c (dump_ipa_call_summary): Likewise.
	(dump_inline_summary): Likewise.
	(estimate_node_size_and_time): Likewise.
	(inline_analyze_function): Likewise.
	* ipa-inline-transform.c (inline_call): Likewise.
	* ipa-inline.c (report_inline_failed_reason): Likewise.
	(want_early_inline_function_p): Likewise.
	(edge_badness): Likewise.
	(update_edge_key): Likewise.
	(inline_small_functions): Likewise.
	* ipa-profile.c (ipa_profile): Likewise.
	* ipa-prop.c (ipa_print_node_jump_functions): Likewise.
	(ipa_make_edge_direct_to_target): Likewise.
	(remove_described_reference): Likewise.
	(ipa_impossible_devirt_target): Likewise.
	(propagate_controlled_uses): Likewise.
	(ipa_print_node_params): Likewise.
	(ipcp_transform_function): Likewise.
	* ipa-pure-const.c (pure_const_read_summary): Likewise.
	(propagate_pure_const): Likewise.
	* ipa-reference.c (generate_summary): Likewise.
	(read_write_all_from_decl): Likewise.
	(propagate): Likewise.
	(ipa_reference_read_optimization_summary): Likewise.
	* ipa-utils.c (ipa_merge_profiles): Likewise.
	* ipa.c (walk_polymorphic_call_targets): Likewise.
	(symbol_table::remove_unreachable_nodes): Likewise.
	(ipa_single_use): Likewise.
	* passes.c (execute_todo): Likewise.
	* predict.c (drop_profile): Likewise.
	* symtab.c (symtab_node::get_dump_name): New function.
	(symtab_node::dump_name): Likewise.
	(symtab_node::dump_asm_name): Likewise.
	(symtab_node::dump_references): Likewise.
	(symtab_node::dump_referring): Likewise.
	(symtab_node::dump_base): Likewise.
	(symtab_node::debug_symtab): Likewise.
	* tree-sra.c (convert_callers_for_node): Likewise.
	* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
	* value-prof.c (init_node_map): Likewise.
2017-05-23  Martin Liska  <mliska@suse.cz>

	* lto-symtab.c (lto_cgraph_replace_node): Use
	symtab_node::dump_{asm_,}name functions.
	* lto.c (read_cgraph_and_symbols): Likewise.
	(do_whole_program_analysis): Likewise.

From-SVN: r248369
2017-05-23 14:39:11 +00:00
Martin Liska
6c52831d98 Move symtab_node::dump_table to symbol_table::dump
2017-05-23  Martin Liska  <mliska@suse.cz>

	* cgraph.h: Move symtab_node::dump_table to symbol_table::dump
	and symtab_node::debug_symtab to symbol_table::debug.
	* cgraphunit.c (analyze_functions): Use the renamed function.
	(symbol_table::compile): Likewise.
	* ipa-cp.c (ipcp_verify_propagated_values): Likewise.
	* ipa-icf.c (sem_item_optimizer::execute): Likewise.
	* passes.c (execute_todo): Likewise.
	* symtab.c (symbol_table::dump): New function.
	* tree-ssa-structalias.c (ipa_pta_execute): Use the renamed function.
2017-05-23  Martin Liska  <mliska@suse.cz>

	* lto.c (read_cgraph_and_symbols): Use the renamed function.
	(do_whole_program_analysis): Use the renamed function.

From-SVN: r248368
2017-05-23 14:28:35 +00:00
Jan Hubicka
3494e738cf ipa-fnsummary.c (estimate_node_size_and_time): Do not sanity check that nonconst implies exec.
* ipa-fnsummary.c (estimate_node_size_and_time): Do not sanity check
	that nonconst implies exec.

From-SVN: r248366
2017-05-23 12:20:05 +00:00
Jan Hubicka
0bceb67106 ipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove.
* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
	inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
	(inline_edge_summary_vec): Turn into ...
	(ipa_call_summaries): ... this one.
	(redirect_to_unreachable, edge_set_predicate,
	evaluate_properties_for_edge, inline_summary_alloc,
	reset_ipa_call_summary, reset_inline_summary,
	inline_summary_t::duplicate): Update.
	(inline_edge_duplication_hook): Turn to ...
	(ipa_call_summary_t::duplicate): ... this one.
	(inline_edge_removal_hook): Turn to ...
	(ipa_call_summary_t::remove): ... this one.
	(dump_inline_edge_summary): Turn to ...
	(dump_ipa_call_summary): ... this one.
	(estimate_function_body_sizes): Update.
	(inline_update_callee_summaries): Update.
	(remap_edge_change_prob): Update.
	(remap_edge_summaries): Update.
	(inline_merge_summary): Update.
	(do_estimate_edge_time): Update.
	(inline_generate_summary): Update.
	(inline_read_section): Update.
	(inline_read_summary): Update.
	(inline_free_summary): Update.
	* ipa-inline.c (can_inline_edge_p): Update.
	(compute_inlined_call_time): Update.
	(want_inline_small_function_p): Update.
	(edge_badness): Update.
	(early_inliner): Update.
	* ipa-inline.h (inline_edge_summary): Turn to ...
	(ipa_call_summary): ... this one.
	(ipa_call_summary_t): New class.
	(inline_edge_summary_t, inline_edge_summary_vec): Remove.
	(ipa_call_summaries): New.
	(inline_edge_summary): Remove.
	(estimate_edge_growth): Update.
	* ipa-profile.c (ipa_propagate_frequency_1): Update.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
	* ipa-split.c (execute_split_functions): Update.
	* ipa.c (symbol_table::remove_unreachable_nodes): Update.

From-SVN: r248365
2017-05-23 10:59:35 +00:00
Nathan Sidwell
9d029ddfda cp-tree.h (OVL_P): New.
gcc/cp
	* cp-tree.h (OVL_P): New.
	* name-lookup.h (push_local_binding): Delete.
	(do_toplevel_using_decl, do_local_using_decl): Rename to ...
	(finish_namespace_using_decl, finish_local_using_decl): ... here
	* name-lookup.c (add_decl_to_level): Swap args.
	(pop_bindings_and_leave_scope): Look inside TREE_LIST.
	(diagnose_name_conflict): Check contexts are same for redecl.
	(update_local_overload): New.
	(compparms_for_decl_and_using): Rename to ...
	(matching_fn_p): ... here.
	(pushdecl_maybe_friend_1): Adjust add_decl_to_level,
	push_local_bindings call.
	(push_local_binding): Make static, replace FLAGS arg with
	IS_USING.
	(validate_nonmember_using_decl): Use OVL_FIRST.
	(do_nonmember_using_decl): Use in/out parameters.  Use
	lkp_iterator and simplify.
	(do_toplevel_using_decl, do_local_using_decl): Rename to ...
	(finish_namespace_using_decl, finish_local_using_decl): ... here.
	Adjust.
	(lookup_type_current_level): Delete.
	* parser.c (cp_parser_using_declaration): Adjust.
	* pt.c (tsubst_expr): Adjust.

	libcc1/
	* libcp1plugin.cc (plugin_add_using_decl): Call
	finish_namespace_using_decl.  Use assert not unreachable.

	gcc/testsuite/
	* g++.dg/lookup/using13.C: Adjust expected error.

From-SVN: r248364
2017-05-23 10:58:57 +00:00
Marek Polacek
92fa0f9e09 c-parser.c (c_parser_compound_statement_nostart): Remove redundant quotes.
* c-parser.c (c_parser_compound_statement_nostart): Remove redundant
	quotes.

From-SVN: r248363
2017-05-23 10:47:50 +00:00
Xi Ruoyao
5383998a58 PR libstdc++/67214 Avoid signed overflow in num_get::_M_extract_int
2017-05-23  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>

	PR libstdc++/67214
	* include/bits/locale_facets.tcc (num_get::_M_extract_int): Add
	explicit conversion to avoid signed overflow.

From-SVN: r248362
2017-05-23 11:16:08 +01:00
Senthil Kumar Selvaraj
008c736788 Fix bogus builtin-snprintf-warn-3.c failure for avr
The test declares a struct with an array member that has INT_MAX/32767
elements. This causes a "type xxx is too large" error for targets like
the avr, which has 16 bit pointers.

Fix by marking the test as unsupported for targets with ptr size < 32.

2017-05-23  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/tree-ssa/builtin-snprintf-warn-3.c: Require ptr32plus.

From-SVN: r248361
2017-05-23 09:49:27 +00:00
Tom de Vries
8d4f5c6821 Document rdrand effective target
2017-05-23  Tom de Vries  <tom@codesourcery.com>

	* doc/sourcebuild.texi (Effective-Target Keywords, Other hardware
	attributes): Document rdrand effective target.

From-SVN: r248360
2017-05-23 09:40:21 +00:00
Tom de Vries
8a1a519471 Sort 'Other hardware attributes' table in sourcebuild.texi
2017-05-23  Tom de Vries  <tom@codesourcery.com>

	* doc/sourcebuild.texi (Effective-Target Keywords, Other hardware
	attributes): Sort alphabetically.

From-SVN: r248359
2017-05-23 09:40:10 +00:00
Thomas Schwinge
0c36d0d571 Runtime checking of OpenACC parallelism dimensions clauses
libgomp/
	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
	* testsuite/lib/libgomp.exp
	(check_effective_target_openacc_nvidia_accel_configured): New
	proc.
	* testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
	(check_effective_target_c++): New procs.
	* testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
	(check_effective_target_c++): Likewise.

From-SVN: r248358
2017-05-23 11:16:05 +02:00
Georg-Johann Lay
bdf58f6bf4 genmultilib.awk: Use gsub instead of gensub.
* config/avr/genmultilib.awk: Use gsub instead of gensub.

From-SVN: r248357
2017-05-23 07:51:26 +00:00
GCC Administrator
5012c56f1b Daily bump.
From-SVN: r248356
2017-05-23 00:16:18 +00:00
Michael Meissner
d1f6caaee5 re PR target/80718 (GCC generates slow code for offsettable vec_duplicate)
[gcc]
2017-05-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/80718
	* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Split
	V2DF/V2DI splat into two separate patterns, one that handles
	registers, and the other that only handles memory.  Drop support
	for splatting from a GPR on ISA 2.07 and then splitting the
	splat into direct move and splat.
	(vsx_splat_<mode>_reg): Likewise.
	(vsx_splat_<mode>_mem): Likewise.

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

	PR target/80718
	* gcc.target/powerpc/pr80718.c: New test.

From-SVN: r248352
2017-05-22 22:44:45 +00:00
Segher Boessenkool
2ea0d75014 cfgcleanup: Ignore clobbers in bb_is_just_return
The function bb_is_just_return finds if the BB it is asked about does
just a return and nothing else.  It currently does not allow clobbers
in the block either, which we of course can allow just fine.

This patch changes that.


	* cfgcleanup.c (bb_is_just_return): Allow CLOBBERs.

gcc/testsuite/

From-SVN: r248351
2017-05-22 23:20:51 +02:00
Bill Schmidt
25b8168681 p8-vec-xl-xst.c: Fix target string to LE-only.
2017-05-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8-vec-xl-xst.c: Fix target string to
	LE-only.

From-SVN: r248348
2017-05-22 19:43:36 +00:00
Jakub Jelinek
d11c168a67 c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal result for SAVE_EXPR operand and set...
* c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal
	result for SAVE_EXPR operand and set SAVE_EXPR_FOLDED_P even if
	it returned invariant.  Call tree_invariant_p unconditionally
	afterwards to decide whether to return expr or op0.

From-SVN: r248347
2017-05-22 20:55:29 +02:00
Jakub Jelinek
655e52652b re PR middle-end/80809 (Multi-free error for variable size array used within OpenMP task)
PR middle-end/80809
	* omp-low.c (finish_taskreg_remap): New function.
	(finish_taskreg_scan): If unit size of ctx->record_type
	is non-constant, unshare the size expression and replace
	decls in it with possible outer var refs.

	* testsuite/libgomp.c/pr80809-2.c: New test.
	* testsuite/libgomp.c/pr80809-3.c: New test.

From-SVN: r248346
2017-05-22 20:54:54 +02:00
Jakub Jelinek
e9e2ef9f2f re PR middle-end/80809 (Multi-free error for variable size array used within OpenMP task)
PR middle-end/80809
	* gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use
	GOVD_SHARED rather than GOVD_PRIVATE with it.
	(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect
	GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE.

	* testsuite/libgomp.c/pr80809-1.c: New test.

From-SVN: r248345
2017-05-22 20:54:05 +02:00
Jakub Jelinek
c24783c499 re PR middle-end/80853 (OpenMP ICE in build_outer_var_ref with array reduction)
PR middle-end/80853
	* omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE
	as last argument to build_outer_var_ref for pointer bases of array
	section reductions.

	* testsuite/libgomp.c/pr80853.c: New test.

From-SVN: r248344
2017-05-22 20:51:54 +02:00
Joseph Myers
051e40e0cb * da.po, es.po: Update.
From-SVN: r248342
2017-05-22 18:11:36 +01:00
Janus Weil
477f145b57 re PR fortran/80766 ([OOP] ICE with type-bound procedure returning an array)
2017-05-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/80766
	* resolve.c (resolve_fl_derived): Make sure that vtype symbols are
	properly resolved.

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

	PR fortran/80766
	* gfortran.dg/typebound_call_28.f90: New test.

From-SVN: r248341
2017-05-22 19:08:24 +02:00
Martin Sebor
a5f15ed90a print-tree.c (print_node): Print DECL_READ_P flag.
gcc/ChangeLog:

	* print-tree.c (print_node): Print DECL_READ_P flag.

From-SVN: r248339
2017-05-22 10:17:59 -06:00
Nathan Sidwell
65cc14079e name-lookup.h (parse_using_directive): Replace with ...
* name-lookup.h (parse_using_directive): Replace with ...
	(finish_namespace_using_directive): ... this and ...
	(finish_local_using_directive): ... this.
	* name-lookup.c (add_using_namespace_1): Move later.
	(add_using_namespace): Move later, add namespace_p arg, remove
	indirect arg.
	(push_using_directive_1): Directly recurse.
	(do_using_directive, parse_using_directive): Delete, split into
	...
	(finish_namespace_using_directive): ... this and ...
	(finish_local_using_directive): ... this.
	(push_namespace): Use add_using_namespace.
	* parser.c (cp_parser_using_directive): Call
	finish_namespace_using_directive or finish_local_using_directive.
	* pt.c (tsubst_expr): Call finish_local_using_directive.

From-SVN: r248337
2017-05-22 16:00:35 +00:00
Jan Hubicka
27d020cf7d Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h
* Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h
	* auto-profile.c: Replace ipa-inline.h by ipa-fnsummary.h
	* cgraph.c: Likewise.
	* cgraphunit.c: Likewise.
	* gengtype.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-devirt.c: Likewise.
	* ipa-icf.c: Likewise.
	* ipa-predicate.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa.c: Likewise.
	* ipa-inline-analysis.c (inline_summaries, ipa_call_summaries,
	edge_predicate_pool, dump_inline_hints,
	inline_summary::account_size_time, redirect_to_unreachable,
	edge_set_predicate, set_hint_predicate,
	evaluate_conditions_for_known_args, evaluate_properties_for_edge,
	inline_summary_alloc, ipa_call_summary::reset, inline_summary::reset,
	inline_summary_t::remove, remap_hint_predicate_after_duplication,
	inline_summary_t::duplicate, ipa_call_summary_t::duplicate,
	ipa_call_summary_t::remove, initialize_growth_caches,
	free_growth_caches, dump_ipa_call_summary, dump_inline_summary,
	debug_inline_summary, dump_inline_summaries, initialize_inline_failed,
	mark_modified, unmodified_parm_1, unmodified_parm,
	unmodified_parm_or_parm_agg_item, eliminated_by_inlining_prob,
	set_cond_stmt_execution_predicate, set_switch_stmt_execution_predicate,
	compute_bb_predicates, will_be_nonconstant_expr_predicate,
	will_be_nonconstant_predicate, record_modified_bb_info,
	get_minimal_bb, record_modified, param_change_prob,
	phi_result_unknown_predicate, predicate_for_phi_result,
	array_index_predicate, clobber_only_eh_bb_p, fp_expression_p,
	estimate_function_body_sizes, compute_inline_parameters,
	compute_inline_parameters_for_curren, pass_data_inline_parameters,
	estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,
	inline_update_callee_summaries, remap_edge_change_prob,
	remap_edge_summaries, remap_hint_predicate, inline_merge_summary,
	inline_update_overall_summary, inline_indirect_intraprocedural_analysis,
	inline_analyze_function, inline_summary_t::insert,
	inline_generate_summary, read_ipa_call_summary, inline_read_section,
	inline_read_summary, write_ipa_call_summary, inline_write_summary,
	inline_free_summary): Move to ipa-fnsummary.h
	(predicate_t): Remove.
	* ipa-fnsummary.c: New file.
	* ipa-inline.h:  Do not include sreal.h and ipa-predicate.h
	(enum inline_hints_vals, inline_hints, agg_position_info,
	INLINE_SIZE_SCALE, size_time_entry, inline_summary, inline_summary_t,
	inline_summaries, ipa_call_summary, ipa_call_summary_t,
	ipa_call_summaries, debug_inline_summary, dump_inline_summaries,
	dump_inline_summary, dump_inline_hints, inline_generate_summary,
	inline_read_summary, inline_write_summary, inline_free_summary,
	inline_analyze_function, initialize_inline_failed,
	inline_merge_summary, inline_update_overall_summary,
	compute_inline_parameters): Move to ipa-fnsummary.h
	* ipa-fnsummary.h: New file.
	* ipa-inline-transform.h: Include ipa-inline.h.
	* ipa-inline.c: LIkewise.

	* lto.c: Replace ipa-inline.h by ipa-fnsummary.h
	* lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h

From-SVN: r248336
2017-05-22 15:36:02 +00:00
Jan Hubicka
b7cb2251a3 ipa-inline.c (edge_badness): Use inlined_time instead of inline_summaries->get.
* ipa-inline.c (edge_badness): Use inlined_time instead of
	inline_summaries->get.

From-SVN: r248334
2017-05-22 13:56:52 +00:00
Nathan Sidwell
58aca9d95c invoke.texi (fdump-translation-unit): Delete documentation.
gcc/
	* doc/invoke.texi (fdump-translation-unit): Delete documentation.
	(fdump-lang): Document 'raw' option.
	* dumpfile.h (TDI_tu): Delete.
	* dumpfile.c (dump_files): Remove translation-unit.
	(FIRST_AUTO_NUMBERED_DUMP): Decrement.
	gcc/cp/
	* cp-objcp-common.c (cp_register_dumps): Register raw dumper.
	* cp-tree.h (raw_dump_id): Declare.
	* decl2.c (raw_dump_id): Define.
	(dump_tu): Use raw_dump_id.
	gcc/c/
	* c-decl.c (c_parse_final_cleanups): Drop TDI_tu handling.

From-SVN: r248333
2017-05-22 12:25:06 +00:00
Georg-Johann Lay
6aea3c3720 Simplify config/avr/genmultilib.awk.
gcc/
Simplify config/avr/genmultilib.awk.
	* config/avr/t-avr (AWK) [t-multilib]: Remove "-v FORMAT=Makefile"
	command option from $(AWK) call.
	* config/avr/genmultilib.awk: Simplify and rewrite so that it
	generates MULTILIB_REQUIRED instead of MULTILIB_EXCEPTIONS.
	[FORMAT]: Remove handling of variable.
	* config/avr/t-multilib: Regenerate.

From-SVN: r248332
2017-05-22 12:16:21 +00:00
Nathan Sidwell
3b205ea1bd * config-lang.in (gtfiles): Sort list, break lines.
From-SVN: r248330
2017-05-22 12:07:51 +00:00
Nathan Sidwell
1a66d857e6 cp-tree.h (CPTI_TERMINATE, [...]): Rename to ...
* cp-tree.h (CPTI_TERMINATE, CPTI_CALL_UNEXPECTED): Rename to ...
	(CPTI_TERMINATE_FN, CPTI_CALL_UNEXPECTED_FN): ... here.
	( CPTI_GET_EXCEPTION_PTR_FN, CPTI_BEGIN_CATCH_FN)
	(CPTI_END_CATCH_FN)
	CPTI_ALLOCATE_EXCEPTION_FN, CPTI_FREE_EXCEPTION_FN, CPTI_THROW_FN,
	CPTI_RETHROW_FN): New.
	(noexcept_deferred_spec): New.
	(terminate_node, call_unexpected_node): Rename to ...
	(terminate_fn, call_unexpected_fn): ... here.
	(get_exception_ptr_fn, begin_catch_fn, end_catch_fn)
	allocate_exception_fn, free_exception_fn, throw_fn, rethrow_fn):
	New.
	* except.c (fn1..fn5, throw_fn, rethrow_rn, spec): Delete.
	(init_exception_processing): Adjust.
	(declare_library_fn): Create and push the fns here.
	(do_get_exception_ptr, do_begin_catch, do_end_catch)
	do_allocate_exception_ptr, do_free_exception_ptr): Adjust
	declare_library_fn use.
	(unevaluated_noexcept_spec): Adjust.
	* cp-gimplify.c (genericize_eh_spec_block)
	gimplify_most_not_throw_expr): Adjust.
((((--This line, and those below, will be ignored--

M    cp/cp-tree.h
M    cp/ChangeLog
M    cp/cp-gimplify.c
M    cp/except.c

From-SVN: r248328
2017-05-22 11:32:16 +00:00
Nathan Sidwell
c405923d02 name-lookup.c (pushdecl_top_level) pushdecl_top_level_and_finish): Move after namespace pushing and popping functions.
* name-lookup.c (pushdecl_top_level)
	pushdecl_top_level_and_finish): Move after namespace pushing and
	popping functions.
	(push_to_top_level): Rename to ...
	(do_push_to_top_level): ... here.  Remove timing code.
	(pop_from_top_level_1): Rename to ...
	(do_pop_from_top_level): ... here.
	(do_push_nested_namespace, do_pop_nested_namespace)
	(push_to_top_level): New wrapper for do_push_to_top_level.
	(pop_from_top_level): Adjust.
	(push_nested_namepace, pop_nested_namespace): Wrappers for workers.
(--This line, and those below, will be ignored--

M    cp/ChangeLog
M    cp/name-lookup.c

From-SVN: r248327
2017-05-22 11:16:49 +00:00
Thomas Preud'homme
0c4f817854 Add MOVT testing for ARMv8-M Baseline
2017-05-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * gcc.target/arm/movsi_movt.c: New test.
    * gcc.target/arm/movdi_movt.c: New test.

From-SVN: r248326
2017-05-22 10:52:26 +00:00
Jan Hubicka
106eeddc29 ipa-inline-analysis.c (inline_summary::reset): Do not reset self_time.
* ipa-inline-analysis.c (inline_summary::reset): Do not reset
	self_time.
	(dump_inline_summary): Do not print self_time.
	(estimate_function_body_sizes): Do not set self_time.
	(compute_inline_parameters): Likewise.
	(inline_read_section, inline_write_summary): Do not stream self_time.
	* ipa-inline.h (inline_summary): Drop self_time.

From-SVN: r248325
2017-05-22 10:39:46 +00:00
Eric Botcazou
fbb1c7d4a0 decl.c (gnat_to_gnu_entity): Skip regular processing for Itypes that are E_Access_Subtype.
* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
	for Itypes that are E_Access_Subtype.
	<E_Access_Subtype>: Use the DECL of the base type directly.

From-SVN: r248323
2017-05-22 09:38:09 +00:00
Jan Hubicka
61890ff25a ipa-inline-analysis.c (account_size_time): Rename to ...
* ipa-inline-analysis.c (account_size_time): Rename to ...
	(inline_summary::account_size_time): ... this one.
	(reset_ipa_call_summary): Turn to ...
	(ipa_call_summary::reset): ... this one.
	(reset_inline_summary): Turn to ...
	(inline_summary::reset): ... this one.
	(inline_summary_t::remove): Update.
	(inline_summary_t::duplicate): Update.
	(ipa_call_summary_t::remove): Update.
	(dump_inline_summary): Update.
	(estimate_function_body_sizes): Update.
	(compute_inline_parameters): Update.
	(estimate_node_size_and_time): Update.
	(inline_merge_summary): Update.
	(inline_update_overall_summary): Update.
	(inline_read_section): Update.
	(inline_write_summary): Update.
	* ipa-inline.h (inline_summary): Rename entry to size_time_table;
	add account_size_time and reset member functions.
	(ipa_call_summary): Add reset function.
	* ipa-predicate.h (predicate::operator &): Constify.

From-SVN: r248322
2017-05-22 09:35:21 +00:00
Eric Botcazou
d327113612 sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a limited view may appear in the profile of...
* sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a
	limited view may appear in the profile of a function, and a call to
	that function in another unit in which the full view is available must
	use this full view to spurious type errors at the point of call.
	* inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading
	of parent body with a with clause for the main unit.
	* gcc-interface/decl.c (defer_limited_with_list): Document new usage.
	(gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment
	types declared in external units like types from limited with clauses.
	Adjust final processing of defer_limited_with_list accordingly.
	* gcc-interface/trans.c (gnat_to_gnu) < N_Selected_Component>: Try
	again to translate the prefix after the field if it is incomplete.

From-SVN: r248321
2017-05-22 09:24:24 +00:00
Eric Botcazou
4c24ec6d58 decl.c (gnat_to_gnu_field): Do not enforce strict alignment for simple volatile fields and remove...
* gcc-interface/decl.c (gnat_to_gnu_field): Do not enforce strict
	alignment for simple volatile fields and remove associated errors.
testsuite/
	* gnat.dg/specs/volatile1.ads: Remove obsolete errors.
	* gnat.dg/specs/clause_on_volatile.ads: Likewise.

From-SVN: r248320
2017-05-22 08:17:40 +00:00
Eric Botcazou
772cd69487 configure.ac: Add check for sys/capability.h header.
* configure.ac: Add check for sys/capability.h header.
	(have_capability): New substitution.
	* configure: Regenerate.
	* Makefile.in (GNATLIBCFLAGS_FOR_C): Add @have_capability@.

From-SVN: r248319
2017-05-22 07:17:48 +00:00
Richard Biener
6173a9e3be df-scan.c (df_insn_refs_verify): Speedup when not verifying.
2017-05-22  Richard Biener  <rguenther@suse.de>

	* df-scan.c (df_insn_refs_verify): Speedup when not verifying.

From-SVN: r248318
2017-05-22 07:14:10 +00:00
GCC Administrator
bca5a34d93 Daily bump.
From-SVN: r248317
2017-05-22 00:16:33 +00:00
Paolo Carlini
4bcbb7b816 re PR c++/70265 (ICE on code with constexpr on x86_64-linux-gnu in tree check: expected statement_list, have nop_expr in tsi_start, at tree-iterator.h:42)
2017-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70265
	* g++.dg/cpp1y/constexpr-70265-1.C: New.
	* g++.dg/cpp1y/constexpr-70265-2.C: Likewise.

From-SVN: r248313
2017-05-21 22:20:05 +00:00
GCC Administrator
6fac3d9757 Daily bump.
From-SVN: r248312
2017-05-21 00:16:35 +00:00
Eli Zaretskii
0ff0902bf0 environ.h: Add #ifndef guard.
2017-05-19  Eli Zaretskii <eliz@gnu.org>
* environ.h: Add #ifndef guard.

From-SVN: r248308
2017-05-19 21:22:07 -04:00
GCC Administrator
6deadc7d0b Daily bump.
From-SVN: r248307
2017-05-20 00:16:28 +00:00
Jason Merrill
1ff7be5ac8 c-warn.c (match_case_to_enum_1): Don't warn about enums with no enumerators.
* c-warn.c (match_case_to_enum_1): Don't warn about enums with no
	enumerators.

From-SVN: r248303
2017-05-19 15:31:52 -04:00
Jason Merrill
2944f36d02 * tree.c (make_tree_vec_stat, grow_tree_vec_stat): Use size_t.
From-SVN: r248302
2017-05-19 14:55:17 -04:00
Than McIntosh
281161d16b dwarf.c (free_line_header): Don't free dirs if dirs_count == 0.
* dwarf.c (free_line_header): Don't free dirs if dirs_count == 0.
	(read_line_header): Don't allocate dirs if dirs_count == 0.
	* edtest.c: New file.
	* edtest2.c: New file.
	* Makefile.am (edtest_SOURCES, edtest_LDADD): Define.
	(check_PROGRAMS): Add edtest.
	(edtest2_build.c, gen_edtest2_build): New targets.
	* Makefile.in: Rebuild.

From-SVN: r248295
2017-05-19 16:07:24 +00:00
Jerry DeLisle
51cd6b78ee [multiple changes]
2017-05-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/80333
	* trans-io.c (nml_get_addr_expr): If we are dealing with class
	type data set tmp tree to get that address.
	(transfer_namelist_element): Set the array spec to point to the
	the class data.

2017-05-19  Paul Thomas  <pault@gcc.gnu.org>
	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/80333
	* list_read.c (nml_read_obj): Compute pointer into class/type
	arrays from the nl->dim information. Update it for each iteration
	of the loop for the given object.

2017-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/80333
	* gfortran.dg/dtio_30.f03: New test.

From-SVN: r248293
2017-05-19 15:48:35 +00:00
Marek Polacek
33f8c0a14d re PR sanitizer/80800 (UBSAN: yet another false positive)
PR sanitizer/80800
	* fold-const.c (extract_muldiv_1) <case TRUNC_DIV_EXPR>: Add
	TYPE_OVERFLOW_WRAPS checks.

	* c-c++-common/ubsan/pr80800.c: New test.
	* c-c++-common/Wduplicated-branches-1.c: Adjust an expression.

From-SVN: r248291
2017-05-19 15:30:54 +00:00
Bernd Edlinger
ff50231797 c-format.c (locus): Move out of function scope, add GTY attribute.
gcc/c-family:
2017-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-format.c (locus): Move out of function scope,
        add GTY attribute.

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

        * config-lang.in (gtfiles): Add c-family/c-format.c,
        except.c, init.c, lambda.c and friend.c.
        * class.c (dvirt_fn): Move out of function scope,
        add GTY attribute.
        * except.c (fn1-5, throw_fn, rethrow_fn, spec): Likewise.
        * init.c (fn): Likewise.
        * lambda.c (ptr_id, max_id): Likewise.
        * friend.c (global_friend): Add GTY attribute.

From-SVN: r248290
2017-05-19 14:39:44 +00:00