Commit Graph

153764 Commits

Author SHA1 Message Date
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
Nathan Sidwell
6f2f4050aa call.c (add_list_candidates): Use OVL_FIRST.
* call.c (add_list_candidates): Use OVL_FIRST.
	(build_new_method_call_1): Likewise.
	* cp-tree.h (OVL_SINGLE_P): New.
	(TYPE_HIDDEN_P): New.
	* decl.c (xref_tag_1): Use TYPE_HIDDEN_P.
	* dump.c (cp_tump_tree): Adjust overload dumping.
	* error.c (dump_decl): Use OVL_SINGLE_P, simplify context
	printing.
	* method.c (lazily_declare_fn): Assert we added it.
	* parser.c (cp_parser_nested_name_specifier): Use OVL_SINGLE_P,
	OVL_FIRST.
	(cp_parser_template_name): Use lkp_iterator.
	* pt.c (begin_template_parm_list): Fixup comment.
	(instantiate_class_template_1): Use TYPE_HIDDEN_P.
	* tree.c (ovl_iterator::remove_node): Cope with inherited ctors.
	(ovl_scope): Use lkp_iterator.

From-SVN: r248285
2017-05-19 14:12:14 +00:00
David Malcolm
546c8974ff fortran: remove trailing exclamation mark from various diagnostics (PR fortran/79852)
gcc/fortran/ChangeLog:
	PR fortran/79852
	* bbt.c (insert): Remove trailing exclamation mark from message.
	* decl.c (gfc_match_final_decl): Likewise.
	* dump-parse-tree.c (show_expr): Likewise.
	* module.c (gfc_use_module): Likewise.
	* primary.c (build_actual_constructor): Likewise.
	(gfc_convert_to_structure_constructor): Likewise.

From-SVN: r248283
2017-05-19 13:52:14 +00:00
Martin Liska
43e89e0a1e Make the script executable.
From-SVN: r248282
2017-05-19 13:48:52 +00:00
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