Commit Graph

129111 Commits

Author SHA1 Message Date
Paul Thomas 91d2c04ced re PR fortran/79676 ([submodules] Compilation/linking error when module procedures PRIVATE)
2017-03-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79676
	* module.c (mio_symbol_attribute): Remove reset of the flag
	'no_module_procedures'.
	(check_for_module_procedures): New function. Move declaration
	of 'no_module_procedures' to above it.
	(gfc_dump_module): Traverse namespace calling new function.

2017-03-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79676
	* gfortran.dg/submodule_28.f08 : New test.

From-SVN: r246256
2017-03-18 12:38:02 +00:00
Paul Thomas c7e4107b53 re PR fortran/71838 (ICE with OpenCoarrays on submodule)
2017-03-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/71838
	* symbol.c (check_conflict): A dummy procedure in a submodule,
	module procedure is not an error.
	(gfc_add_flavor): Ditto.

2017-03-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/71838
	* gfortran.dg/submodule_26.f08 : New test.
	* gfortran.dg/submodule_27.f08 : New test.

From-SVN: r246255
2017-03-18 11:53:53 +00:00
Gerald Pfeifer 251daa19a4 install.texi (Specific): Remove old requirement for binutils 2.13.
* doc/install.texi (Specific) <arm-*-eabi>: Remove old
	requirement for binutils 2.13.

From-SVN: r246254
2017-03-18 09:43:47 +00:00
Jim Wilson 2d6568bdcb Fix aarch64 bootstrap compare failure.
gcc/
	* combine.c (try_combine): Delete redundant i1 test.  Call
	prev_nonnote_nondebug_insn instead of prev_nonnote_insn.

From-SVN: r246253
2017-03-17 22:37:52 -07:00
GCC Administrator a2bb525722 Daily bump.
From-SVN: r246252
2017-03-18 00:16:14 +00:00
Marek Polacek 31dc71a83b * c-parser.c: Add C11 references.
From-SVN: r246249
2017-03-17 21:50:16 +00:00
Jason Merrill d1a73b0bae PR c++/78345 - ICE initializing array from lambda.
* init.c (build_aggr_init): Check array initializer.
	(build_vec_init): Check the type of a CONSTRUCTOR.

From-SVN: r246244
2017-03-17 14:56:22 -04:00
Palmer Dabbelt 3b82a32c3e RISC-V documentation cleanups
A recent mailing list post about install.texi cleanup suggested I take a
look at ours, and there were a few problems:

 * No table of contents entries
 * Not alphabetically ordered
 * Missing a note about requiring binutils-2.28

gcc/ChangeLog:

2017-03-17  Palmer Dabbelt  <palmer@dabbelt.com

        * doc/install.texi (Specific) <riscv32-*-elf>: Add riscv32-*-elf,
        riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of
        contents.
        <riscv64-*-elf>: Re-arrange section
        <riscv32-*-elf>: Add a note about requiring binutils 2.28.
        <riscv32-*-linux>: Likewise.
        <riscv64-*-elf>: Likewise
        <riscv64-*-linux>: Likewise.

From-SVN: r246243
2017-03-17 18:49:34 +00:00
Jason Merrill c7ec585d78 PR c++/80073 - C++17 ICE with virtual base.
* decl.c (xref_basetypes): Also check for indirect vbases.

From-SVN: r246242
2017-03-17 14:42:09 -04:00
Jerry DeLisle 2da189b6ea re PR fortran/79841 (Inconsistent diagnostics in fortran/openmp.c, function check_symbol_not_pointer)
2017-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/79841
	* openmp.c (check_symbol_not_pointer): Adjust diagnostics.

From-SVN: r246241
2017-03-17 18:21:08 +00:00
Richard Earnshaw d1132c1bc5 [aarch64] Fix typo in aarch64.opt (dummping -> dumping).
PR target/80052
	* aarch64.opt(verbose-cost-dump): Fix typo.

From-SVN: r246229
2017-03-17 17:05:23 +00:00
Pat Haugen d8fe28be76 re PR target/79951 (ICE in extract_insn, at recog.c:2311 on ppc64le with -mno-cmpb)
PR target/79951
	* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
	for VECTOR_UNIT_VSX_P (<MODE>mode) too.
	* gcc.target/powerpc/pr79951.c: New.

From-SVN: r246228
2017-03-17 16:42:29 +00:00
Bernd Schmidt 6b4c3c7b23 reload.c (find_reloads): When reloading a nonoffsettable address...
* reload.c (find_reloads): When reloading a nonoffsettable address,
	use RELOAD_OTHER for it and its address reloads.

From-SVN: r246227
2017-03-17 15:39:28 +00:00
Bernd Schmidt 4a17943d36 re PR rtl-optimization/79910 (wrong code with -O -fweb)
PR rtl-optimization/79910
	* combine.c (record_used_regs): New static function.
	(try_combine): Handle situations where there is an additional
	instruction between I2 and I3 which needs to have a LOG_LINK
	updated.

	PR rtl-optimization/79910
	* gcc.dg/torture/pr79910.c: New test.

From-SVN: r246226
2017-03-17 09:10:13 -06:00
Jeff Law 7f166d9447 re PR tree-optimization/71437 (Performance regression after r235817)
PR tree-optimization/71437
	* tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the
	conditional in the hash table first.
	(vrp_dom_walker::before_dom_children): Extract condition from
	ASSERT_EXPR.  Record condition, its inverion and any implied
	conditions as well.

	PR tree-optimization/71437
	* gcc.dg/tree-ssa/pr71437.c: New test.
	* gcc.dg/tree-ssa/20040305-1.c: Test earlier dump.
	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Adjust for jump threads
	now caught by VRP, but which were previously caught by DOM.

From-SVN: r246225
2017-03-17 09:01:56 -06:00
Marek Polacek faec5f2473 re PR tree-optimization/80079 (Conditional jump or move depends on uninitialised value(s): gimple-ssa-store-merging.c:768)
PR tree-optimization/80079
	* gimple-ssa-store-merging.c (class pass_store_merging): Initialize
	m_stores_head.

Co-Authored-By: Markus Trippelsdorf <markus@trippelsdorf.de>

From-SVN: r246224
2017-03-17 13:14:42 +00:00
Richard Biener 12c4f7dcaf re PR c++/80075 (ICE: "statement marked for throw, but doesn’t" with -fnon-call-exceptions)
2017-03-17  Richard Biener  <rguenther@suse.de>

	PR middle-end/80075
	* tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns.
	Properly verify the LHS before the RHS possibly claims to be
	handled.
	(stmt_could_throw_p): Hande gimple conds fully here.  Clobbers
	do not throw.

	* g++.dg/torture/pr80075.C: New testcase.

From-SVN: r246223
2017-03-17 12:48:56 +00:00
Martin Jambor 5c7d37de41 Document -fipa-vrp
2017-03-17  Martin Jambor  <mjambor@suse.cz>

	* doc/invoke.texi (Option Options): Include -fipa-vrp in the list.
	(List of -O2 options): Likewise.
	(-fipa-bit-cp): Replace "ipa" with "interprocedural."
	(-fipa-vrp) New.

From-SVN: r246221
2017-03-17 13:34:27 +01:00
Tom de Vries 39653b82d8 Print bug url for gcov-dump --help
2017-03-17  Tom de Vries  <tom@codesourcery.com>

	* gcov-dump.c (print_usage): Print bug_report_url.

From-SVN: r246219
2017-03-17 12:14:50 +00:00
Richard Biener d59b72533f re PR other/80050 (gcc/genmatch.c: PVS-Studio: V590)
2017-03-17  Richard Biener  <rguenther@suse.de>

	PR middle-end/80050
	* genmatch.c (parser::next): Remove pointless check for CPP_EOF.
	(parser::peek): Likewise.

From-SVN: r246218
2017-03-17 11:04:00 +00:00
Richard Biener 61c81999bf re PR tree-optimization/80048 (gcc/sese.c: PVS-Studio: Improper Release of Memory Before Removing Last Reference (CWE-401))
2017-03-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80048
	* sese.c (free_sese_info): Properly release rename_map and
	copied_bb_map elements.

From-SVN: r246217
2017-03-17 11:03:32 +00:00
GCC Administrator 7c1bb24d4f Daily bump.
From-SVN: r246216
2017-03-17 00:16:19 +00:00
Alexandre Oliva 50b6d6761b stabilize store merging
Don't let pointer randomization change the order in which we process
store chains.  This may cause SSA_NAMEs to be released in different
order, and if they're reused later, they may cause differences in SSA
partitioning, leading to differences in expand, and ultimately to
different code.

bootstrap-debug-lean (-fcompare-debug) on i686-linux-gnu has failed in
haifa-sched.c since r245196 exposed the latent ordering problem in
store merging.  In this case, the IR differences (different SSA names
selected for copies in out-of-SSA, resulting in some off-by-one
differences in pseudos) were not significant enough to be visible in
the compiler output.


for  gcc/ChangeLog

	* gimple-ssa-store-merging.c (struct imm_store_chain_info):
	Add linked-list forward and backlinks.  Insert on
	construction, remove on destruction.
	(class pass_store_merging): Add m_stores_head field.
	(pass_store_merging::terminate_and_process_all_chains):
	Iterate over m_stores_head list.
	(pass_store_merging::terminate_all_aliasing_chains):
	Likewise.
	(pass_store_merging::execute): Check for debug stmts first.
	Push new chains onto the m_stores_head stack.

From-SVN: r246213
2017-03-16 23:31:01 +00:00
Jason Merrill 2e92d7ada9 * decl.c (start_enum): std::byte aliases anything.
From-SVN: r246212
2017-03-16 17:16:45 -04:00
Jason Merrill fbd603c43d re PR c++/79797 (ICE with NSDMI, this pointer and constexpr)
PR c++/79797
	* constexpr.c (lookup_placeholder): Tweak.

From-SVN: r246210
2017-03-16 17:16:33 -04:00
Michael Meissner 207f34233c re PR target/71294 (ICE in gen_add2_insn, at optabs.c:4442 on powerpc64le-linux)
[gcc]
2017-03-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71294
	* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
	SPLAT operation on ISA 2.07 64-bit systems that have direct move,
	but no MTVSRDD support, by doing MTVSRD and XXPERMDI.

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

	PR target/71294
	* g++.dg/pr71294.C: New test.

From-SVN: r246209
2017-03-16 20:09:21 +00:00
Jeff Law c87550223a re PR tree-optimization/71437 (Performance regression after r235817)
PR tree-optimization/71437
	* tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
	member function.  Implementation moved into after_dom_children
	member function and into the threader's thread_outgoing_edges
	function.
	(dom_opt_dom_walker::after_dom_children): Simplify by moving
	some code into new thread_outgoing_edges.
	* tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
	definition.  Simplify marker handling (do it here).   Assume we always
	have the available expression and the const/copies tables.
	(thread_outgoing_edges): New function extracted from tree-ssa-dom.c
	and tree-vrp.c
	* tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
	* tree-vrp.c (equiv_stack): No longer file scoped.
	(vrp_dom_walker): New class.
	(vrp_dom_walker::before_dom_children): New member function.
	(vrp_dom_walker::after_dom_children): Likewise.
	(identify_jump_threads):  Setup domwalker.  Use it rather than
	walking edges in a random order by hand.  Simplify setup/finalization.
	(finalize_jump_threads): Remove.
	(vrp_finalize): Do not call identify_jump_threads here.
	(execute_vrp): Do it here instead and call thread_through_all_blocks
	here too.

From-SVN: r246208
2017-03-16 13:21:33 -06:00
Jeff Law 8d7437be47 re PR tree-optimization/71437 (Performance regression after r235817)
PR tree-optimization/71437
	* tree-ssa-dom.c (pfn_simplify): Add basic_block argument.  All
	callers changed.
	(simplify_stmt_for_jump_threading): Add basic_block argument.  All
	callers changed.
	(lhs_of_dominating_assert): Moved from here into tree-vrp.c.
	(dom_opt_dom_walker::thread_across_edge): Remove
	handle_dominating_asserts argument.  All callers changed.
	(record_temporary_equivalences_from_stmts_at_dest): Corresponding
	changes.  Remove calls to lhs_of_dominating_assert.  Other
	uses of handle_dominating_asserts turn into unconditional code
	(simplify_control_stmt_condition_1): Likewise.
	(simplify_control_stmt_condition): Likewise.
	(thread_through_normal_block, thread_across_edge): Likewise.
	* tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
	* tree-vrp.c (lhs_of_dominating_assert): Move here.  Return original
	object if it is not an SSA_NAME.
	(simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
	before calling into the VRP specific simplifiers.
	(identify_jump_threads): Remove handle_dominating_asserts
	argument.

From-SVN: r246207
2017-03-16 13:21:23 -06:00
Segher Boessenkool 9fc900af68 Fix tree-prof/pr66295.c
This testcase can only ever be built on x86 (it needs the "avx*"
attributes).  This patch skips the test elsewhere.


gcc/testsuite/
	* gcc.dg/tree-prof/pr66295.c: Skip unless on an x86 target.

From-SVN: r246206
2017-03-16 19:18:58 +01:00
Jakub Jelinek e711928b48 re PR fortran/80010 (diagnostics: typo $!)
PR fortran/80010
	* parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
	and ST_OACC_END_ATOMIC, instead of !ACC.
	* trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
	* openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
	gfc_resolve_oacc_declare): Likewise.

	* gfortran.dg/goacc/asyncwait-3.f95: Adjust expected diagnostic.

From-SVN: r246204
2017-03-16 17:50:27 +01:00
Jakub Jelinek c05c238081 re PR fortran/79886 (ICE in pp_format, at pretty-print.c:681)
PR fortran/79886
	* tree-diagnostic.c (default_tree_printer): No longer static.
	* tree-diagnostic.h (default_tree_printer): New prototype.
fortran/
	* error.c (gfc_format_decoder): Rename plus argument to set_locus,
	remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
	if not a Fortran specific spec.
	* trans-io.c: Include options.h.
	(gfc_build_st_parameter): Temporarily disable -Wpadded around layout
	of artificial IO data structures.
testsuite/
	* gfortran.dg/pr79886.f90: New test.

From-SVN: r246203
2017-03-16 17:27:08 +01:00
Tamar Christina d78607f597 2017-03-16 Tamar Christina <tamar.christina@arm.com>
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
	Change ins into fmov.

From-SVN: r246190
2017-03-16 11:41:24 +00:00
Kyrylo Tkachov 6d06971da1 [AArch64] Use 'x' constraint for vector HFmode multiplication by indexed element instructions
* config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
	* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
	Use h_con constraint for operand 1.
	(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
	(*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.

From-SVN: r246189
2017-03-16 10:03:11 +00:00
Jeff Law f5a3ad8ae5 re PR tree-optimization/71437 (Performance regression after r235817)
PR tree-optimization/71437
	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
	(record_temporary_equivalences): Use it.

From-SVN: r246187
2017-03-15 21:19:46 -06:00
Jeff Law a3d514f231 re PR tree-optimization/71437 (Performance regression after r235817)
PR tree-optimization/71437
	* tree-ssa-dom.c (struct cond_equivalence): Moved from here into
	tree-ssa-scopedtables.
	(lookup_avail_expr, build_and_record_new_cond): Likewise.
	(record_conditions, record_cond, vuse_eq): Likewise.
	(record_edge_info): Adjust to API tweak of record_conditions.
	(simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
	(record_temporary_equivalences, optimize_stmt): Likewise.
	(eliminate_redundant_computations): Likewise.
	(record_equivalences_from_stmt): Likewise.
	* tree-ssa-scopedtables.c: Include options.h and params.h.
	(vuse_eq): New function, moved from tree-ssa-dom.c
	(build_and_record_new_cond): Likewise.
	(record_conditions): Likewise.  Accept vector of conditions rather
	than edge_equivalence structure for first argument.
	for the first argument.
	(avail_exprs_stack::lookup_avail_expr): New member function, moved
	from tree-ssa-dom.c.
	(avail_exprs_stack::record_cond): Likewise.
	* tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
	from tree-ssa-dom.c.
	(avail_exprs_stack): Add new member functions lookup_avail_expr
	and record_cond.
	(record_conditions): Declare.

From-SVN: r246186
2017-03-15 21:19:35 -06:00
GCC Administrator 47ee2e0741 Daily bump.
From-SVN: r246185
2017-03-16 00:16:14 +00:00
Vladimir Makarov 8b8e41e5c2 re PR target/80017 (ICE: Max. number of generated reload insns per insn is achieved (90))
2017-03-15  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/80017
	* lra-constraints.c (process_alt_operands): Increase reject for
	reloading an input/output operand.

From-SVN: r246181
2017-03-15 23:04:09 +00:00
Jason Merrill 559a77e112 PR c++/80043 - ICE with -fpermissive
* typeck.c (convert_for_assignment): Handle instantiate_type
	not giving an error.

From-SVN: r246180
2017-03-15 17:32:43 -04:00
Michael Meissner 3231d64b5e re PR target/79038 (Improve PowerPC ISA 3.0 conversion between integers and hardware _Float128)
[gcc]
2017-03-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/79038
	* config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
	insns to convert from signed/unsigned char/short to IEEE 128-bit
	floating point.
	(floatuns<QHI:mode><IEEE128:mode>2): Likewise.

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

	PR target/79038
	* gcc.target/powerpc/pr79038-1.c: New test.

From-SVN: r246178
2017-03-15 21:17:35 +00:00
Joseph Myers ae623a87a2 * de.po: Update.
From-SVN: r246177
2017-03-15 21:07:52 +00:00
Segher Boessenkool 81ef1f5e25 rs6000: Do not xfail nint_2.f90 on Linux systems
It was XFAILed because there was a bug in glibc, but that bug was fixed
nine years ago.  Nowadays everyone uses a version of glibc with the bug
fixed, so we should no longer XFAIL the test.


gcc/testsuite/
	PR fortran/33271
	* gfortran.dg/nint_2.f90: Do not xfail powerpc*-*-linux*.

From-SVN: r246174
2017-03-15 21:48:49 +01:00
David Malcolm 7fb22ebe01 Fix translation issue with character length * errors (PR fortran/79860)
gcc/fortran/ChangeLog:
	PR fortran/79860
	* resolve.c (resolve_contained_fntype): Make error messages more
	amenable to translation.

From-SVN: r246170
2017-03-15 18:05:06 +00:00
Jiong Wang 395a1e9b5c [gcc, testsuite] Don't xfail on arm
PR testsuite/79356
	* gcc.dg/attr-alloc_size-11.c: Don't xfail on arm.

From-SVN: r246167
2017-03-15 15:33:12 +00:00
Uros Bizjak 05f659104f re PR target/80019 (ICE in ix86_vector_duplicate_value, at config/i386/i386.c:42584)
PR target/80019
	* config/i386/i386.c (ix86_vector_duplicate_value): Create
	subreg of inner mode for values already in registers.

testsuite/ChangeLog:

	PR target/80019
	* gcc.target/i386/pr80019.c: New test.

From-SVN: r246161
2017-03-15 14:38:51 +01:00
Bernd Schmidt 6c194efb23 c6x.c (hwloop_optimize): Handle case where the old iteration reg is used after the loop.
* config/c6x/c6x.c (hwloop_optimize): Handle case where the old
	iteration reg is used after the loop.

From-SVN: r246160
2017-03-15 13:36:50 +00:00
Marek Polacek d579c38510 * c-parser.c (c_parser_enum_specifier): Remove redundant line.
From-SVN: r246156
2017-03-15 11:18:26 +00:00
Martin Liska 94285a7d56 Removed unused dg-error.
2017-03-15  Martin Liska  <mliska@suse.cz>

	* gcc.dg/tree-prof/pr66295.c: Removed unused dg-error.

From-SVN: r246154
2017-03-15 10:06:10 +00:00
Martin Sebor a983542b60 re PR tree-optimization/79800 (wrong snprintf result range with precision in a narrow negative-positive range)
PR tree-optimization/79800
	* gimple-ssa-sprintf.c (format_floating: Add argument.  Handle
	precision in negative-positive range.
	(format_floating): Call non-const overload with adjusted precision.

	PR tree-optimization/79800
	* gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Add test cases.
	* gcc.dg/tree-ssa/pr79800.c: New test.

From-SVN: r246151
2017-03-14 22:31:27 -06:00
Michael Meissner 76ca5f401d re PR target/79947 (ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570)
[gcc]
2017-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/79947
	* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
	-mpowerpc-gfxopt.

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

	PR target/79947
	* gcc.target/powerpc/pr79947.c: New test.

From-SVN: r246150
2017-03-15 00:25:10 +00:00
GCC Administrator 568c347cda Daily bump.
From-SVN: r246149
2017-03-15 00:16:12 +00:00