Commit Graph

153817 Commits

Author SHA1 Message Date
Thomas Schwinge 9b94fbc7e4 C/C++ OpenACC: acc_pcopyin, acc_pcreate
libgomp/
	* openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
	of preprocessor definitions.
	* libgomp.h (strong_alias): Guard by "#ifdef
	HAVE_ATTRIBUTE_ALIAS".
	* oacc-mem.c: Provide "acc_pcreate" as alias for
	"acc_present_or_create", and "acc_pcopyin" as alias for
	"acc_present_or_copyin".
	* libgomp.map: New version "OACC_2.0.1".
	(OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
	its content into...
	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
	Extend testing.

From-SVN: r248410
2017-05-24 15:23:34 +02:00
Peter Bergner 3f3fb6c913 re PR middle-end/80823 (ICE: verify_flow_info failed)
gcc/
	PR middle-end/80823
	* tree-cfg.c (group_case_labels_stmt): Delete increment of "i";

gcc/testsuite/
	PR middle-end/80823
	* gcc.dg/pr80823.c: New test.

From-SVN: r248408
2017-05-24 07:10:54 -05:00
Andreas Krebbel 00e0af8d15 S/390: Fix PR80725.
gcc/ChangeLog:

2017-05-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/80725
	* config/s390/s390.c (s390_check_qrst_address): Check incoming
	address against address_operand predicate.
	* config/s390/s390.md ("*indirect_jump"): Swap alternatives.

gcc/testsuite/ChangeLog:

2017-05-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* gcc.target/s390/pr80725.c: New test.

From-SVN: r248407
2017-05-24 11:36:54 +00:00
Nathan Sidwell ef4c5e7855 cp-tree.h (OVL_HIDDEN_P): New.
gcc/cp/
	* cp-tree.h (OVL_HIDDEN_P): New.
	(ovl_iterator::hidden_p, ovl_iterator::reveal_node): New.
	(ovl_iterator::reveal_node): Declare.
	* tree.c (ovl_copy): Copy OVL_HIDDEN_P.
	(ovl_insert): Order on hiddenness.
	(ovl_iterator::reveal_node): New.
	* name-lookup.c (anticipated_builtin_p): New.
	(supplement_binding_1): Use it.
	(set_local_extern_decl_linkage): Use hidden_p.
	(do_pushdecl): Deal with unhiding a hidden decl, use
	anticipated_builtin_p.
	(do_nonmember_using_decl): Use anticipated_decl_p.
	(lookup_name_real_1): Use DECL_HIDDEN_P.

	gcc/testsuite/
	* g++.dg/lookup/extern-c-hidden.C: New.
	* g++.dg/lookup/extern-redecl1.C: New.

From-SVN: r248406
2017-05-24 11:28:54 +00:00
Tom de Vries b7fc9ae0aa check_GNU_style.py: print usage if no file specified
2017-05-24  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py: New file, factored out of ...
	* check_GNU_style.py: ... here.  Call main unconditionally.

From-SVN: r248403
2017-05-24 08:49:56 +00:00
Eric Botcazou 258dfcb78d var-tracking.c (track_expr_p): Do not return 0 for tracked record parameters passed indirectly.
* var-tracking.c (track_expr_p): Do not return 0 for tracked record
	parameters passed indirectly.

From-SVN: r248402
2017-05-24 08:12:27 +00:00
Thomas Schwinge 78672bd8fd libgomp nvptx plugin: Debugging output when disabling nvptx offloading
libgomp/
	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
	when disabling nvptx offloading.

From-SVN: r248400
2017-05-24 08:59:05 +02:00
Jason Merrill 5726acd7d7 -Wunused and C++17 structured bindings
* decl.c (poplevel): Don't warn about unused structured bindings,
	only real variables.
	* error.c (dump_simple_decl): Handle structured bindings.
	* expr.c (mark_exp_read): Look through DECL_VALUE_EXPR.

From-SVN: r248399
2017-05-23 21:46:16 -04:00
GCC Administrator c15394ee0d Daily bump.
From-SVN: r248398
2017-05-24 00:16:23 +00:00
Ian Lance Taylor 8be04b48a4 compiler: detect failure to set init priority for package
This would have caught the problem fixed by https://golang.org/cl/43610.
    
    Reviewed-on: https://go-review.googlesource.com/43999

From-SVN: r248394
2017-05-23 23:55:59 +00:00
Matthias Klose 4b3e231475 gcc_release (XZ): Default to xz --best.
2017-05-23  Matthias Klose  <doko@ubuntu.com>

        * gcc_release (XZ): Default to xz --best.

From-SVN: r248392
2017-05-23 23:14:10 +00:00
Nathan Sidwell 3a9cc6853a cp-tree.h (PUSH_GLOBAL, [...]): Delete.
* cp-tree.h (PUSH_GLOBAL, PUSH_LOCAL, PUSH_USING): Delete.
	* name-lookup.c (create_local_binding): New.
	(update_binding): New.
	(pushdecl_maybe_friend_1): Rename to ...
	(do_pushdecl): ... this.  Reimplement.
	(pushdecl): Adjust.
	(push_overloaded_decl_1, push_overloaded_decl): Delete.

From-SVN: r248387
2017-05-23 21:15:48 +00:00
Jason Merrill f0c1ade45a PR c++/80396 - built-in for make_integer_sequence.
* pt.c (builtin_pack_fn_p, builtin_pack_call_p)
	(expand_integer_pack, expand_builtin_pack_call): New.
	(find_parameter_packs_r): Check builtin_pack_call_p.
	(check_for_bare_parameter_packs): Handle it.
	(tsubst_pack_expansion): Call expand_builtin_pack_call.
	(declare_integer_pack): New.
	(init_template_processing): Call it.
	* decl2.c (mark_used): Check builtin_pack_fn_p.

From-SVN: r248384
2017-05-23 16:14:01 -04:00
Uros Bizjak f6744083c8 i386.md (*movdi_internal): Remove SSE4 alternative 18 (?r, *v).
* config/i386/i386.md (*movdi_internal): Remove SSE4
	alternative 18 (?r, *v).  Update insn attributes.
	(*movsi_internal): Remove SSE4 alternative 13 (?r, *v).
	Update insn attributes.
	(*zero_extendsidi2): Remove SSE4 alternative (?r, *x).
	Update insn attributes.
	* config/i386/sse.md (vec_extract<ssevecmodelower>_0): Remove SSE4
	alternative 1 (r, v). Remove isa attribute.
	* config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
	Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC
	and !TARGET_INTER_UNIT_MOVES_TO_VEC targets.

From-SVN: r248383
2017-05-23 21:47:40 +02:00
Nathan Sidwell aa7bda5f27 name-lookup.c (find_namespace_binding): New.
* name-lookup.c (find_namespace_binding): New.
	(pushdecl_maybe_friend_1): Use CP_DECL_CONTEXT.
	(set_identifier_type_value_with_scope): Use
	find_namespace_binding.
	(find_binding, cp_binding_level_find_binding_for_name)
	binding_for_name, namespace_binding_1): Delete.
	(push_overloaded_decl_1): Use CP_DECL_CONTEXT.
	(get_namespace_binding, set_namespace_binding)
	finish_namespace_using_decl, unqualified_namespace_lookup_1,
	qualified_lookup_using_namespace, lookup_type_scope_1,
	lookup_name_innermost_nonclass_level_1): Use
	find_namespace_binding.
((--This line, and those below, will be ignored--

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

From-SVN: r248382
2017-05-23 19:37:03 +00:00
Nathan Sidwell 6131102ce3 re PR c++/80866 (segfault in is_overloaded_fn())
PR c++/80866
	* parser.c (cp_parser_template_id): Keep the lookup when stashing
	the template_id.

	PR c++/80866
	* g++.dg/parse/pr80866.C: New.

From-SVN: r248377
2017-05-23 17:04:56 +00:00
Tom de Vries 1b4b1fc7ca Document dg-line directive
2017-05-23  Tom de Vries  <tom@codesourcery.com>

	* doc/sourcebuild.texi (Directives, Verify compiler message): Document
	dg-line directive.

From-SVN: r248376
2017-05-23 16:38:31 +00:00
Jan Hubicka d2db2e6b05 cgraphunit.c (symbol_table::process_new_functions): Update.
* cgraphunit.c (symbol_table::process_new_functions): Update.
	* ipa-fnsummary.c (pass_data_inline_parameters): Remove.
	(inline_generate_summary): Rename to ...
	(ipa_fn_summary_generate): ... this one.
	(inline_read_summary): Rename to ...
	(ipa_fn_summary_read): ... this one.
	(inline_write_summary): Rename to ...
	(ipa_fn_summary_write): ... this one.
	(inline_free_summary): Rename to ...
	(ipa_free_fn_summary): ... this one.
	(pass_data_local_fn_summary, pass_local_fn_summary,
	make_pass_local_fn_summary, pass_data_ipa_free_fn_summary,
	pass_ipa_free_fn_summary, make_pass_ipa_free_fn_summary,
	pass_data_ipa_fn_summary, pass_ipa_fn_summary,
	make_pass_ipa_fn_summary): New.
	* ipa-fnsummary.h (inline_generate_summary, inline_read_summary,
	inline_write_summary, inline_free_summary): Remove.
	(ipa_free_fn_summary) : New.
	* ipa-inline.c (ipa_inline): Update.
	(pass_ipa_inline): Do not generate summaries.
	* ipa.c (pass_data_ipa_free_fn_summary, pass_ipa_free_fn_summary):
	Remove.
	* passes.def: Replace pass_inline_parameters by pass_local_fn_summary
	and add pass_ipa_fn_summary.
	* tree-pass.h (make_pass_ipa_fn_summary, make_pass_local_fn_summary):
	New.
	(make_pass_inline_parameters): Remove.

	* lto.c (do_whole_program_analysis): Replace inline_free_summary
	by ipa_free_fn_summary.

	* gcc.dg/ipa/ctor-empty-1.c: Update template.
	* gcc.dg/ipa/inline-5.c: Likewise.
	* gfortran.dg/pr48636.f90: Likewise.

From-SVN: r248375
2017-05-23 16:20:53 +00:00
Xi Ruoyao 78aa76df40 PR libstdc++/67578 Implement non-trivial std::random_device::entropy
2017-05-23  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/67578
	* acinclude.m4: Bump libtool_VERSION.
	* config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Add test for <linux/random.h>.
	* doc/xml/manual/abi.xml: Document new library version.
	* include/bits/random.h (random_device::entropy)
	[_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member.
	(random_device::_M_getentropy): Declare.
	* src/c++11/random.cc (random_device::_M_getentropy): Define.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known
	versions, and make it the latest version.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r248374
2017-05-23 17:11:57 +01:00
Nathan Sidwell e4ea7a4cfe cp-tree.h (DECL_HIDDEN_P): New.
gcc/cp/
	* cp-tree.h (DECL_HIDDEN_P): New.
	* name-lookup.c (set_decl_context)
	set_local_extern_decl_linkage):	New, broken out of ...
	(pushdecl_maybe_friend_1): ... here.  Call them.

	gcc/testsuite/
	* g++.dg/parse/ctor9.C: Adjust expected error.
(--This line, and those below, will be ignored--

M    cp/name-lookup.c
M    cp/ChangeLog
M    cp/cp-tree.h
M    testsuite/ChangeLog
M    testsuite/g++.dg/parse/ctor9.C

From-SVN: r248373
2017-05-23 16:03:34 +00:00
Thomas Schwinge 8a4674bb23 Remove unused "default_kind" member from gcc/omp-low.c's "struct omp_context"
gcc/
	* omp-low.c (struct omp_context): Remove "default_kind" member.
	Adjust all users.

From-SVN: r248372
2017-05-23 18:00:56 +02:00
Jerry DeLisle c2d7c404a9 re PR fortran/80256 (Cygwin test fail: bind_c_array_params_2.f90 scan-assembler-times)
2017-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/80256
	* gfortran.dg/bind_c_array_params_2.f90: Modify to pass on
	Cygwin.

From-SVN: r248371
2017-05-23 15:54:59 +00:00
Thomas Schwinge fd71a9a24d OpenACC 2.5 kernels construct: num_gangs, num_workers, vector_length clauses
gcc/c/
	* c-parser.c (OACC_KERNELS_CLAUSE_MASK): Add
	"PRAGMA_OACC_CLAUSE_NUM_GANGS", "PRAGMA_OACC_CLAUSE_NUM_WORKERS",
	"VECTOR_LENGTH".
	gcc/cp/
	* parser.c (OACC_KERNELS_CLAUSE_MASK): Add
	"PRAGMA_OACC_CLAUSE_NUM_GANGS", "PRAGMA_OACC_CLAUSE_NUM_WORKERS",
	"VECTOR_LENGTH".
	gcc/fortran/
	* openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS",
	"OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH".
	gcc/
	* omp-offload.c (execute_oacc_device_lower): Remove the
	parallelism dimensions function attributes for unparallelized
	OpenACC kernels constructs.
	gcc/testsuite/
	* c-c++-common/goacc/parallel-dims-1.c: Update.
	* c-c++-common/goacc/parallel-dims-2.c: Likewise.
	* c-c++-common/goacc/routine-1.c: Likewise.
	* c-c++-common/goacc/uninit-dim-clause.c: Likewise.
	* g++.dg/goacc/template.C: Likewise.
	* gfortran.dg/goacc/kernels-tree.f95: Likewise.
	* gfortran.dg/goacc/routine-3.f90: Likewise.
	* gfortran.dg/goacc/sie.f95: Likewise.
	* gfortran.dg/goacc/uninit-dim-clause.f95: Likewise.
	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.

From-SVN: r248370
2017-05-23 17:47:32 +02:00
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