Commit Graph

153741 Commits

Author SHA1 Message Date
Martin Liska 850098ebf0 Introduce new check_GNU_style.py script.
2017-05-19  Martin Liska  <mliska@suse.cz>

	* check_GNU_style.py: New file.

From-SVN: r248281
2017-05-19 13:47:53 +00:00
Thomas Schwinge 7fd549d24f OpenACC 2.5 default (present) clause
gcc/c/
	* c-parser.c (c_parser_omp_clause_default): Handle
	"OMP_CLAUSE_DEFAULT_PRESENT".
	gcc/cp/
	* parser.c (cp_parser_omp_clause_default): Handle
	"OMP_CLAUSE_DEFAULT_PRESENT".
	gcc/fortran/
	* gfortran.h (enum gfc_omp_default_sharing): Add
	"OMP_DEFAULT_PRESENT".
	* dump-parse-tree.c (show_omp_clauses): Handle it.
	* openmp.c (gfc_match_omp_clauses): Likewise.
	* trans-openmp.c (gfc_trans_omp_clauses): Likewise.
	gcc/
	* tree-core.h (enum omp_clause_default_kind): Add
	"OMP_CLAUSE_DEFAULT_PRESENT".
	* tree-pretty-print.c (dump_omp_clause): Handle it.
	* gimplify.c (enum gimplify_omp_var_data): Add
	"GOVD_MAP_FORCE_PRESENT".
	(gimplify_adjust_omp_clauses_1): Map it to
	"GOMP_MAP_FORCE_PRESENT".
	(oacc_default_clause): Handle "OMP_CLAUSE_DEFAULT_PRESENT".
	gcc/testsuite/
	* c-c++-common/goacc/default-1.c: Update.
	* c-c++-common/goacc/default-2.c: Likewise.
	* c-c++-common/goacc/default-4.c: Likewise.
	* gfortran.dg/goacc/default-1.f95: Likewise.
	* gfortran.dg/goacc/default-4.f: Likewise.
	* c-c++-common/goacc/default-5.c: New file.
	* gfortran.dg/goacc/default-5.f: Likewise.
	libgomp/
	* testsuite/libgomp.oacc-c++/template-reduction.C: Update.
	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.

From-SVN: r248280
2017-05-19 15:32:48 +02:00
Thomas Schwinge 0d0afa9faf Clarify gcc/gimplify.c:oacc_default_clause
gcc/
	* gimplify.c (oacc_default_clause): Clarify.

From-SVN: r248279
2017-05-19 15:32:30 +02:00
Thomas Schwinge 9740ed54a6 OpenACC default clause maintenance
gcc/cp/
	* parser.c (cp_parser_omp_clause_default): Avoid printing more
	than one syntax error message.
	gcc/testsuite/
	* c-c++-common/goacc/default-1.c: New file.
	* c-c++-common/goacc/default-2.c: Likewise.
	* c-c++-common/goacc/data-default-1.c: Remove file, including its
	test cases in...
	* c-c++-common/goacc/default-3.c: ... this new file, and...
	* c-c++-common/goacc/default-4.c: ... this new file.
	* gfortran.dg/goacc/default.f95: Remove file, including its test
	cases in...
	* gfortran.dg/goacc/default-1.f95: ... this new file, and...
	* gfortran.dg/goacc/default-2.f: ... this new file.
	* gfortran.dg/goacc/default-3.f95: New file.
	* gfortran.dg/goacc/default-4.f: Likewise.

From-SVN: r248278
2017-05-19 15:32:19 +02:00
Thomas Schwinge 0da2f96af0 libgomp hsa plugin: debug output for HSA runtime library loading failure
libgomp/
	* plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
	Debug output for failure.

From-SVN: r248277
2017-05-19 15:32:04 +02:00
Martin Liska 01c712cb90 Enable by default -Werror just for bootstrap-debug.mk and default build.
2017-05-19  Martin Liska  <mliska@suse.cz>

	* configure.ac: Add --enable-werror-always just for
	bootstrap-debug (or none build config) and do not add it
	when we are on a release branch.
	* configure: Regenerated.

From-SVN: r248276
2017-05-19 13:31:01 +00:00
Nathan Sidwell 2a8a8d7bd2 toplev.c (general_init): Call register dump lang hook.
LANG_HOOK_REGISTER_DUMPS
	gcc/
	* toplev.c (general_init): Call	register dump lang hook.
	* doc/invoke.texi: Document -fdump-lang option family.
	* dumpfile.c (dump_files): Remove class dump here.
	(FIRST_AUTO_NUMBERED_DUMP): Adjust.
	* dumpfile.h (tree_dump_index): Remove TDI_class.
	* langhooks-def.h (lhd_register_dumps): Declare.
	(LANG_HOOKS_REGISTER_DUMPS): Define.
	(LANG_HOOKS_INITIALIZER): Add it.
	* langhooks.c (lhd_register_dumps): Define.
	* langhooks.h (struct lang_hooks): Add register_dumps.
	c-family/
	* c-opts.c (class_dump_file, class_dump_flags): Delete.
	(c_common_parse_file): Remove class dump handling.
	(get_dump_info): Likewise.
	cp/
	* class.c (class_dump_id): Define.
	(dump_class_hierarchy, dump_vtable, dump_vtt): Use it.
	* cp-objcp-common.c (cp_register_dumps): New.
	* cp-objcp-common.h (cp_register_dumps): Declare.
	(LANG_HOOKS_REGISTER_DUMPS): Override.
	* cp-tree.h (class_dump_id): Declare.
	testsuite/
	* g++.dg/inherit/covariant7.C: Adjust.

From-SVN: r248271
2017-05-19 13:10:36 +00:00
Prakhar Bahuguna a978134eac [ARM] Only test tls-disable-literal-pool.c if target supports native TLS
2017-05-19  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>

    gcc/testsuite/
    * gcc.target/arm/tls-disable-literal-pool.c: Change
    require-effective-target to tls_native.
    Move dg-error to return statement line and change to dg-message.

From-SVN: r248270
2017-05-19 13:04:27 +00:00
Richard Biener 39aac208ab re PR c++/80593 (GCC 7, aligned_storage and “dereferencing type-punned pointer will break strict-aliasing rules”)
2017-05-19  Richard Biener  <rguenther@suse.de>

	PR c++/80593
	* c-warn.c (strict_aliasing_warning): Do not warn for accesses
	to alias-set zero memory.

	* g++.dg/warn/Wstrict-aliasing-bogus-char-2.C: New testcase.
	* g++.dg/warn/Wstrict-aliasing-6.C: Adjust expected outcome.

From-SVN: r248269
2017-05-19 12:34:54 +00:00
Nathan Sidwell f00e3d4e65 context.h (context::set_passes): New.
* context.h (context::set_passes): New.
	* context.c (context::context): Do not create pass manager.
	* toplev.c (general_init): Create pass manager here.

From-SVN: r248268
2017-05-19 12:32:48 +00:00
Jonathan Wakely f710ca61ba PR libstdc++/80796 Add new std::search overload for C++17
PR libstdc++/80796
	* include/bits/stl_algo.h (search): Add new overload for C++17.
	* testsuite/25_algorithms/search/searcher.cc: New.

From-SVN: r248266
2017-05-19 13:11:31 +01:00
Segher Boessenkool 5d3ae76af1 rs6000: Make constant formation a tiny bit better
If we cannot load a constant into a register in one insn, and that
constant is a valid mask (for rotate instructions), we currently
prefer to load -1 and then mask it.  This patch makes us not do that if
instead we could use two add or or instructions, since those are
sometimes faster on certain CPUs (and never are slower).


	* config/rs6000/rs6000.md (splitter to load of -1 and mask): Don't
	use this splitter if two add or or instructions would also work for
	the constant we want to generate.

From-SVN: r248265
2017-05-19 13:29:21 +02:00
Richard Biener 3a6461f307 re PR tree-optimization/80821 (genmatch conflicting predicates)
2017-05-19  Richard Biener  <rguenther@suse.de>

	PR build/80821
	* genmatch.c (dt_node::gen_kids_1): Add missing scope around
	predicate evaluation.

From-SVN: r248264
2017-05-19 11:13:48 +00:00
Jan Hubicka 9ca8a4c064 ipa-inline.h (ipa_call_summary): Turn sizes into signed; add ctor.
* ipa-inline.h (ipa_call_summary): Turn sizes into signed;
	add ctor.
	* ipa-inline.c (want_inline_small_function_p): Do not cast to
	unsigned.

From-SVN: r248263
2017-05-19 09:36:56 +00:00
Jan Hubicka 263e19c786 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: r248262
2017-05-19 08:52:26 +00:00
Richard Biener 035ab82621 re PR middle-end/80764 (ICE at -O3 in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in verify_loop_structure, at cfgloop.c:1644))
2017-05-19  Richard Biener  <rguenther@suse.de>

	PR middle-end/80764
	* cfgexpand.c (expand_gimple_cond): Fix loop fixup.

	* gcc.dg/torture/pr80764.c: New testcase.

From-SVN: r248261
2017-05-19 08:23:37 +00:00
GCC Administrator f0da130005 Daily bump.
From-SVN: r248260
2017-05-19 00:16:28 +00:00
Segher Boessenkool 6e21f3b52e rs6000: Separate shrink-wrapping for FPRs
This patch implements separate shrink-wrapping for the non-volatile
floating point registers (FPR14..FPR31).  It is pretty much exactly
analogous to the code for GPRs.


	* config/rs6000/rs6000.c (struct machine_function): Add field
	fpr_is_wrapped_separately.
	(rs6000_get_separate_components): Use 64 components.  Handle the
	new FPR components.
	(rs6000_components_for_bb): Handle the FPR components.
	(rs6000_emit_prologue_components): Handle the FPR components.
	(rs6000_emit_epilogue_components): Handle the FPR components.
	(rs6000_set_handled_components): Handle the FPR components.
	(rs6000_emit_prologue): Don't output prologue code for those FPRs
	that are already separately shrink-wrapped.
	(rs6000_emit_epilogue): Don't output epilogue code for those FPRs
	that are already separately shrink-wrapped.

From-SVN: r248256
2017-05-19 01:38:04 +02:00
Ian Lance Taylor afbc9ecbf6 re PR go/80814 (commit aa443150c83535fedccb3dee80daa7e01fafd92d causes a build error.)
PR go/80814
	* Makefile.am (AM_GOCFLAGS): Define.
	* Makefile.in: Rebuild.

From-SVN: r248255
2017-05-18 22:44:12 +00:00
Michael Meissner 52e14b96bd re PR target/80510 (Optimize Power7/power8 Altivec load/stores)
[gcc]
2017-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/80510
	* config/rs6000/predicates.md (simple_offsettable_mem_operand):
	New predicate.

	* config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator.
	(define_peephole2 for Altivec d-form load): Add peepholes to catch
	cases where the register allocator uses a move and an offsettable
	memory operation to/from a FPR register on ISA 2.06/2.07.
	(define_peephole2 for Altivec d-form store): Likewise.

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

	PR target/80510
	* gcc.target/powerpc/pr80510-1.c: New test.
	* gcc.target/powerpc/pr80510-2.c: Likewise.

From-SVN: r248254
2017-05-18 19:34:13 +00:00
Eric Gallager 4287da829c Add testcase to ensure that #pragma GCC diagnostic push/pop works with -Wtraditional
2017-05-18  Eric Gallager  <egall@gwmail.gwu.edu>

	* gcc.dg/pragma-diag-7.c: New test.

From-SVN: r248253
2017-05-18 18:55:33 +00:00
Matthias Klose d300615539 gcc_release (build_gzip): Build xz tarball instead of bz2 tarball.
2017-05-18  Matthias Klose  <doko@ubuntu.com>

        * gcc_release (build_gzip): Build xz tarball instead of bz2 tarball.
        (build_diffs): Handle building diffs from either bz2 or xz tarballs,
        compress diffs using xz instead of bz2.
        (build_diff): Likewise.
        (upload_files): Check for *.xz files instead of *.bz2 files.
        (announce_snapshot): Announce xz tarball instead of bz2 tarball.
        (XZ): New definition.
        (<toplevel>): Look for both bz2 and xz compressed old tarballs.

From-SVN: r248251
2017-05-18 18:49:16 +00:00
Nathan Sidwell 1bf07cc3ff cp-tree.h (OVL_ARG_DEPENDENT): Delete.
* cp-tree.h (OVL_ARG_DEPENDENT): Delete.
	(OVL_USED_P): New.
	(lookup_keep): Declare.
	* name-lookup.c (add_function): Don't set OVL_ARG_DEPENDENT.
	* pt.c (tsubst_copy): Assert lookup is persistent.
	* semantics.c (finish_call_expr): Use lkp_iterator, call
	lookup_keep.
	* tree.c (ovl_copy): New.
	(ovl_insert, ovl_iterator::remove_node): Copy immutable nodes.
	(lookup_keep): New.

From-SVN: r248250
2017-05-18 18:18:04 +00:00
Ian Lance Taylor 7d2f2a6b73 compiler: ignore struct field tags for type conversion
Go 1.8 includes a language change (https://golang.org/doc/go1.8#language):
    in an explicit conversion from one struct type to another, any field
    tags are ignored.
    
    This CL implements this language change in the gofrontend.  The tests
    for this are in the gc testsuite, which will be copied into the gccgo
    repository in due course.
    
    Updates golang/go#16085.
    
    Reviewed-on: https://go-review.googlesource.com/43614

From-SVN: r248248
2017-05-18 18:04:29 +00:00
Uros Bizjak e4171e100d re PR target/80799 (x86-32 bits generates MMX without EMMS)
PR target/80799
	* config/i386/mmx.md (*mov<mode>_internal): Enable
	alternatives 11, 12, 13 and 14 also for 32bit targets.
	Remove alternatives 15, 16, 17 and 18.
	* config/i386/sse.md (vec_concatv2di): Change
	alternative (!x, *y) to (x, ?!*Yn).

testsuite/ChangeLog:

	PR target/80799
	* g++.dg/other/i386-11.C: New test.

From-SVN: r248246
2017-05-18 20:03:30 +02:00
Jonathan Wakely 747217d179 PR libstdc++/80478 make std::mem_fn work with noexcept functions
PR libstdc++/80478
	* include/std/functional (_Mem_fn_traits_base): Add specializations
	for noexcept member function types.
	* testsuite/20_util/function_objects/mem_fn/80478.cc: New test.

From-SVN: r248245
2017-05-18 18:32:06 +01:00
Paolo Carlini 286c97f38f dumpfile.h (enum dump_kind): Remove stray comma.
2017-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* dumpfile.h (enum dump_kind): Remove stray comma.

From-SVN: r248244
2017-05-18 17:19:53 +00:00
Jan Hubicka 2f30407b61 Makefile.in: Add ipa-predicate.o and ipa-predicate.h
* Makefile.in: Add ipa-predicate.o and ipa-predicate.h
	* ipa-inline-analysis.c (NUM_CONDITIONS): turn into
	predicate::num_conditions
	(IS_NOT_CONSTANT): turn into predicate::is_not_constant.
	(CHANGED): turn into predicate::changed.
	(agg_position_info): Move to ipa-predicate.h
	(add_condition, predicate::add_clause, predicate::operator &=,
	predicate::or_with, predicate::evaluate, predicate::probability,
	dump_condition, dump_clause, predicate::dump,
	predicate::remap_after_duplication, predicate::remap_after_inlining,
	predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c
	(evaluate_conditions_for_known_args): Update.
	(set_cond_stmt_execution_predicate): Update.
	* ipa-inline.h: Include ipa-predicate.h
	(condition, inline_param_summary, conditions, agg_position_info,
	predicate): Move to ipa-predicate.h
	* ipa-predicate.c: New file.
	* ipa-predicate.h: New file.

From-SVN: r248243
2017-05-18 17:04:25 +00:00
Bernd Edlinger 6ecd23394a c-format.c (local_tree_type_node): Add GTY attribute.
gcc/c-family:
2017-05-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-format.c (local_tree_type_node): Add GTY attribute.

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

        * config-lang.in (gtfiles): Add c-family/c-format.c.

From-SVN: r248242
2017-05-18 16:15:59 +00:00
Jan Hubicka b679b55b5e Makefile.in: Add ipa-predicate.o and ipa-predicate.h
* Makefile.in: Add ipa-predicate.o and ipa-predicate.h
	* ipa-inline-analysis.c (NUM_CONDITIONS): turn into
	predicate::num_conditions
	(IS_NOT_CONSTANT): turn into predicate::is_not_constant.
	(CHANGED): turn into predicate::changed.
	(agg_position_info): Move to ipa-predicate.h
	(add_condition, predicate::add_clause, predicate::operator &=,
	predicate::or_with, predicate::evaluate, predicate::probability,
	dump_condition, dump_clause, predicate::dump,
	predicate::remap_after_duplication, predicate::remap_after_inlining,
	predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c
	(evaluate_conditions_for_known_args): Update.
	(set_cond_stmt_execution_predicate): Update.
	* ipa-inline.h: Include ipa-predicate.h
	(condition, inline_param_summary, conditions, agg_position_info,
	predicate): Move to ipa-predicate.h
	* ipa-predicate.c: New file.
	* ipa-predicate.h: New file.

From-SVN: r248241
2017-05-18 16:14:10 +00:00
Wilco Dijkstra 00d6001385 Add an assert to leaf_function_p to ensure it is not called from a prolog or...
Add an assert to leaf_function_p to ensure it is not called from a
prolog or epilog sequence (which would incorrectly return true in a
non-leaf function).  There are several targets which still call
leaf_function_p, and while most appear safe or appear aware of the
issue, it is likely not all such calls are safe.  This check enables
any such latent bugs to be found.

    gcc/
	* final.c (leaf_function_p): Check we are not in a sequence.

From-SVN: r248240
2017-05-18 15:58:33 +00:00
Nathan Sidwell 2063b07f4d cp-tree.h (OVL_USED): Replace with ...
* cp-tree.h (OVL_USED): Replace with ...
	(OVL_USING_P): ... this.
	(ovl_iterator::using_p): Adjust.
	* name-lookup.c (push_overloaded_decl_1)
	do_nonmember_using_decl): Adjust.
	* search.c (lookup_field_r): Adjust.
	* tree.c (ovl_insert, ovl_scope): Adjust.
(--This line, and those below, will be ignored--

M    cp/tree.c
M    cp/cp-tree.h
M    cp/name-lookup.c
M    cp/search.c
M    cp/ChangeLog

From-SVN: r248229
2017-05-18 15:20:04 +00:00
Martin Liska 8264c84d54 Transform TDF_{lang,tree,ipa,rtl} to dump_kind enum.
2017-05-18  Martin Liska  <mliska@suse.cz>

	* cfgrtl.c (rtl_verify_edges): Remove usage of TDF_RTL.
	* dumpfile.c (dump_register): Use new enum dump_kind.
	(get_dump_file_name): Likewise.
	(dump_enable_all): Likewise.
	(dump_switch_p_1): Likewise.
	(enable_rtl_dump_file): Remove usage of TDF_RTL.
	* dumpfile.h (enum dump_kind): New enum type.
	(struct dump_file_info): Create constructor and
	format fields and comments.
	* passes.c (pass_manager::register_one_dump_file):
	Use num dump_kind.
	* statistics.c (statistics_early_init): Likewise.
	* tree-ssa-loop-prefetch.c (dump_mem_details): Replace
	TDF_TREE with TDF_SLIM.
	(gather_memory_references_ref): Likewise.

From-SVN: r248206
2017-05-18 14:23:46 +00:00
Martin Liska 671d5bcb26 Define CONSTEXPR macro and use it in vec.h.
2017-05-18  Martin Liska  <mliska@suse.cz>

	* ansidecl.h: Define CONSTEXPR macro.
2017-05-18  Martin Liska  <mliska@suse.cz>

	* vec.h (struct vnull): Use it.

From-SVN: r248205
2017-05-18 14:22:01 +00:00
Jan Hubicka dbcb3c7446 ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h (true_predicate...
* ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h
	(true_predicate, false_predicate, true_predicate_p,
	false_predicate_p): Remove.
	(single_cond_predicate, not_inlined_predicate): Turn to member function
	in ipa-inline.h
	(add_condition): Update.
	(add_clause): Turn to...
	(predicate::add_clause): ... this one; update; allow passing NULL
	as parameter.
	(and_predicates): Turn to ...
	(predicate::operator &=): ... this one.
	(predicates_equal_p): Move to predicate::operator == in ipa-inline.h
	(or_predicates): Turn to ...
	(predicate::or_with): ... this one.
	(evaluate_predicate): Turn to ...
	(predicate::evaluate): ... this one.
	(predicate_probability): Turn to ...
	(predicate::probability): ... this one.
	(dump_condition): Update.
	(dump_predicate): Turn to ...
	(predicate::dump): ... this one.
	(account_size_time): Update.
	(edge_set_predicate): Update.
	(set_hint_predicate): UPdate.
	(evaluate_conditions_for_known_args): Update.
	(evaluate_properties_for_edge): Update.
	(remap_predicate_after_duplication): Turn to...
	(predicate::remap_after_duplication): ... this one.
	(remap_hint_predicate_after_duplication): Update.
	(inline_summary_t::duplicate): UPdate.
	(dump_inline_edge_summary): Update.
	(dump_inline_summary): Update.
	(set_cond_stmt_execution_predicate): Update.
	(set_switch_stmt_execution_predicate): Update.
	(compute_bb_predicates): Update.
	(will_be_nonconstant_expr_predicate): Update.
	(will_be_nonconstant_predicate): Update.
	(phi_result_unknown_predicate): Update.
	(predicate_for_phi_result): Update.
	(array_index_predicate): Update.
	(estimate_function_body_sizes): Update.
	(estimate_node_size_and_time): Update.
	(estimate_ipcp_clone_size_and_time): Update.
	(remap_predicate): Rename to ...
	(predicate::remap_after_inlining): ... this one.
	(remap_hint_predicate): Update.
	(inline_merge_summary): Update.
	(inline_update_overall_summary): Update.
	(estimate_size_after_inlining): Update.
	(read_predicate): Rename to ...
	(predicate::stream_in): ... this one.
	(read_inline_edge_summary): Update.
	(write_predicate): Rename to ...
	(predicate::stream_out): ... this one.
	(write_inline_edge_summary): Update.
	* ipa-inline.h (MAX_CLAUSES): Turn to predicate::max_clauses.
	(clause_t): Turn to uint32_t
	(predicate): Turn to class; implement constructor and operators
	==, !=, &
	(size_time_entry): Update.
	(inline_summary): Update.
	(inline_edge_summary): Update.

From-SVN: r248204
2017-05-18 14:18:08 +00:00
Will Schmidt cdefeea2e6 fold-vec-div-float.c: Update dg-requires and dg-options statements.
2017-05-18  Will Schmidt  <will_schmidt@vnet.ibm.com>

[gcc/testsuite]

	* fold-vec-div-float.c: Update dg-requires and dg-options statements.
	* fold-vec-div-floatdouble.c: Likewise.
	* fold-vec-logical-ands-char.c: Likewise.
	* fold-vec-logical-ands-int.c: Likewise.
	* fold-vec-logical-ands-short.c: Likewise.
	* fold-vec-logical-ors-char.c: Likewise.
	* fold-vec-logical-ors-int.c: Likewise.
	* fold-vec-logical-ors-short.c: Likewise.
	* fold-vec-logical-other-char.c: Likewise.
	* fold-vec-mule-misc.c: Likewise.
	* fold-vec-mult-float.c: Likewise.
	* fold-vec-mult-floatdouble.c: Likewise.
	* fold-vec-mult-int.c: Likewise.
	* fold-vec-mult-int128-p9.c: Likewise.
	* fold-vec-sub-floatdouble.c: Likewise.
	* fold-vec-div-longlong.c: Update dg-requires and dg-options statements.
	Add lp64 requirement.
	* fold-vec-mult-int128-p8.c: Likewise.
	* fold-vec-logical-ors-longlong.c: Fix comment typo.

From-SVN: r248202
2017-05-18 14:08:13 +00:00
Steven Munroe 62ee030a80 Fix up dg-option to resolve problems reported by David Edelshon for AIX.
2017-05-17  Steven Munroe  <munroesj@gcc.gnu.org>

	* gcc.target/powerpc/bmi-andn-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-andn-2.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-bextr-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-bextr-2.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-bextr-4.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-bextr-5.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-blsi-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-blsi-2.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-blsmsk-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-blsmsk-2.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-blsr-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-blsr-2.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-tzcnt-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi-tzcnt-2.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-bzhi32-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-bzhi64-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-bzhi64-1a.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-mulx32-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-mulx32-2.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-mulx64-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-mulx64-2.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-pdep32-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-pdep64-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-pext32-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-pext64-1.c: Fix-up dg-options.
	* gcc.target/powerpc/bmi2-pext64-1a.c: Fix-up dg-options.

From-SVN: r248201
2017-05-18 14:01:11 +00:00
Thomas Schwinge c7ddc044c5 More dump_flags_t conversion
gcc/brig/
	* brigfrontend/brig-to-generic.h (class brig_to_generic): Use
	"dump_flags_t" for "m_dump_flags" member.

From-SVN: r248200
2017-05-18 15:34:29 +02:00
Nathan Sidwell 8a57ecff02 * c-decl.c (pushdecl_top_level): Delete unused function.
From-SVN: r248199
2017-05-18 13:03:55 +00:00
Nathan Sidwell 31ab89c14a cp-tree.h (lookup_add): Swap args.
* cp-tree.h (lookup_add): Swap args.
	(ovl_cons, build_overload): Delete.
	* name-lookup.c (add_function, push_overloaded_decl_1)
	do_nonmember_using_decl, merge_functions, remove_hidden_names):
	Use lookup_add, ovl_insert.
	* pt.c (check_explicit_specialization): Use lookup_add.
	(do_class_deduction): Likewise. Refactor if.
	* tree.c (lookup_add): Swap args.
	(ovl_cons, build_overload): Delete.
(--This line, and those below, will be ignored--

M    cp/cp-tree.h
M    cp/name-lookup.c
M    cp/pt.c
M    cp/ChangeLog
M    cp/tree.c

From-SVN: r248198
2017-05-18 12:55:11 +00:00
Marek Polacek 6574d78eea c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
* c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
	(c_common_fixed_point_type_for_size): Likewise.
	(c_common_type_for_mode): Likewise.
	(shorten_compare): Likewise.
	(c_promoting_integer_type_p): Use false/true instead of 0/1.
	* c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.

	* c-decl.c (match_builtin_function_types): Use NULL_TREE instead of 0.
	(check_earlier_gotos): Likewise.
	(define_label): Likewise.
	(pending_xref_error): Likewise.
	(smallest_type_quals_location): Likewise.
	(grokdeclarator): Likewise.
	(grokparms): Likewise.
	(identifier_global_value): Likewise.
	* c-typeck.c (set_nonincremental_init_from_string): Likewise.
	(find_init_member): Likewise.

From-SVN: r248195
2017-05-18 11:26:25 +00:00
Marc Glisse 8b656ca7ea Move X==15-X to match.pd
2017-05-18  Marc Glisse  <marc.glisse@inria.fr>

	* fold-const.c (fold_binary_loc): Move transformation...
	* match.pd (C - X CMP X): ... here.

From-SVN: r248193
2017-05-18 11:05:55 +00:00
Marek Polacek e3455240ed c-common.c (self_promoting_args_p): Change the return type to bool.
* c-common.c (self_promoting_args_p): Change the return type to bool.
	Use false/true instead of 0/1.
	* c-common.h (self_promoting_args_p): Update.

	* c-decl.c (start_decl): Use false/true instead of 0/1.
	(grokdeclarator): Likewise.
	(finish_struct): Likewise.
	(start_function): Change the return type to bool.  Use false/true
	instead of 0/1.
	(declspecs_add_qual): Use UNKNOWN_LOCATION instead of 0.
	* c-tree.h (start_function): Update.
	* c-typeck.c (same_translation_unit_p): Change the return type to bool.
	(set_designator): Change the return type to bool.  Use false/true
	instead of 0/1.

From-SVN: r248192
2017-05-18 10:55:59 +00:00
Nathan Sidwell 59a4ede94f name-lookup.c (find_local_binding): New, broken out of ...
* name-lookup.c (find_local_binding): New, broken out of ...
	(lookup_name_innermost_nonclass_level_1): ... here.  Call it.
	(set_namespace_binding): Swap scope & name args.
	(namespace_binding_1): Likewise.
	(pushdecl_maybe_friend_1): Adjust set_namespace_binding call.
	(push_overloaded_decl_1): Likewise.
	(set_global_binding): Likewise.
	(get_namespace_binding): Adjust namespace_binding_1 call.

From-SVN: r248191
2017-05-18 10:49:48 +00:00
Jonathan Wakely 8985968cc4 Fix typos in libstdc++ manual
* doc/xml/manual/policy_data_structures.xml: Fix typo.
	* doc/xml/manual/test_policy_data_structures.xml: Likewise.
	* doc/html/*: Regenerate.

From-SVN: r248189
2017-05-18 11:26:02 +01:00
Fritz Reese cf0042303e re PR fortran/79968 (diagnostics: merge similar diagnostics containing -fdec-structure)
2017-05-18  Fritz Reese <fritzoreese@gmail.com>

    PR fortran/79968

    gcc/fortran/ChangeLog:

	PR fortran/79968
	* decl.c (match_attr_spec, gfc_match_automatic,
	gfc_match_static, gfc_match_structure_decl): Unify diagnostic
	errors regarding -fdec options.
	* io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.

From-SVN: r248188
2017-05-18 10:24:37 +00:00
Jonathan Wakely 8268fc6022 Update libstdc++ version info in manual
* doc/xml/manual/abi.xml: Document latest library versions.
	* doc/xml/manual/build_hacking.xml: Document requirement to update
	abi.xml when bumping library versions.
	* doc/html/*: Regenerate.

From-SVN: r248186
2017-05-18 11:09:32 +01:00
Sheldon Lobo 7880c1a5b1 MAINTAINERS: Add self to Write After Approval
* MAINTAINERS: Add self to Write After Approval

From-SVN: r248185
2017-05-18 09:38:47 +00:00
Sheldon Lobo 00a84d0edd Minor SPARC T4 and M7 fixes and additions.
* config/sparc/sparc.c (sparc_option_override): Set function
	alignment for -mcpu=niagara7 to 64 to match the I$ line.
	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch
	latency to 1.
	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch
	latency to 2.
	* config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo.
	* gcc.target/sparc/niagara7-align.c: New test.

From-SVN: r248184
2017-05-18 09:34:26 +00:00
Marek Polacek 243c288370 re PR sanitizer/80797 (-fsanitize=null doesn't instrument &s->x)
PR sanitizer/80797
	* ubsan.c (instrument_null): Unwrap ADDR_EXPRs.
	(pass_ubsan::execute): Call gimple_assign_single_p instead of
	gimple_assign_load_p.

	* c-c++-common/ubsan/null-12.c: New test.

From-SVN: r248179
2017-05-18 07:18:24 +00:00