[PATCH] Fix up --enable-checking=fold (PR middle-end/89503)

2019-02-28 Thread Jakub Jelinek
Hi! Some of the builtin folding sets TREE_NO_WARNING flags, which triggers as --enable-checking=fold errors. I think we should allow setting of TREE_NO_WARNING flag when folding, so this patch arranges that. Tested on: ../configure --enable-languages=c,c++,fortran --enable-checking=fold --disab

[PATCH PR89487]Avoid taking address of register variable in loop list

2019-02-28 Thread bin.cheng
Hi, This patch fixes PR89487 by following comments in PR. It simply avoid checking runtime alias by versioning in loop distribution if address of register variable may need to be taken. One thing I am not sure is if we should avoid generating data reference in the first place: Creating dr for

gotools patch committed: Double timeout

2019-02-28 Thread Ian Lance Taylor
In PR 89406 the cmd/go tests are timing out after 10 minutes. Double the timeout to give them a better chance of completing. Bootstrapped and ran gotools tests on x86_64-pc-linux-gnu. Committed to mainline. Ian 2019-02-28 Ian Lance Taylor PR go/89406 * Makefile.am (GOTOOLS_TEST_TIMEOUT): D

[PATCH] PR c/89524 - Ignore -Wno-error=

2019-02-28 Thread Alex Henrie
* opts.c: Ignore -Wno-error=. --- gcc/opts.c | 5 - gcc/testsuite/c-c++-common/pr89524.c | 7 +++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/c-c++-common/pr89524.c diff --git a/gcc/opts.c b/gcc/opts.c index 468abb16334..f9a

libgo patch committed: Default to -O2 when using the go tool

2019-02-28 Thread Ian Lance Taylor
This libgo patch changes the go tool to default to invoking gccgo with -O2. That seems like the right default for people who choose to use this toolchain. It can be overridden with the go tool's -gccgoflags option. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline.

Re: libgo patch committed: Run examples

2019-02-28 Thread Ian Lance Taylor
On Thu, Feb 28, 2019 at 1:59 AM Rainer Orth wrote: > > > On Thu, Feb 21, 2019 at 1:47 AM Andreas Schwab wrote: > >> > >> On Feb 20 2019, Ian Lance Taylor wrote: > >> > >> > if test x$hasoutput = xtrue; then > >> > - echo ' {"'$n'", '$j', "'"$output"'", > >> >

[C++ PATCH] PR c++/88183 - ICE with .* fold-expression.

2019-02-28 Thread Jason Merrill
build_m_component_ref can't handle type-dependent operands, so let's use the default case; tsubst_copy_and_build also uses build_x_binary_op for substituting a DOTSTAR_EXPR. Tested x86_64-pc-linux-gnu, applying to trunk. * pt.c (fold_expression) [DOTSTAR_EXPR]: Remove special handling. --

[C++ PATCH] * name-lookup.c (print_binding_level): Print this_entity.

2019-02-28 Thread Jason Merrill
I wanted this when messing with binding levels for 86969. This function is only used interactively from the debugger, so it's safe to go in now. --- gcc/cp/name-lookup.c | 2 ++ gcc/cp/ChangeLog | 4 2 files changed, 6 insertions(+) diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-looku

Re: [C++ PATCH] PR c++/86969 - ICE with constexpr if and recursive generic lambdas.

2019-02-28 Thread Jason Merrill
On Wed, Feb 27, 2019 at 4:54 PM Jason Merrill wrote: > > Immediately capturing a VLA means we need to create a dependent VLA capture > type, and not in the context of the lambda op(), since trying to look up the > instantiation of the op() while we're substituting into the capture list > would cra

Re: [patch] Fix wrong code for boolean negation in condition at -O

2019-02-28 Thread Jakub Jelinek
On Fri, Mar 01, 2019 at 12:19:36AM +0100, Eric Botcazou wrote: > > I know Eric has committed a tweak here, but I view this magic handling as > > something meant for boolean types only (if it is correct at all and the > > right fix wouldn't be avoid the BIT_NOT_EXPR for the prec > 1 booleans, I > >

Re: [patch] Fix wrong code for boolean negation in condition at -O

2019-02-28 Thread Eric Botcazou
> I know Eric has committed a tweak here, but I view this magic handling as > something meant for boolean types only (if it is correct at all and the > right fix wouldn't be avoid the BIT_NOT_EXPR for the prec > 1 booleans, I > believe the expansion of BIT_NOT_EXPR doesn't have any special case for

Re: [patch] Fix wrong code for boolean negation in condition at -O

2019-02-28 Thread Jakub Jelinek
On Mon, Feb 25, 2019 at 10:07:10AM +0100, Eric Botcazou wrote: > 2019-02-25 Eric Botcazou > > * tree-ssa-dom.c (edge_info::derive_equivalences) : Fix > and move around comment. > : Likewise. > : Add specific handling for boolean types. This broke the following testcase,

Re: [patch] Fix wrong code for boolean negation in condition at -O

2019-02-28 Thread Eric Botcazou
the value is 0 instead of the entire value. * gcc.c-torture/execute/20190228-1.c: New test. -- Eric Botcazou/* PR tree-optimization/89536 */ /* Testcase by Zhendong Su */ int a = 1; int main (void) { a = ~(a && 1); if (a < -1) a = ~a; if (!a) __b

[C++ PATCH] Reject constexpr functions with function-try-block (PR c++/89513, take 2)

2019-02-28 Thread Jakub Jelinek
On Wed, Feb 27, 2019 at 06:48:13PM -0500, Jason Merrill wrote: > > Or would you prefer to have P1002R1 implemented and thus make this perhaps a > > pedwarn before cxx2a, similarly for the error on try block in the body and > > tweak build_constexpr_constructor_member_initializers? I think constexp

Re: PATCH for c++/87068, missing diagnostic with fallthrough statement

2019-02-28 Thread Jakub Jelinek
On Thu, Feb 28, 2019 at 05:16:14PM -0500, Marek Polacek wrote: > 2019-02-28 Marek Polacek > > PR c++/87068 - missing diagnostic with fallthrough statement. > * gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found > at the end of a seq, save its location to walk_stmt

Re: PATCH for c++/87068, missing diagnostic with fallthrough statement

2019-02-28 Thread Marek Polacek
On Thu, Aug 30, 2018 at 11:24:50PM +0200, Jakub Jelinek wrote: > On Thu, Aug 30, 2018 at 05:17:03PM -0400, Marek Polacek wrote: > > > 2018-08-23 Marek Polacek > > > > > > PR c++/87068 > > > * gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found > > > at the end of a seq, save i

[wwwdocs] Update gcc-9/changes.html #2

2019-02-28 Thread Marek Polacek
One more. Index: changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-9/changes.html,v retrieving revision 1.48 diff -u -r1.48 changes.html --- changes.html28 Feb 2019 20:51:28 - 1.48 +++ changes.html28 Feb

[PATCH] ARM cmpsi2_addneg fixes (PR target/89506)

2019-02-28 Thread Jakub Jelinek
Hi! The following testcase ICEs on ARM, because the backend creates CONST_INTs that aren't valid for SImode, in which they are used (0x8000 rather than the canonical -0x8000). This is fixed by the 3 gen_int_mode calls instead of just GEN_INT. Once that is fixed, we ICE because if both the

Re: [PR72741] Encode OpenACC 'routine' directive inside Fortran module files

2019-02-28 Thread Jakub Jelinek
On Thu, Feb 28, 2019 at 10:12:00PM +0100, Thomas Schwinge wrote: > On Wed, 15 Jun 2016 20:12:15 -0700, Cesar Philippidis > wrote: > The code changes now are actually very simple. The "problem" is that > we're incrementing the Fortran module version, 'MOD_VERSION', which > breaks binary compatibi

[PR72741] Encode OpenACC 'routine' directive inside Fortran module files

2019-02-28 Thread Thomas Schwinge
Hi! On Wed, 15 Jun 2016 20:12:15 -0700, Cesar Philippidis wrote: > [...], this patch updates the way that > the fortran FE handles the 'acc routine' attribute in modules. Before, > it only recorded that a function was marked as an acc routine. (By means of 'OMP_DECLARE_TARGET', that is.) > Wit

[wwwdocs] Update gcc-9/changes.html

2019-02-28 Thread Marek Polacek
Applied. Index: gcc-9/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-9/changes.html,v retrieving revision 1.47 diff -u -r1.47 changes.html --- gcc-9/changes.html 28 Feb 2019 10:31:50 - 1.47 +++ gcc-9/changes.html 28

[PR72741, PR89433] Repeated use of the Fortran OpenACC 'routine' directive

2019-02-28 Thread Thomas Schwinge
Hi! On Mon, 15 Aug 2016 18:54:49 -0700, Cesar Philippidis wrote: > [...] > > Note that besides for checking for multiple acc routine directives, this > patch also handles the case where the optional name argument in 'acc > routine (NAME)' is the name of the current procedure. This was a TODO >

[PR72741] For all Fortran OpenACC 'routine' directive variants check for multiple clauses specifying the level of parallelism

2019-02-28 Thread Thomas Schwinge
Hi! On Thu, 28 Jul 2016 21:21:29 -0700, Cesar Philippidis wrote: > Thomas found a bug in the fortran routine parser where errors involving > invalid combinations of gang, worker, vector and seq clauses were > getting suppressed. [...] > This bug is also present in trunk, but [...] Re-worked a

[PR72741, PR89433] Accept intrinsic symbols in Fortran OpenACC 'routine' directives

2019-02-28 Thread Thomas Schwinge
Hi! On Fri, 12 Aug 2016 18:13:43 +0200, I wrote: > Let me actually break this out of the other pending patches; this should > be uncontroversial. Originally by Cesar, extended by me. OK for trunk? > > commit a0fee96c0f204814e87ddf6635f9cbec2afc6887 > Author: Thomas Schwinge > Date: Fri Aug 1

[patch, fortran] Fix pointers not escaping via C_PTR

2019-02-28 Thread Thomas Koenig
Hello world, the attached patch fixes a wrong-code bug for gfortran where pointers were not marked as escaping. A C_PTR can be stashed away and reused later (at least as long as the variable it points to remains active). This is not a regression, but IMHO a bad wrong-code bug. The chances of th

C++ PATCH for c++/89532 - ICE with incomplete type in decltype

2019-02-28 Thread Marek Polacek
If get_target_expr_sfinae gets an expression whose type is incomplete, it's upset. digest_init returns error_mark_node if it gets an expression with incomplete type, so we need to respect that, and not call get_target_expr_sfinae on ORIG_CL in that case. Bootstrapped/regtested on x86_64-linux, ok

Re: A bug in vrp_meet?

2019-02-28 Thread Jeff Law
On 2/28/19 10:05 AM, Qing Zhao wrote: > Hi, > > I have been debugging a runtime error caused by value range propagation. and > finally located to the following gcc routine: > > vrp_meet_1 in gcc/tree-vrp.c > > > /* Meet operation for value ranges. Given two value ranges VR0 and >VR1,

Re: C++ PATCH for c++/89537 - missing location for error with non-static member fn

2019-02-28 Thread Marek Polacek
On Thu, Feb 28, 2019 at 02:33:37PM -0500, Jason Merrill wrote: > On 2/28/19 2:00 PM, Marek Polacek wrote: > > Here we issued the "invalid use of non-static member function" error with > > UNKNOWN_LOCATION, which merely shows "cc1plus" and no file/line. We can > > greatly improve this situation wit

Re: C++ PATCH for c++/89537 - missing location for error with non-static member fn

2019-02-28 Thread Jason Merrill
On 2/28/19 2:00 PM, Marek Polacek wrote: Here we issued the "invalid use of non-static member function" error with UNKNOWN_LOCATION, which merely shows "cc1plus" and no file/line. We can greatly improve this situation with the below. The patch is IMHO trivial (though it's user-provided) to go i

Re: [fortran, patch] IEEE intrinsic modules (ping)

2019-02-28 Thread Thomas Schwinge
Hi! While looking for something else -- isn't that always how it happens ;-) -- I noticed one thing here: On Wed, 25 Jun 2014 01:41:02 +0200, FX wrote: > I’ll wait a few more days to commit, so others can comment/review and I am > sure to be around if there is fallout. (This got committed to t

Re: [PATCH] haifa-sched: handle fallthru edge to EXIT block (PR 85899)

2019-02-28 Thread Eric Botcazou
> So it looks to me that the assert has to allow this. I've bootstrapped the > following (not that it matters much as it simply relaxes the assert) and > verified it fixes the testcase. Yes, fallthrough edges to the exit block exist in RTL, see could_fall_through. > OK for trunk? > > * ha

[PATCH] x32: Add addr32 prefix to UNSPEC_VSIBADDR instructions

2019-02-28 Thread H.J. Lu
32-bit indices in VSIB address are sign-extended to 64 bits. In x32, when 32-bit indices are used as addresses, like in vgatherdps %ymm7, 0(,%ymm9,1), %ymm6 32-bit indices, 0xf7fa3010, is sign-extended to 0xf7fa3010 which is invalid address. Add addr32 prefix to UNSPEC_VSIBADDR instruct

C++ PATCH for c++/89537 - missing location for error with non-static member fn

2019-02-28 Thread Marek Polacek
Here we issued the "invalid use of non-static member function" error with UNKNOWN_LOCATION, which merely shows "cc1plus" and no file/line. We can greatly improve this situation with the below. The patch is IMHO trivial (though it's user-provided) to go in even at this point. Bootstrapped/regtest

[PATCH] i386: Support ISAs enabled at command-line with target attribute

2019-02-28 Thread H.J. Lu
__attribute__ ((target("arch=broadwell"))) should enable AVX with -mavx at command-line. When we apply target attribute, we need to clear x_ix86_isa_flags_explicit and x_ix86_isa_flags2_explicit, which are turned on at command-line, so that target features will be enabled. mv17.C has a version fo

Re: [PATCH] haifa-sched: handle fallthru edge to EXIT block (PR 85899)

2019-02-28 Thread Alexander Monakov
On Thu, 28 Feb 2019, Alexander Monakov wrote: > Hi, > > in PR 85899 an assert is failing in find_fallthru_edge_from because the code > tries to verify the invariant e->dest == e->src->next_bb for a fallthru edge > and does not anticipate that it will fail if e->dest is the exit block (bb 1): > in

[PATCH] [ARC] Fix logic set UNALIGNED_ACCESS

2019-02-28 Thread Vineet Gupta
From: Claudiu Zissulescu gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc-c.def (__ARC_UNALIGNED__): Set it on unaligned_access variable. * config/arc/arc.c (arc_override_options): Set unaligned access default on for HS CPUs. * config/arc/arc.h (STRI

[PATCH] haifa-sched: handle fallthru edge to EXIT block (PR 85899)

2019-02-28 Thread Alexander Monakov
Hi, in PR 85899 an assert is failing in find_fallthru_edge_from because the code tries to verify the invariant e->dest == e->src->next_bb for a fallthru edge and does not anticipate that it will fail if e->dest is the exit block (bb 1): in this case next_bb is fairly arbitrary (it's just the next

Re: RFA: PATCH to gimple-fold.c for c++/80916, bogus "static but not defined" warning

2019-02-28 Thread Jason Merrill
On Thu, Feb 28, 2019 at 11:58 AM Jan Hubicka wrote: > > Hi, > sorry for late reply - I did not identify it as a patch to symbol table. > Indeed we want can_refer_decl_in_current_unit_p is a good place to test > this. Is there a reason to resrict this to functions with no body? If the function ha

A bug in vrp_meet?

2019-02-28 Thread Qing Zhao
Hi, I have been debugging a runtime error caused by value range propagation. and finally located to the following gcc routine: vrp_meet_1 in gcc/tree-vrp.c /* Meet operation for value ranges. Given two value ranges VR0 and VR1, store in VR0 a range that contains both VR0 and VR1. This

Re: [Patch, Fortran + Testsuite] Fix coarray handling in modules

2019-02-28 Thread Thomas Schwinge
Hi! On Fri, 02 Jan 2015 12:28:10 +0100, Tobias Burnus wrote: > [...] > > I additionally propagated the dg-compile-aux-modules support to caf.dg That got committed in r219143: > --- a/gcc/testsuite/gfortran.dg/coarray/caf.exp > +++ b/gcc/testsuite/gfortran.dg/coarray/caf.exp > @@ -43,6 +43,21

Re: RFA: PATCH to gimple-fold.c for c++/80916, bogus "static but not defined" warning

2019-02-28 Thread Jan Hubicka
Hi, sorry for late reply - I did not identify it as a patch to symbol table. Indeed we want can_refer_decl_in_current_unit_p is a good place to test this. Is there a reason to resrict this to functions with no body? I see that we may be able to inline the function, but all the devirtualization cod

Re: Fix canonical types of atomic types

2019-02-28 Thread Jan Hubicka
> > + /* Atomic types increase minimal alignment. We must to do so as well > > + or we get duplicated canonical types. See PR88686. */ > > + if ((TYPE_QUALS (cand) & TYPE_QUAL_ATOMIC)) > > +{ > > + /* See if this object can map to a basic atomic type. */ > > + tree atomic_typ

Re: [arm][RFC] PR target/88469 fix incorrect argument passing with 64-bit bitfields

2019-02-28 Thread Bernd Edlinger
On 2/28/19 1:10 PM, Richard Earnshaw (lists) wrote: > On 27/01/2019 11:20, Bernd Edlinger wrote: >> >> $ arm-linux-gnueabihf-gcc -march=armv5te -O3 -S test.c >> $ cat test.s >> f: >> @ args = 12, pretend = 0, frame = 0 >> @ frame_needed = 0, uses_anonymous_args = 0 >> @ link register

Re: [PATCH] i386: Identify Westmere from PCLMUL

2019-02-28 Thread Uros Bizjak
On Thu, Feb 28, 2019 at 2:50 PM H.J. Lu wrote: > > Since AES has been removed from Westmere in GCC 9, we should identify > Westmere from PCLMUL, instead of AES. > > PR target/89455 > * config/i386/i386.c (get_builtin_code_for_version): Identify > Westmere from PCLMUL, inste

[committed] Add testcases for already fixed PR c/89521

2019-02-28 Thread Jakub Jelinek
Hi! These testcases were actually also fixed by the PR89520 fix (the ICE was during expansion, but only because convert.c made invalid transformation). The following patch adds those to the testsuite so that we can close the PR, tested on x86_64-linux, committed to trunk as obvious. 2019-02-28

[PATCH] i386: Identify Westmere from PCLMUL

2019-02-28 Thread H.J. Lu
Since AES has been removed from Westmere in GCC 9, we should identify Westmere from PCLMUL, instead of AES. PR target/89455 * config/i386/i386.c (get_builtin_code_for_version): Identify Westmere from PCLMUL, instead of AES. --- gcc/config/i386/i386.c | 4 ++-- 1 file chang

[committed] Fix ARM ICE on glibc (PR target/89434)

2019-02-28 Thread Jakub Jelinek
Hi! 0x8000 (in RTL (const_int 0x8000)) is valid the "I" constraint and should be allowed for sbcs, but because HOST_WIDE_INT is 64-bit, UINTVAL (operands[2]) == -UINTVAL (operands[3]) is actually not true for that. Fixed thusly, bootstrapped/regtested on armv7hl-linux-gnueabi, pre

Fixing ifcvt issue as exposed by BZ89430

2019-02-28 Thread JiangNing OS
To solve BZ89430 the followings are needed, (1) The code below in noce_try_cmove_arith needs to be fixed. /* ??? We could handle this if we knew that a load from A or B could not trap or fault. This is also true if we've already loaded from the address along the path from ENTRY. */

Re: [arm][RFC] PR target/88469 fix incorrect argument passing with 64-bit bitfields

2019-02-28 Thread Richard Earnshaw (lists)
On 27/01/2019 11:20, Bernd Edlinger wrote: > Hi, > > I know I am a bit late on the party. Sorry for the delay replying, I've been off sick... > > But I have a question... > > Consider this test case: > > $ cat test.c > struct s { > int a, b; > } __attribute__((aligned(8))); > > struct s f0

[wwwdocs][arm] Update for PR target/88469

2019-02-28 Thread Richard Earnshaw (lists)
This patch to wwwdocs updates the changes file for the fix to PR target/88469 in gcc-9. Committed. Index: htdocs/gcc-9/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-9/changes.html,v retrieving revision 1.46 diff -u -r1.46 ch

Re: libgo patch committed: Run examples

2019-02-28 Thread Rainer Orth
Hi Ian, > On Thu, Feb 21, 2019 at 1:47 AM Andreas Schwab wrote: >> >> On Feb 20 2019, Ian Lance Taylor wrote: >> >> > if test x$hasoutput = xtrue; then >> > - echo ' {"'$n'", '$j', "'"$output"'", '$unordered'},' >> > + echo ' {"'$n'", '$j', "'"$(cat example2.tx