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
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