]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
6 years agoS/390: Use VEC_INEXACT/VEC_NOINEXACT instead of magic numbers.
Andreas Krebbel [Thu, 13 Dec 2018 12:06:40 +0000 (12:06 +0000)] 
S/390: Use VEC_INEXACT/VEC_NOINEXACT instead of magic numbers.

2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>

Backport from mainline
2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>

* config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64")
("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT.
("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT.

From-SVN: r267087

6 years agoDaily bump.
GCC Administrator [Thu, 13 Dec 2018 00:16:10 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r267072

6 years agobackport: re PR target/87496 (ICE in aggregate_value_p at gcc/function.c:2046)
Peter Bergner [Wed, 12 Dec 2018 17:20:41 +0000 (17:20 +0000)] 
backport: re PR target/87496 (ICE in aggregate_value_p at gcc/function.c:2046)

gcc/
Backport from mainline
2018-12-07  Peter Bergner  <bergner@linux.ibm.com>

PR target/87496
* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
-mabi=ieeelongdouble and -mabi=ibmlongdouble without -mlong-double-128.
Do not error for -mabi=ibmlongdouble and no ISA 2.06 support.
* doc/invoke.texi: Document -mabi=ibmlongdouble and -mabi=ieeelongdouble
require -mlong-double-128.

gcc/testsuite/
Backport from mainline
2018-12-07  Peter Bergner  <bergner@linux.ibm.com>

PR target/87496
* gcc.target/powerpc/pr87496-1.c: New test.
* gcc.target/powerpc/pr87496-2.c: New test.
* gcc.target/powerpc/pr87496-3.c: New test.

From-SVN: r267062

6 years agore PR fortran/88155 (ICE in gfc_format_decoder, at fortran/error.c:947)
Steven G. Kargl [Wed, 12 Dec 2018 01:26:12 +0000 (01:26 +0000)] 
re PR fortran/88155 (ICE in gfc_format_decoder, at fortran/error.c:947)

2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88155
* primary.c (gfc_match_structure_constructor):  Set the locus of
an expression to avoid a NULL pointer dereference.

2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88155
* gfortran.dg/pr70870_1.f90: Update testcase to use -std=gnu.
* gfortran.dg/pr88155.f90: New test.

From-SVN: r267043

6 years agoDaily bump.
GCC Administrator [Wed, 12 Dec 2018 00:16:09 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r267038

6 years agore PR fortran/88249 (ICE in gfc_resolve_filepos, at fortran/io.c:2853)
Steven G. Kargl [Wed, 12 Dec 2018 00:08:12 +0000 (00:08 +0000)] 
re PR fortran/88249 (ICE in gfc_resolve_filepos, at fortran/io.c:2853)

2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88249
* gfortran.h: Update prototype for gfc_resolve_filepos().
* io.c (gfc_resolve_filepos): Check for UNIT number if ERR= is present.
Use passed in locus for error message.
* resolve.c (gfc_resolve_code): Pass locus in gfc_resolve_filepos()
call.

2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88249
* gfortran.dg/pr88249.f90: New test.

From-SVN: r267037

6 years agoDaily bump.
GCC Administrator [Tue, 11 Dec 2018 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266964

6 years agore PR fortran/88269 (ICE in gfc_format_decoder, at fortran/error.c:947)
Steven G. Kargl [Mon, 10 Dec 2018 20:03:32 +0000 (20:03 +0000)] 
re PR fortran/88269 (ICE in gfc_format_decoder, at fortran/error.c:947)

2018-12-10  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88269
* io.c (io_constraint): Update macro. If locus line buffer is NULL,
use gfc_current_locus in error messages.
(check_io_constraints): Catch missing IO UNIT in write and read
statements.  io_constraint macro is incompatible here.

2018-12-10  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88269
* gfortran.dg/pr88269.f90: New test.

From-SVN: r266962

6 years agore PR fortran/88205 (ICE in gfc_wide_strncasecmp, at fortran/scanner.c:249)
Steven G. Kargl [Mon, 10 Dec 2018 01:25:47 +0000 (01:25 +0000)] 
re PR fortran/88205 (ICE in gfc_wide_strncasecmp, at fortran/scanner.c:249)

2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88205
* io.c (gfc_match_open): Move NEWUNIT checks to after STATUS checks.

2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88205
* gfortran.dg/pr88205.f90: New unit.

From-SVN: r266941

6 years agoDaily bump.
GCC Administrator [Mon, 10 Dec 2018 00:16:24 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266937

6 years agore PR fortran/88206 (ICE in gfc_match_type_spec, at fortran/match.c:2229)
Steven G. Kargl [Sun, 9 Dec 2018 20:23:06 +0000 (20:23 +0000)] 
re PR fortran/88206 (ICE in gfc_match_type_spec, at fortran/match.c:2229)

2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88206
* match.c (gfc_match_type_spec): REAL can be an intrinsic function.

2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88206
* gfortran.dg/pr88206.f90: New test.

From-SVN: r266934

6 years ago[multiple changes]
Steven G. Kargl [Sun, 9 Dec 2018 18:32:01 +0000 (18:32 +0000)] 
[multiple changes]

2018-12-09  Fritz Reese  <fritzoreese@gmail.com>

PR fortran/88228
* resolve.c (resolve_operator):  Do not call resolve_function.
Break like other cases.

2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88228
* gfortran.dg/pr88228.f90: New test.

From-SVN: r266928

6 years agoDaily bump.
GCC Administrator [Sun, 9 Dec 2018 00:16:24 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266910

6 years agoDaily bump.
GCC Administrator [Sat, 8 Dec 2018 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266901

6 years agoDaily bump.
GCC Administrator [Fri, 7 Dec 2018 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266882

6 years agoInitialize backtrace state once
Janne Blomqvist [Thu, 6 Dec 2018 15:38:25 +0000 (17:38 +0200)] 
Initialize backtrace state once

From backtrace.h for backtrace_create_state:

   Calling this function allocates resources that can not be freed.
   There is no backtrace_free_state function.  The state is used to
   cache information that is expensive to recompute.  Programs are
   expected to call this function at most once and to save the return
   value for all later calls to backtrace functions.

So instead of calling backtrace_create_state every time we wish to
show a backtrace, do it once and store the result in a static
variable.  libbacktrace allows multiple threads to access the state,
so no need to use TLS, but use atomic load/store to access the static
variable.

Regtested on x86_64-pc-linux-gnu.

libgfortran/ChangeLog:

2018-12-06  Janne Blomqvist  <jb@gcc.gnu.org>

Backport from trunk
PR libfortran/88137
* runtime/backtrace.c (show_backtrace): Store backtrace state in a
static variable, initialize once.

From-SVN: r266858

6 years agoBASE-VER: Increment to 7.4.1.
Richard Biener [Thu, 6 Dec 2018 11:02:34 +0000 (11:02 +0000)] 
BASE-VER: Increment to 7.4.1.

2018-12-06  Richard Biener  <rguenther@suse.de>

        * BASE-VER: Increment to 7.4.1.

From-SVN: r266849

6 years agoUpdate ChangeLog and version files for release releases/gcc-7.4.0
Richard Biener [Thu, 6 Dec 2018 10:00:03 +0000 (10:00 +0000)] 
Update ChangeLog and version files for release

From-SVN: r266844

6 years agoDaily bump.
GCC Administrator [Thu, 6 Dec 2018 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266835

6 years agoDaily bump.
GCC Administrator [Wed, 5 Dec 2018 00:16:10 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266808

6 years agoDaily bump.
GCC Administrator [Tue, 4 Dec 2018 00:16:07 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266767

6 years agoDaily bump.
GCC Administrator [Mon, 3 Dec 2018 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266730

6 years agoDaily bump.
GCC Administrator [Sun, 2 Dec 2018 00:16:05 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266715

6 years agoDaily bump.
GCC Administrator [Sat, 1 Dec 2018 00:16:30 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266703

6 years agoDaily bump.
GCC Administrator [Fri, 30 Nov 2018 00:16:06 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266655

6 years agoDaily bump.
GCC Administrator [Thu, 29 Nov 2018 00:16:06 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266595

6 years agore PR tree-optimization/79351 (Invalid tree PRE optimization around compound literal)
Richard Biener [Wed, 28 Nov 2018 12:57:58 +0000 (12:57 +0000)] 
re PR tree-optimization/79351 (Invalid tree PRE optimization around compound literal)

2018-11-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79351
* tree-ssa-sccvn.c (vn_reference_lookup_3): For assignments from
empty CONSTRUCTORs ensure the store is at a constant position.

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

From-SVN: r266556

6 years agore PR libstdc++/88199 (memory leak on unordered container move assignment)
François Dumont [Wed, 28 Nov 2018 06:19:38 +0000 (06:19 +0000)] 
re PR libstdc++/88199 (memory leak on unordered container move assignment)

2018-11-28  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/88199
* include/bits/hashtable.h
(_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
former buckets after assignment.
* testsuite/23_containers/unordered_set/allocator/move_assign.cc
(test03): New.

From-SVN: r266542

6 years agoDaily bump.
GCC Administrator [Wed, 28 Nov 2018 00:16:10 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266538

6 years agoDaily bump.
GCC Administrator [Tue, 27 Nov 2018 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266497

6 years agodarwin - backport r263763 to fix PR81033
Iain Sandoe [Mon, 26 Nov 2018 19:49:19 +0000 (19:49 +0000)] 
darwin - backport r263763 to fix PR81033

2018-11-26  Iain Sandoe  <iain@sandoe.co.uk>

Backport from mainline
2018-08-22  Iain Sandoe  <iain@sandoe.co.uk>

PR bootstrap/81033
PR target/81733
PR target/52795
* gcc/dwarf2out.c (FUNC_SECOND_SECT_LABEL): New.
(dwarf2out_switch_text_section): Generate a local label for the second
function sub-section and apply it as the second FDE start label.
* gcc/final.c (final_scan_insn_1): Emit second FDE label after the second
sub-section start.

From-SVN: r266478

6 years agodarwin - backport r26355, remove unused target hook.
Iain Sandoe [Mon, 26 Nov 2018 19:46:24 +0000 (19:46 +0000)] 
darwin - backport r26355, remove unused target hook.

2018-11-26  Iain Sandoe  <iain@sandoe.co.uk>

Backport from mainline
2018-08-15  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin.c
(darwin_function_switched_text_sections): Delete.
* gcc/config/darwin.h
(TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): Likewise.

From-SVN: r266477

6 years agore PR c++/84281 (Heap grows indefinitely)
Richard Biener [Mon, 26 Nov 2018 15:53:48 +0000 (15:53 +0000)] 
re PR c++/84281 (Heap grows indefinitely)

PR c++/84281

2018-02-12  Richard Biener  <rguenther@suse.de>

* constexpr.c (cxx_eval_vec_init_1): Use a RANGE_EXPR to compact
uniform constructors and delay allocating them fully.

From-SVN: r266469

6 years agoPR c++/87075 - ICE with constexpr array initialization.
Jason Merrill [Mon, 26 Nov 2018 15:53:43 +0000 (10:53 -0500)] 
PR c++/87075 - ICE with constexpr array initialization.

My patch of 2016-08-26 to avoid calling a trivial default constructor
introduced TARGET_EXPRs initialized with void_node to express trivial
initialization.  But when this shows up in a VEC_INIT_EXPR, we weren't
prepared to handle it.  Fixed by handling it explicitly in
cxx_eval_vec_init_1.

* constexpr.c (cxx_eval_vec_init_1): Handle trivial initialization.

From-SVN: r266468

6 years agoS/390: Fix flogr RTX.
Andreas Krebbel [Mon, 26 Nov 2018 15:29:27 +0000 (15:29 +0000)] 
S/390: Fix flogr RTX.

The flogr instruction uses a 64 bit register pair target operand.  In
the RTX we model this as a write to a TImode register.  Unfortunately
the RTX's being assigned to the two parts of the target operand were
swapped.  This is no problem if in the end the flogr instruction will
be emitted since the instruction still does what the clzdi expander
expects.  However, a problem arises when the RTX is used to optimize
CLZ for a constant input operand.  Even then it matters only if the
expression couldn't be folded on tree level already.

In the testcase this happened thanks to loop unrolling on RTL level.
The iteration variable is used as an argument to the clz
builtin. Due to the loop unrolling it becomes a constant and after
folding the broken RTX leads to a wrong assumption.

gcc/ChangeLog:

2018-11-26  Andreas Krebbel  <krebbel@linux.ibm.com>

Backport from mainline
2018-11-20  Andreas Krebbel  <krebbel@linux.ibm.com>

* config/s390/s390.md ("clztidi2"): Swap the RTX's written to the
DImode parts of the target operand.

gcc/testsuite/ChangeLog:

2018-11-26  Andreas Krebbel  <krebbel@linux.ibm.com>

Backport from mainline
2018-11-20  Andreas Krebbel  <krebbel@linux.ibm.com>

* gcc.target/s390/flogr-1.c: New test.

From-SVN: r266466

6 years agoS/390: Document z14/arch12 -march option.
Andreas Krebbel [Mon, 26 Nov 2018 15:08:49 +0000 (15:08 +0000)] 
S/390: Document z14/arch12 -march option.

gcc/ChangeLog:

2018-11-26  Andreas Krebbel  <krebbel@linux.ibm.com>

Backport from mainline
2018-11-26  Andreas Krebbel  <krebbel@linux.ibm.com>

* doc/invoke.texi: Document z14/arch12 -march option.

From-SVN: r266464

6 years agore PR tree-optimization/87645 (gcc hangs up on vr_values::vrp_visit_assignment_or_call)
Richard Biener [Mon, 26 Nov 2018 14:16:01 +0000 (14:16 +0000)] 
re PR tree-optimization/87645 (gcc hangs up on vr_values::vrp_visit_assignment_or_call)

2018-10-19  Richard Biener  <rguenther@suse.de>

PR middle-end/87645
Backport from mainline
2018-07-12  Richard Biener  <rguenther@suse.de>

* gimple-match-head.c (gimple_resimplify1): Apply recursion
limit.
(gimple_resimplify2): Likewise.
(gimple_resimplify3): Likewise.
(gimple_resimplify4): Likewise.

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

From-SVN: r266461

6 years agobackport: [multiple changes]
Richard Biener [Mon, 26 Nov 2018 13:31:21 +0000 (13:31 +0000)] 
backport: [multiple changes]

2018-11-26  Richard Biener  <rguenther@suse.de>

Backport from mainline
2018-10-15  Richard Biener  <rguenther@suse.de>

PR middle-end/87610
* tree-ssa-structalias.c (struct vls_data): Add escaped_p member.
(visit_loadstore): When a used restrict tag escaped verify that
the points-to solution of "other" pointers do not include
escaped.
(compute_dependence_clique): If a used restrict tag escaped
communicated that down to visit_loadstore.

* gcc.dg/torture/restrict-6.c: New testcase.

2018-10-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/87665
PR tree-optimization/87745
* tree-vectorizer.h (get_earlier_stmt): Remove.
(get_later_stmt): Pick up UID from the original non-pattern stmt.

* gfortran.dg/20181025-1.f: New testcase.

2018-10-24  Richard Biener  <rguenther@suse.de>

PR tree-optimization/87665
* tree-vect-data-refs.c (vect_preserves_scalar_order_p): Adjust
to reflect reality.

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

From-SVN: r266460

6 years agobackport: [multiple changes]
Richard Biener [Mon, 26 Nov 2018 11:59:05 +0000 (11:59 +0000)] 
backport: [multiple changes]

2018-11-26  Richard Biener  <rguenther@suse.de>

Backport from mainline
2018-06-14  Richard Biener  <rguenther@suse.de>

PR middle-end/86139
* tree-vect-generic.c (build_word_mode_vector_type): Remove
duplicate and harmful type_hash_canon.

2018-06-15  Richard Biener  <rguenther@suse.de>

PR middle-end/86076
* tree-cfg.c (move_stmt_op): unshare invariant addresses
before adjusting their block.

* gcc.dg/pr86076.c: New testcase.

From-SVN: r266458

6 years agotest-long-names.c: Fix build with -Wformat-security.
Matthias Klose [Mon, 26 Nov 2018 11:57:16 +0000 (11:57 +0000)] 
test-long-names.c: Fix build with -Wformat-security.

2018-11-26  Matthias Klose  <doko@ubuntu.com>

        * jit.dg/test-long-names.c: Fix build with -Wformat-security.

From-SVN: r266457

6 years agoDaily bump.
GCC Administrator [Mon, 26 Nov 2018 00:16:29 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266442

6 years agobackport: re PR fortran/88073 (Internal compiler error compiling WHERE construct...
Thomas Koenig [Sun, 25 Nov 2018 15:23:18 +0000 (15:23 +0000)] 
backport: re PR fortran/88073 (Internal compiler error  compiling WHERE construct with -O or -O2)

2018-11-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

Backport from trunk
PR fortran/88073
* frontend-passes.c (combine_array_constructor): Do not do
anything if in a WHERE statement.

2018-11-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

Backport from trunk
PR fortran/88073
* gfortran.dg/where_7.f90: New test.

From-SVN: r266437

6 years agoDaily bump.
GCC Administrator [Sun, 25 Nov 2018 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266432

6 years agore PR fortran/88143 (ICE in resolve_variable at gcc/fortran/resolve.c:5413 since...
Paul Thomas [Sat, 24 Nov 2018 18:54:52 +0000 (18:54 +0000)] 
re PR fortran/88143 (ICE in resolve_variable at gcc/fortran/resolve.c:5413 since r253077)

2018-11-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/88143
* resolve.c (resolve_variable): Check for associate names with
NULL target.

2018-11-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/88143
* gfortran.dg/associate_46.f90: New test.

From-SVN: r266431

6 years agoDaily bump.
GCC Administrator [Sat, 24 Nov 2018 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266423

6 years agoDaily bump.
GCC Administrator [Fri, 23 Nov 2018 00:16:11 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266398

6 years ago* testsuite/ChangeLog: Fix whitespace.
Uros Bizjak [Thu, 22 Nov 2018 22:47:46 +0000 (23:47 +0100)] 
* testsuite/ChangeLog: Fix whitespace.

From-SVN: r266394

6 years agobackport: re PR target/88051 (internal compiler error: in add_clobbers, at config...
Uros Bizjak [Thu, 22 Nov 2018 22:46:54 +0000 (23:46 +0100)] 
backport: re PR target/88051 (internal compiler error: in add_clobbers, at config/i386/sync.md:1762)

Backport from mainline
2018-11-16  Uros Bizjak  <ubizjak@gmail.com>

PR target/88051
* config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC.
(movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec.

From-SVN: r266393

6 years agobackport: re PR rtl-optimization/85925 (compilation of masking with 257 goes wrong...
Eric Botcazou [Thu, 22 Nov 2018 16:29:50 +0000 (16:29 +0000)] 
backport: re PR rtl-optimization/85925 (compilation of masking with 257 goes wrong in combine at -02)

Backport from mainline
2018-11-21  Jakub Jelinek  <jakub@redhat.com>

PR rtl-optimization/85925
* gcc.c-torture/execute/20181120-1.c: Require effective target
int32plus.
(u): New variable.
(main): Compare d against u.f1 rather than 0x101.  Use 0x4030201
instead of 0x10101.

From-SVN: r266384

6 years agoBackport "[vms] Add missing vmsdbgout_early_finish"
Tom de Vries [Thu, 22 Nov 2018 13:12:41 +0000 (13:12 +0000)] 
Backport "[vms] Add missing vmsdbgout_early_finish"

2018-11-22  Tom de Vries  <tdevries@suse.de>

backport from trunk:
2017-11-19  Tom de Vries  <tom@codesourcery.com>

PR target/82961
* vmsdbgout.c (vmsdbgout_early_finish): New function.
(vmsdbg_debug_hooks): Set early_finish field to vmsdbgout_early_finish.

From-SVN: r266375

6 years agoDaily bump.
GCC Administrator [Thu, 22 Nov 2018 00:16:06 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266362

6 years agobackport: [multiple changes]
Mihail Ionescu [Wed, 21 Nov 2018 16:50:37 +0000 (16:50 +0000)] 
backport: [multiple changes]

2018-11-21  Mihail Ionescu  <mihail.ionescu@arm.com>

gcc/
PR target/87867
Backport from mainiline
2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>

* config/arm/arm.c (arm_reorg): Skip Thumb reorg pass for thunks.
(arm32_output_mi_thunk): Deal with long calls.

gcc/testsuite/
PR target/87867
Backport from mainiline
2018-09-17  Eric Botcazou  <ebotcazou@adacore.com>

* g++.dg/other/thunk2a.C: New test.
* g++.dg/other/thunk2b.C: Likewise.

From-SVN: r266348

6 years agoDaily bump.
GCC Administrator [Wed, 21 Nov 2018 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266330

6 years agobackport: [multiple changes]
Richard Biener [Tue, 20 Nov 2018 14:47:49 +0000 (14:47 +0000)] 
backport: [multiple changes]

2018-11-20  Richard Biener  <rguenther@suse.de>

Backport from mainline
2018-03-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84777
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): For
force-vectorize loops ignore whether we are optimizing for size.

2018-01-26  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/84003
* dse.c (record_store): Only record redundant stores when
the earlier store aliases at least all accesses the later one does.

* g++.dg/torture/pr77745.C: Mark foo noinline to trigger
latent bug in DSE if NOINLINE is appropriately defined.
* g++.dg/torture/pr77745-2.C: New testcase including pr77745.C
and defining NOINLINE.

From-SVN: r266318

6 years agobackport: re PR target/87853 (_mm_cmpgt_epi8 broken with -funsigned-char)
Xuepeng Guo [Tue, 20 Nov 2018 14:35:43 +0000 (14:35 +0000)] 
backport: re PR target/87853 (_mm_cmpgt_epi8 broken with -funsigned-char)

        Backport from mainline
        2018-11-05  Xuepeng Guo  <xuepeng.guo@intel.com>

        PR target/87853
        * config/i386/emmintrin.h (__v16qs): New to cope with option
        -funsigned-char.
        (_mm_cmpeq_epi8): Replace __v16qi with __v16qs.
        (_mm_cmplt_epi8): Likewise.
        (_mm_cmpgt_epi8): Likewise.

From-SVN: r266317

6 years agore PR rtl-optimization/85925 (compilation of masking with 257 goes wrong in combine...
Eric Botcazou [Tue, 20 Nov 2018 09:04:12 +0000 (09:04 +0000)] 
re PR rtl-optimization/85925 (compilation of masking with 257 goes wrong in combine at -02)

2018-11-20  Eric Botcazou  <ebotcazou@adacore.com>

PR rtl-optimization/85925
* rtl.h (word_register_operation_p): New predicate.
* combine.c (record_dead_and_set_regs_1): Only apply specific handling
for WORD_REGISTER_OPERATIONS targets to word_register_operation_p RTX.
* rtlanal.c (nonzero_bits1): Likewise.  Adjust couple of comments.
(num_sign_bit_copies1): Likewise.

From-SVN: r266304

6 years agoDaily bump.
GCC Administrator [Tue, 20 Nov 2018 00:16:28 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266291

6 years agoDaily bump.
GCC Administrator [Mon, 19 Nov 2018 00:16:23 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266257

6 years agobackport: re PR target/87928 (ICE in ix86_compute_frame_layout, at config/i386/i386...
Uros Bizjak [Sun, 18 Nov 2018 21:36:30 +0000 (22:36 +0100)] 
backport: re PR target/87928 (ICE in ix86_compute_frame_layout, at config/i386/i386.c:11161 since r228607)

Backport from mainline
2018-11-11  Uros Bizjak  <ubizjak@gmail.com>

PR target/87928
* config/i386/i386.h (STACK_BOUNDARY): Use TARGET_64BIT_MS_ABI
instead of (TARGET_64BIT && ix86_abi == MS_ABI).
* config/i386/darwin.h (STACK_BOUNDARY): Ditto.
* config/i386/cygming.h (STACK_BOUNDARY): Remove.

testsuite/ChangeLog:

Backport from mainline
2018-11-11  Uros Bizjak  <ubizjak@gmail.com>

PR target/87928
* gcc.target/i386/pr87928.c: New test.

From-SVN: r266254

6 years agoDaily bump.
GCC Administrator [Sun, 18 Nov 2018 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266243

6 years agoDaily bump.
GCC Administrator [Sat, 17 Nov 2018 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266227

6 years agoDaily bump.
GCC Administrator [Fri, 16 Nov 2018 00:16:11 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266196

6 years ago[debug/88006] -fdebug-types-section gives undefined ref
Nathan Sidwell [Thu, 15 Nov 2018 14:31:35 +0000 (14:31 +0000)] 
[debug/88006] -fdebug-types-section gives undefined ref

https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01280.html
PR debug/88006
PR debug/87462
* dwarf2out.c (dwarf2out_finish): Apply resolve_addr to comdat
type list.

* g++.dg/debug/dwarf2/pr87462.C: New.
* g++.dg/debug/dwarf2/pr88006.C: New.

From-SVN: r266185

6 years agomisc.c (gnat_init_gcc_eh): Do not override the switch -fnon-call-exceptions passed...
Eric Botcazou [Thu, 15 Nov 2018 12:06:55 +0000 (12:06 +0000)] 
misc.c (gnat_init_gcc_eh): Do not override the switch -fnon-call-exceptions passed on the command line in...

* gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the switch
-fnon-call-exceptions passed on the command line in -gnatp mode.

From-SVN: r266178

6 years agoDaily bump.
GCC Administrator [Thu, 15 Nov 2018 00:16:07 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266165

6 years agoDaily bump.
GCC Administrator [Wed, 14 Nov 2018 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266094

6 years agomisc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions for the runtime on platforms...
Eric Botcazou [Tue, 13 Nov 2018 09:03:34 +0000 (09:03 +0000)] 
misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions for the runtime on platforms where...

* gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions
for the runtime on platforms where System.Machine_Overflow is true.

From-SVN: r266059

6 years agoDaily bump.
GCC Administrator [Tue, 13 Nov 2018 00:16:06 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266040

6 years agoDaily bump.
GCC Administrator [Mon, 12 Nov 2018 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266021

6 years agobackport: re PR c++/58372 (internal compiler error: ix86_compute_frame_layout)
Uros Bizjak [Sun, 11 Nov 2018 17:44:43 +0000 (18:44 +0100)] 
backport: re PR c++/58372 (internal compiler error: ix86_compute_frame_layout)

Backport from mainline
2018-11-04  Uros Bizjak  <ubizjak@gmail.com>

PR middle-end/58372
* cfgexpand.c (pass_expand::execute): Move the call to
finish_eh_generation in front of the call to expand_stack_alignment.

testsuite/ChangeLog:

Backport from mainline
2018-11-04  Uros Bizjak  <ubizjak@gmail.com>

PR middle-end/58372
* g++.dg/pr58372.C: New test.

From-SVN: r266015

6 years agoDaily bump.
GCC Administrator [Sun, 11 Nov 2018 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r266005

6 years agoDaily bump.
GCC Administrator [Sat, 10 Nov 2018 00:16:37 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265999

6 years agosyscall: change RLIM_INFINITY from 0xffffffffffffffff to -1
Ian Lance Taylor [Fri, 9 Nov 2018 15:29:15 +0000 (15:29 +0000)] 
syscall: change RLIM_INFINITY from 0xffffffffffffffff to -1

    For compatibility with the gc toolchain's syscall package.

    Fixes golang/go#28665

    Reviewed-on: https://go-review.googlesource.com/c/148697

From-SVN: r265972

6 years agoDaily bump.
GCC Administrator [Fri, 9 Nov 2018 00:16:27 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265943

6 years agofe.h (Suppress_Checks): Declare.
Eric Botcazou [Thu, 8 Nov 2018 15:58:16 +0000 (15:58 +0000)] 
fe.h (Suppress_Checks): Declare.

* fe.h (Suppress_Checks): Declare.
* gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions
only if checks are not suppressed and -faggressive-loop-optimizations
only if they are.
* gcc-interface/trans.c (struct loop_info_d): Remove has_checks and
warned_aggressive_loop_optimizations fields.
(gigi): Do not clear warn_aggressive_loop_optimizations here.
(Raise_Error_to_gnu): Do not set has_checks.
(gnat_to_gnu) <N_Indexed_Component>: Remove support for aggressive
loop optimizations.

From-SVN: r265923

6 years agoDaily bump.
GCC Administrator [Thu, 8 Nov 2018 00:16:31 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265900

6 years agogcc: xtensa: don't force PIC for uclinux target
Max Filippov [Wed, 7 Nov 2018 20:52:29 +0000 (20:52 +0000)] 
gcc: xtensa: don't force PIC for uclinux target

xtensa-uclinux uses bFLT executable file format that cannot relocate
fields representing offsets from data to code. C++ objects built as PIC
use offsets to encode FDE structures. As a result C++ exception handling
doesn't work correctly on xtensa-uclinux. Don't use PIC by default on
xtensa-uclinux.

gcc/
2018-11-07  Max Filippov  <jcmvbkbc@gmail.com>

Backport from mainline
2018-11-05  Max Filippov  <jcmvbkbc@gmail.com>

* config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0.

From-SVN: r265889

6 years agoDaily bump.
GCC Administrator [Wed, 7 Nov 2018 00:16:37 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265854

6 years agoDaily bump.
GCC Administrator [Tue, 6 Nov 2018 00:16:23 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265824

6 years agocompiler: handle abstract type in builtin numeric const value
Ian Lance Taylor [Mon, 5 Nov 2018 20:59:38 +0000 (20:59 +0000)] 
compiler: handle abstract type in builtin numeric const value

    Builtin_call_expression::do_numeric_constant_value can be called by
    Array_type::verify_length before the determine types pass, so accept
    an abstract type.

    Test case is https://golang.org/cl/147537.

    Fixes golang/go#28601

    Reviewed-on: https://go-review.googlesource.com/c/147442

From-SVN: r265818

6 years agoDaily bump.
GCC Administrator [Mon, 5 Nov 2018 00:16:31 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265781

6 years agoDaily bump.
GCC Administrator [Sun, 4 Nov 2018 00:16:33 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265771

6 years agobackport: re PR fortran/87597 (wrong result with matmul inlining)
Tobias Burnus [Sat, 3 Nov 2018 14:49:33 +0000 (15:49 +0100)] 
backport: re PR fortran/87597 (wrong result with matmul inlining)

2019-11-03  Tobias Burnus  <burnus@net-b.de>
Thomas Koenig  <tkoenig@gcc.gnu.org>

Backport from trunk
PR fortran/87597
* expr.c (gfc_simplify_expr): Avoid simplifying
the 'array' argument to lbound/ubound/lcobound/
ucobound.

2018-11-03  Tobias Burnus  <burnus@net-b.de>
Thomas Koenig  <tkoenig@gcc.gnu.org>

Backport from trunk
PR fortran/87597
* gfortran.dg/inline_matmul_24.f90: New.

Co-Authored-By: Thomas Koenig <tkoenig@gcc.gnu.org>
From-SVN: r265769

6 years agoDaily bump.
GCC Administrator [Sat, 3 Nov 2018 00:16:41 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265764

6 years agoDaily bump.
GCC Administrator [Fri, 2 Nov 2018 00:16:57 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265736

6 years agoDaily bump.
GCC Administrator [Thu, 1 Nov 2018 00:16:44 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265705

6 years agoPR libstdc++/87822 fix layout change for nested std::pair
Jonathan Wakely [Wed, 31 Oct 2018 13:16:10 +0000 (13:16 +0000)] 
PR libstdc++/87822 fix layout change for nested std::pair

The introduction of the empty __pair_base base class for PR 86751
changed the layout of std::pair<std::pair<...>, ...>. The outer pair and
its first member both have a base class of the same type, which cannot
exist at the same address. This causes the first member to be at a
non-zero offset.

The solution is to make the base class depend on the template
parameters, so that each pair type has a different base class type,
which allows the base classes of the outer pair and its first member to
have the same address.

PR libstdc++/87822
* include/bits/stl_pair.h (__pair_base): Change to class template.
(pair): Make base class type depend on template parameters.
* testsuite/20_util/pair/87822.cc: New test.

From-SVN: r265683

6 years agoDaily bump.
GCC Administrator [Wed, 31 Oct 2018 00:16:59 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265650

6 years agoDaily bump.
GCC Administrator [Tue, 30 Oct 2018 00:16:23 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265612

6 years agoDaily bump.
GCC Administrator [Mon, 29 Oct 2018 00:16:29 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265579

6 years agoDaily bump.
GCC Administrator [Sun, 28 Oct 2018 00:16:08 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265562

6 years agoDaily bump.
GCC Administrator [Sat, 27 Oct 2018 00:16:32 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265552

6 years agobackport: re PR tree-optimization/87473 (ICE in create_add_on_incoming_edge, at gimpl...
Bill Schmidt [Fri, 26 Oct 2018 19:38:45 +0000 (19:38 +0000)] 
backport: re PR tree-optimization/87473 (ICE in create_add_on_incoming_edge, at gimple-ssa-strength-reduction.c:2344)

[gcc]

2018-10-26  Bill Schmidt  <wschmidt@linux.ibm.com>

Backport from mainline
2018-10-19  Bill Schmidt  <wschmidt@linux.ibm.com>

PR tree-optimization/87473
* gimple-ssa-strength-reduction.c (record_phi_increments): For
phi arguments identical to the base expression of the phi
candidate, record a phi-adjust increment of zero minus the index
expression of the hidden basis.
(phi_incr_cost): For phi arguments identical to the base
expression of the phi candidate, the difference to compare against
the increment is zero minus the index expression of the hidden
basis, and there is no potential savings from replacing the (phi)
statement.
(ncd_with_phi): For phi arguments identical to the base expression
of the phi candidate, the difference to compare against the
increment is zero minus the index expression of the hidden basis.
(all_phi_incrs_profitable): For phi arguments identical to the
base expression of the phi candidate, the increment to be checked
for profitability is zero minus the index expression of the hidden
basis.

[gcc/testsuite]

2018-10-26  Bill Schmidt  <wschmidt@linux.ibm.com>

Backport from mainline
2018-10-19  Bill Schmidt  <wschmidt@linux.ibm.com>

PR tree-optimization/87473
* gcc.c-torture/compile/pr87473.c: New file.

From-SVN: r265547

6 years agoDaily bump.
GCC Administrator [Fri, 26 Oct 2018 00:16:38 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265512

6 years agoPR libstdc++/87749 fix (and optimize) string move construction
Jonathan Wakely [Thu, 25 Oct 2018 16:32:47 +0000 (17:32 +0100)] 
PR libstdc++/87749 fix (and optimize) string move construction

The move constructor for the SSO string uses assign(const basic_string&)
when either:

(1) the source string is "local" and so the contents of the small string
buffer need to be copied, or

(2) the allocator does not propagate and is_always_equal is false.

Case (1) is suboptimal, because the assign member is not noexcept and
the compiler isn't smart enough to see it won't actually throw in this
case. This causes extra code in the move assignment operator so that any
exception will be turned into a call to std::terminate. This can be
fixed by copying small strings inline instead of calling assign.

Case (2) is a bug, because the specific instances of the allocators
could be equal even if is_always_equal is false. This can result in an
unnecessary deep copy (and potentially-throwing allocation) when the
storage should be moved. This can be fixed by simply checking if the
allocators are equal.

PR libstdc++/87749
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::operator=(basic_string&&)): For short strings copy the
buffer inline. Only fall back to using assign(const basic_string&) to
do a deep copy when reallocation is needed.
* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
New test.
* testsuite/21_strings/basic_string/modifiers/assign/char/
move_assign_optim.cc: New test.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
New test.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
move_assign_optim.cc: New test.

From-SVN: r265497

6 years agoDaily bump.
GCC Administrator [Thu, 25 Oct 2018 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265476

6 years agoDaily bump.
GCC Administrator [Wed, 24 Oct 2018 00:16:46 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265446

6 years agoPR libstdc++/87704 fix unique_ptr(nullptr_t) constructors
Jonathan Wakely [Tue, 23 Oct 2018 15:55:05 +0000 (16:55 +0100)] 
PR libstdc++/87704 fix unique_ptr(nullptr_t) constructors

Using a delegating constructor to implement these constructors means
that they instantiate the destructor, which requires the element_type to
be complete. In C++11 and C++14 they were specified to be delegating,
but that was changed as part of LWG 2801 so in C++17 they don't require
a complete type (as was intended all along).

PR libstdc++/87704
* include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
not delegate to default constructor.
(unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
* testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.

From-SVN: r265429

6 years agobackport "[c++] Fix DECL_BY_REFERENCE of clone parms"
Tom de Vries [Tue, 23 Oct 2018 15:06:17 +0000 (15:06 +0000)] 
backport "[c++] Fix DECL_BY_REFERENCE of clone parms"

Consider test.C compiled at -O0 -g:
...
class string {
public:
  string (const char *p) { this->p = p ; }
  string (const string &s) { this->p = s.p; }

private:
  const char *p;
};

class foo {
public:
  foo (string dir_hint) {}
};

int
main (void)
{
  std::string s = "This is just a string";
  foo bar(s);
  return 0;
}
...

When parsing foo::foo, the dir_hint parameter gets a DECL_ARG_TYPE of
'struct string & restrict'.  Then during finish_struct, we call
clone_constructors_and_destructors and create clones for foo::foo, and
set the DECL_ARG_TYPE in the same way.

Later on, during finish_function, cp_genericize is called for the original
foo::foo, which sets the type of parm dir_hint to DECL_ARG_TYPE, and sets
DECL_BY_REFERENCE of dir_hint to 1.

After that, during maybe_clone_body update_cloned_parm is called with:
...
(gdb) call debug_generic_expr (parm.typed.type)
struct string & restrict
(gdb) call debug_generic_expr (cloned_parm.typed.type)
struct string
...
The type of the cloned_parm is then set to the type of parm, but
DECL_BY_REFERENCE is not set.

When doing cp_genericize for the clone later on,
TREE_ADDRESSABLE (TREE_TYPE ()) is no longer true for the updated type for
the parm, so DECL_BY_REFERENCE is not set there either.

The missing DECL_BY_REFERENCE on cloned_parm causes incorrect debug info to be
generated.

This patch fixes the problem by copying DECL_BY_REFERENCE in update_cloned_parm.

Bootstrapped and reg-tested on x86_64.

2018-10-23  Tom de Vries  <tdevries@suse.de>

backport from trunk:
2018-07-31  Tom de Vries  <tdevries@suse.de>

PR debug/86687
* optimize.c (update_cloned_parm): Copy DECL_BY_REFERENCE.

* g++.dg/guality/pr86687.C: New test.

From-SVN: r265427

6 years agoDaily bump.
GCC Administrator [Tue, 23 Oct 2018 00:16:54 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r265406