Age | Commit message (Collapse) | Author |
|
PR fortran/39239
* symbol.c (check_conflict): report an error if an EQUIVALENCE variable is BIND(C).
2017-03-12 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/39239
* gfortran.dg/equiv_constraint_bind_c.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246284 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
On RISC-V we can't store integers in floating-point registers as this is
forbidden by the ISA. We've always disallowed this, but we were
setting the preferred mode to FP_REGS for some integer modes. This
caused the LRA to blow up with some hard to read error messages.
This patch removes the prefered mode hook, as the right thing to do here
is nothing.
Thanks to Kito for finding the bug, and mpf for the fix. See also
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79912>.
PR target/79912
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246283 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
The RISC-V memory model is still in the process of being formally
specified, so for now we're going to be safe and add the I/O bits to
userspace fences because there's no way to know if userspace is touching
memory-mapped I/O regions at compile time.
This will have no impact on existing microarchitecutres because they
treat all fences conservatively.
gcc/ChangeLog:
2017-03-17 Palmer Dabbelt <palmer@dabbelt.com>
* config/riscv/riscv.c (riscv_print_operand): Use "fence
iorw,ow".
* config/riscv/sync.mc (mem_thread_fence_1): Use "fence
iorw,iorw".
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246282 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
The test is coupled to the branch cost model.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/ssa-thread-14.c: Adjust target selector.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246281 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2017-03-20 Palmer Dabbelt <palmer@dabbelt.com>
* MAINTAINERS (CPU Port Maintainers): Add Kito Cheng, Palmer Dabbelt,
and Andrew Waterman as the RISC-V maintainers.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246280 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* except.c (build_must_not_throw_expr): Call
instantiate_non_dependent_expr_sfinae.
* g++.dg/tm/pr80059-2.C: New test.
* g++.dg/tm/pr80059.C: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246279 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0).
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246278 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR tree-optimization/80113
* graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
allocate extra SSA name for PHI def.
(add_close_phis_to_outer_loops): Likewise.
(add_close_phis_to_merge_points): Likewise.
(copy_loop_close_phi_args): Likewise.
(copy_cond_phi_nodes): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246277 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2017-03-20 Martin Liska <mliska@suse.cz>
PR middle-end/79753
* tree-chkp.c (chkp_build_returned_bound): Do not build
returned bounds for a LHS that's not a BOUNDED_P type.
2017-03-20 Martin Liska <mliska@suse.cz>
PR middle-end/79753
* gcc.target/i386/mpx/pr79753.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246276 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2017-03-20 Martin Liska <mliska@suse.cz>
PR target/79769
PR target/79770
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
COMPLEX_CST and VECTOR_CST.
2017-03-20 Martin Liska <mliska@suse.cz>
PR target/79769
PR target/79770
* g++.dg/pr79769.C: New test.
* gcc.target/i386/mpx/pr79770.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246275 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
The FP load and test instruction should not be used for a comparison
if the target operand is being used afterwards. It unfortunately
turns SNaNs into QNaNs.
gcc/ChangeLog:
2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/78857
* config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the
target operand. A new splitter adds the clobber statement in case
the target operand is dead anyway.
gcc/testsuite/ChangeLog:
2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/78857
* gcc.target/s390/load-and-test-fp-1.c: New test.
* gcc.target/s390/load-and-test-fp-2.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246274 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* decl.c (cp_finish_decomp): Don't pull out the DECL_INITIAL of a
reference decomposition.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246273 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* constexpr.c (cxx_eval_call_expression): Set ctx->call while
expanding trivial constructor.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246272 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246271 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
to age-old versions of binutils and glibc.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246266 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/contrib.texi (Contributors): Remove duplicate entry for myself.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246265 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246264 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* MAINTAINERS: Add self to Write After Approval
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246261 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246260 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
ansi.org to https.
Update link to the C++ standard at ansi.org.
* doc/xml/faq.xml: Remove information redundant with the above;
instead add a reference.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246259 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246258 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
already covered under Reviewers.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246257 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246256 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246255 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
requirement for binutils 2.13.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246254 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
gcc/
* combine.c (try_combine): Delete redundant i1 test. Call
prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246253 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246252 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246249 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR libfortran/79956
* m4/reshape.m4 (reshape_'rtype_ccode`): Correct use
of GFC_ASSERT.
* generated/reshape_c10.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_r8.c: Regenerated.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246248 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* src/c++11/codecvt.cc (range): Add non-type template parameter and
define oerloaded operators for reading and writing code units.
(range<Elem, false>): Define partial specialization for accessing
wide characters in potentially unaligned byte ranges.
(ucs2_span(const char16_t*, const char16_t*, ...))
(ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters
to range<const char16_t, false> in order to avoid unaligned reads.
(__codecvt_utf16_base<char16_t>::do_out)
(__codecvt_utf16_base<char32_t>::do_out)
(__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for
unaligned data to avoid unaligned writes.
(__codecvt_utf16_base<char16_t>::do_in)
(__codecvt_utf16_base<char32_t>::do_in)
(__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return
error if there are unprocessable trailing bytes.
(__codecvt_utf16_base<char16_t>::do_length)
(__codecvt_utf16_base<char32_t>::do_length)
(__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type
range<const char16_t, false> to span functions.
* testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246245 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* init.c (build_aggr_init): Check array initializer.
(build_vec_init): Check the type of a CONSTRUCTOR.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246244 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246243 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* decl.c (xref_basetypes): Also check for indirect vbases.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246242 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR fortran/79841
* openmp.c (check_symbol_not_pointer): Adjust diagnostics.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246241 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR target/80052
* aarch64.opt(verbose-cost-dump): Fix typo.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246229 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
for VECTOR_UNIT_VSX_P (<MODE>mode) too.
* gcc.target/powerpc/pr79951.c: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246228 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
use RELOAD_OTHER for it and its address reloads.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246227 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* 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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246226 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* 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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246225 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* gimple-ssa-store-merging.c (class pass_store_merging): Initialize
m_stores_head.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246224 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246223 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246221 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2017-03-17 Tom de Vries <tom@codesourcery.com>
* gcov-dump.c (print_usage): Print bug_report_url.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246219 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR middle-end/80050
* genmatch.c (parser::next): Remove pointless check for CPP_EOF.
(parser::peek): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246218 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR tree-optimization/80048
* sese.c (free_sese_info): Properly release rename_map and
copied_bb_map elements.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246217 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246216 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246213 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246212 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246211 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* constexpr.c (lookup_placeholder): Tweak.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246210 138bc75d-0d04-0410-961f-82ee72b054a4
|