Re: [PATCH] Avoid excessive function type casts with splay-trees part 2

2018-06-15 Thread Richard Biener
On Thu, 14 Jun 2018, Bernd Edlinger wrote: > On 06/14/18 15:43, Richard Biener wrote: > > On Fri, 8 Jun 2018, Bernd Edlinger wrote: > > > >> Hi! > >> > >> > >> This patch converts the splay-tree internals into a template, and makes > >> the typed_splay_tree template really type-safe. Previously

[PATCH] Fix PR86076

2018-06-15 Thread Richard Biener
The following fixes move-sese-region-to-function to not clobber shared trees when it changes BLOCK references. Invariant addresses are somewhat special in that they are allowed to be shared (by the verifier) but are actually copied by unshare_expr and friends. Maybe that's something we should c

[PATCH] Fix PR86159

2018-06-15 Thread Richard Biener
I am testing the following patch removing sign-conversion stripping from gimplify_build* (those should vanish anyways...). Bootstrap & regtest running on x86_64-unknown-linux-gnu. Richard. 2018-06-15 Richard Biener PR middle-end/86159 * tree-cfg.c (gimplify_build3): Do not

Backport to 6 branch

2018-06-15 Thread Martin Liška
Hi. I'm going to install following testes patch. It fixes: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86162 Martin >From 92c822b43d269717575ab5ea6536d07aaad837b4 Mon Sep 17 00:00:00 2001 From: kelvin Date: Sun, 14 Jan 2018 05:19:29 + Subject: [PATCH] Partial backport r256656 libcpp/Change

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-15 Thread Janus Weil
Am 14. Juni 2018 12:40:19 MESZ schrieb Janne Blomqvist : >> >> >Either >> >> > >> >> >a) short-circuiting in left-to-right order >> >> > >> >> >or >> >> > >> >> >b) must evaluate all the arguments in left-to-right order >> >> > >> >> >My preference would be for a) as that is what most languages

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-15 Thread Janus Weil
Am 15. Juni 2018 11:22:44 MESZ schrieb Janus Weil : but >>> >> >even b) would be better than leaving it undefined. >>> >> >>> >> Agreed. >>> >> >>> >> In my opinion the best strategy for gfortran in the current >>situation >>> >> would be to apply short-circuiting whenever it can be proven t

[patch] Streamline debug info for up-level references

2018-06-15 Thread Eric Botcazou
Hi, the motivating example is the following program in GNU C: void foo (int len) { int a = 1; int b[len]; void bar (void) { b[0] = a; a++; } bar (); } int main (void) { foo (4); } If you look at the debug info at -O0 -g, you'll see that that the compiler generates 2 DIE

Re: [patch] Streamline debug info for up-level references

2018-06-15 Thread Richard Biener
On Fri, Jun 15, 2018 at 12:50 PM Eric Botcazou wrote: > > Hi, > > the motivating example is the following program in GNU C: > > void foo (int len) > { > int a = 1; > int b[len]; > > void bar (void) > { > b[0] = a; > a++; > } > > bar (); > } > > int main (void) > { > foo (4);

[PATCH][COMMITTED][ARC] Fix warning in arc_return_address_register.

2018-06-15 Thread Claudiu Zissulescu
The if condition in arc_return_address_register which selects the arc return address is not correct as the brackets are incorect placed. The issue is signalized in bugzilla 85968. The patch is committed as obvious. gcc/ 2018-06-15 Claudiu Zissulescu * config/arc/arc.c (arc_return_addr

RE: [PATCH] MIPS: Add support for -mcrc and -mginv options

2018-06-15 Thread Matthew Fortune
Robert Suchanek writes: > This patch adds -mcrc and -mginv options to pass through them > to the assembler. > > Regards, > Robert > > gcc/ChangeLog: > > 2018-06-01 Matthew Fortune > > * config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc, > -mginv and -mno-ginv to the as

[PATCH,AIX] Fix -static-libgcc & -static-libgo issues for AIX

2018-06-15 Thread REIX, Tony
Description: * This patch fixes the crash issues faced when using -static-libgcc & -static-libgo on AIX On AIX, do not call shared library initializers when linking statically. This fixes a bug where frame tables are registered twice at runtime, one time by the shared library initializer

[PATCH] Note which vector size was used in -fopt-info vectorizer message

2018-06-15 Thread Richard Biener
$subject I mainly need this for evaluation right now but I guess it's useful to users as well (where a new target hook could give names to sizes, but well...) Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2018-06-15 Richard Biener * tree-vect-slp.

[PATCH] i386; Add -mmanual-endbr and cf_check function attribute

2018-06-15 Thread H.J. Lu
Currently GCC inserts ENDBR instruction at entries of all non-static functions, unless LTO compilation is used. Marking all functions, which are not called indirectly with nocf_check attribute, is not ideal since 99% of functions in a program may be of this kind. This patch adds -mmanual-endbr an

[C++ Patch] Tidy duplicate_decls locations

2018-06-15 Thread Paolo Carlini
Hi, these bits started when I realized that in the error messages about redefined default arguments we were using DECL_SOURCE_LOCATION for the olddecl and just input_location for newdecl: in the future we'll able to point at the specific default argument but for the time being we can as well

Re: [PATCH, rs6000] clean up vec_neg related test options

2018-06-15 Thread Will Schmidt
On Thu, 2018-06-14 at 17:16 -0500, Segher Boessenkool wrote: > Hi! > > On Tue, Jun 12, 2018 at 03:25:20PM -0500, Will Schmidt wrote: > > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c > > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c > > @@ -1,11 +1,11 @@ > > /* Verify that

[PATCH 1/N] Clean-up usage of ipa_fn_summary and ipa_call_summary summaries.

2018-06-15 Thread Martin Liška
Hi. This is first part of IPA summary conversion clean-up. It removes ::get_create and uses ::get for ipa-inline related symbol (and call) summaries. I'm planning to investigate also other summaries. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? M

[PATCH] LWG 2993 reference_wrapper

2018-06-15 Thread Jonathan Wakely
A DR approved at the Jacksonville meeting earlier this year. * doc/xml/manual/intro.xml: Document LWG 2993 change. * include/bits/refwrap.h (reference_wrapper(_Tp&)): Remove. (reference_wrapper(_Tp&&)): Remove. (reference_wrapper<_Up>(_Up&&)): Define new constructor

Re: [PATCH] Add initial version of rtl.vim syntax file.

2018-06-15 Thread Martin Liška
On 06/15/2018 07:08 AM, Alexander Monakov wrote: > On Tue, 12 Jun 2018, Martin Liška wrote: > >> This is equivalent of gimple.vim file. I'm aware of not full coverage of RTL >> instructions, but hope it's a good start point. > > I think this is nice to have and hope you'll get an OK for both this

[PATCH][ARM] Use __ARM_ARCH instead of __ARM_ARCH__

2018-06-15 Thread Christophe Lyon
Hello, As suggested in [1], the attached patch removes all definitions and uses of __ARM_ARCH__ and uses __ARM_ARCH instead. The later is indeed defined by the preprocessor to the appropriate value. I ran make check on arm-none-eabi (with A-profile multilib), arm-none-linux-gnueabi, arm-none-linu

Re: [RFC] Add gcc.dg-selftests/dg-final.exp

2018-06-15 Thread Andreas Schwab
On Jun 12 2018, Tom de Vries wrote: > I've made the PASS/FAIL id minimal (removed the actual args part), which makes > it easier to read: > ... > PASS: scan-tree-dump: too many arguments > PASS: scan-tree-dump: too few arguments > PASS: scan-tree-dump-times: too many arguments > PASS: scan-tree-d

Re: [PATCH 1/N] Clean-up usage of ipa_fn_summary and ipa_call_summary summaries.

2018-06-15 Thread Jan Hubicka
> Hi. > > This is first part of IPA summary conversion clean-up. It removes > ::get_create and > uses ::get for ipa-inline related symbol (and call) summaries. I'm planning to > investigate also other summaries. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Read

Re: [PATCH] PR target/85358, v3: Make PowerPC not convert __ibm128 to __float128 if long double is IEEE 128-bit

2018-06-15 Thread Michael Meissner
What is the status of this patch? You never said it was either approved or suggested changes? https://gcc.gnu.org/ml/gcc-patches/2018-06/msg00634.html -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797

Re: [PATCH][ARM] Use __ARM_ARCH instead of __ARM_ARCH__

2018-06-15 Thread Richard Earnshaw (lists)
On 15/06/18 15:30, Christophe Lyon wrote: > Hello, > > As suggested in [1], the attached patch removes all definitions and > uses of __ARM_ARCH__ and uses __ARM_ARCH instead. The later is indeed > defined by the preprocessor to the appropriate value. > > I ran make check on arm-none-eabi (with A-

Re: [RFC] Add gcc.dg-selftests/dg-final.exp

2018-06-15 Thread Tom de Vries
On 06/15/2018 05:05 PM, Andreas Schwab wrote: > On Jun 12 2018, Tom de Vries wrote: > >> I've made the PASS/FAIL id minimal (removed the actual args part), which >> makes >> it easier to read: >> ... >> PASS: scan-tree-dump: too many arguments >> PASS: scan-tree-dump: too few arguments >> PAS

Re: [RFC] Add gcc.dg-selftests/dg-final.exp

2018-06-15 Thread Andreas Schwab
On Jun 15 2018, Tom de Vries wrote: > Where do you see the duplication? The problem is actually that dg-final.exp is run multiple times, once for every parallel execution of the testsuite. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 D

Re: [PATCH RFC] lto: keep 'force_output' on extern symbols

2018-06-15 Thread Alexander Monakov
On Thu, 14 Jun 2018, Alexander Monakov wrote: > However, it is not added to LTO streamed-out symtab, so WPA does not see it. > > If the direction looks fine overall, I'll look into getting over this > streaming hurdle (hints much appreciated). Well, going down this rabbit hole is a fine exercise,

Re: [PATCH 1/N] Clean-up usage of ipa_fn_summary and ipa_call_summary summaries.

2018-06-15 Thread Martin Jambor
Hi, On Fri, Jun 15 2018, Martin Liška wrote: > Hi. > > This is first part of IPA summary conversion clean-up. It removes > ::get_create and > uses ::get for ipa-inline related symbol (and call) summaries. I'm planning to > investigate also other summaries. > > Patch can bootstrap on x86_64-linux-

[PATCH] Only define __cpp_lib_constexpr_char_traits for C++17

2018-06-15 Thread Jonathan Wakely
This macro should not be defined unconditionally. The macro isn't official (it was proposed in P0426R1 but doesn't appear in SD-6 or the drafts, or the C++2a working paper) so I haven't added any tests. Ideally we would have negative tests for each feature test macro, to make sure they aren't def

Re: [RFC] Add gcc.dg-selftests/dg-final.exp

2018-06-15 Thread Tom de Vries
On 06/15/2018 05:33 PM, Andreas Schwab wrote: > On Jun 15 2018, Tom de Vries wrote: > >> Where do you see the duplication? > > The problem is actually that dg-final.exp is run multiple times, once > for every parallel execution of the testsuite. Ah, I see. Thanks for noting that. This patch fi

RE: [PATCH] MIPS: Add support for -mcrc and -mginv options

2018-06-15 Thread Robert Suchanek
Hi, > Since CRC and GINV ASEs have now been committed to binutils, please go > ahead with this change. This is now committed as r261635. Robert

RFC: What should go in our header?

2018-06-15 Thread Jonathan Wakely
C++20 adds a header, which should define all the library feature test macros, as well as implementation-specific macros like _GLIBCXX_RELEASE and __GLIBCXX__. We should decide whether to implement by simply including and then adding the feature test macros, or if we should keep it minimal and

Re: [PATCH] Only define __cpp_lib_constexpr_char_traits for C++17

2018-06-15 Thread Jonathan Wakely
On 15/06/18 16:46 +0100, Jonathan Wakely wrote: This macro should not be defined unconditionally. The macro isn't official (it was proposed in P0426R1 but doesn't appear in SD-6 or the drafts, or the C++2a working paper) so I haven't added any tests. Ideally we would have negative tests for each

Re: [PATCH] P0935R0 Eradicating unnecessarily explicit default constructors

2018-06-15 Thread Jonathan Wakely
On 12/06/18 20:10 +0100, Jonathan Wakely wrote: Explicit default constructors are problematic, so this change removes them from and , as per P0935R0. * include/bits/random.h (linear_congruential_engine) (mersenne_twister_engine, subtract_with_carry_engine, random_device) I for

Re: [PATCH] Add initial version of rtl.vim syntax file.

2018-06-15 Thread Alexander Monakov
On Fri, 15 Jun 2018, Martin Liška wrote: > So you prefer to come up with a plugin folder with the *.vim files? Yes, the main reason being very simple installation if already using a plugin manager. A plugin folder may contain a custom ftdetect/foo.vim, so there's no need to edit .vimrc by hand. I

Re: [PATCH 1/8] Add GCC_LIKELY and GCC_UNLIKELY

2018-06-15 Thread Jeff Law
On 06/14/2018 02:32 PM, David Malcolm wrote: > The idea is to later use these macros to mark the > if (dump_enabled_p ()) > parts of the compiler as cold, in the hope of helping non-PGO builds > of gcc. > > I haven't measured it yet, though. > > gcc/ChangeLog: > * system.h (GCC_LIKELY, GC

Re: [PATCH 1/8] Add GCC_LIKELY and GCC_UNLIKELY

2018-06-15 Thread Jakub Jelinek
On Fri, Jun 15, 2018 at 10:31:26AM -0600, Jeff Law wrote: > On 06/14/2018 02:32 PM, David Malcolm wrote: > > The idea is to later use these macros to mark the > > if (dump_enabled_p ()) > > parts of the compiler as cold, in the hope of helping non-PGO builds > > of gcc. > > > > I haven't measure

Re: [PATCH 1/8] Add GCC_LIKELY and GCC_UNLIKELY

2018-06-15 Thread Jeff Law
On 06/15/2018 10:35 AM, Jakub Jelinek wrote: > On Fri, Jun 15, 2018 at 10:31:26AM -0600, Jeff Law wrote: >> On 06/14/2018 02:32 PM, David Malcolm wrote: >>> The idea is to later use these macros to mark the >>> if (dump_enabled_p ()) >>> parts of the compiler as cold, in the hope of helping non-P

Re: [PATCH] Decorate string_view members with nonnull attribute

2018-06-15 Thread Jonathan Wakely
On 14/06/18 17:51 +0100, Jonathan Wakely wrote: On 14/06/18 10:46 -0600, Martin Sebor wrote: On 06/13/2018 10:30 AM, Jonathan Wakely wrote: The C++ committee has confirmed that passing a null pointer to the unary basic_string_view constructor is undefined. This removes the check from our implem

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-15 Thread Thomas Koenig
Hi Janne, What about more complicated expressions like, say, "func() .and. flag .and func2() .and. flag2" etc.? Can it move all the function calls to the end? Not at the moment. Like many of the front-end optimizations, this aims for the easy 80% which are relatively easy to achieve. IMHO i

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-15 Thread Thomas Koenig
Am 14.06.2018 um 10:38 schrieb Janus Weil: Also, there are AFAIU other similar weirdness with impure functions. The standard allows a compiler to optimize y = f(x) + f(x) into y = 2 * f(x) even if f is impure, which is totally bonkers. Or even not call f at all, if the compiler determines tha

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-15 Thread Thomas Koenig
Am 14.06.2018 um 11:55 schrieb Jakub Jelinek: Or warn users that there is no evaluation ordering between the first and second operand, that both operands are evaluated and it is unspecified which is evaluated first? Wouldn't you then just warn all the time? Even without any impure procedures, y

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-15 Thread Janne Blomqvist
On Fri, Jun 15, 2018 at 8:06 PM, Thomas Koenig wrote: > Hi Janne, > > What about more complicated expressions like, say, "func() .and. flag .and >> func2() .and. flag2" etc.? Can it move all the function calls to the end? >> > > Not at the moment. > > Like many of the front-end optimizations, thi

[PATCH, rs6000] Fix implementation of vec_pack (vector double, vector double) built-in function

2018-06-15 Thread Kelvin Nilsen
This patch fixes an error in the code generation for vec_pack (vector double, vector double). As previously implemented, this built-in function translates to the vpkudum instruction. This patch causes vec_pack (vector double, vector double) to behave the same as vec_float2 for the same type si

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-15 Thread Janne Blomqvist
On Fri, Jun 15, 2018 at 12:22 PM, Janus Weil wrote: > Am 14. Juni 2018 12:40:19 MESZ schrieb Janne Blomqvist < > blomqvist.ja...@gmail.com>: > In Fortran, it still feels like functions as such are second-class > citizens. People seriously advise against using them. Doesn't really help > the attra

Re: [PATCH] Avoid excessive function type casts with splay-trees part 2

2018-06-15 Thread Bernd Edlinger
On 06/15/18 09:07, Richard Biener wrote: > On Thu, 14 Jun 2018, Bernd Edlinger wrote: > >> On 06/14/18 15:43, Richard Biener wrote: >>> On Fri, 8 Jun 2018, Bernd Edlinger wrote: >>> Hi! This patch converts the splay-tree internals into a template, and makes the typed_splay

Re: [PATCH] Avoid excessive function type casts with splay-trees part 2

2018-06-15 Thread Eric Gallager
On 6/15/18, Bernd Edlinger wrote: > On 06/15/18 09:07, Richard Biener wrote: >> On Thu, 14 Jun 2018, Bernd Edlinger wrote: >> >>> On 06/14/18 15:43, Richard Biener wrote: On Fri, 8 Jun 2018, Bernd Edlinger wrote: > Hi! > > > This patch converts the splay-tree internals in

Re: [PATCH] Avoid excessive function type casts with splay-trees part 2

2018-06-15 Thread Richard Biener
On June 15, 2018 8:07:44 PM GMT+02:00, Bernd Edlinger wrote: >On 06/15/18 09:07, Richard Biener wrote: >> On Thu, 14 Jun 2018, Bernd Edlinger wrote: >> >>> On 06/14/18 15:43, Richard Biener wrote: On Fri, 8 Jun 2018, Bernd Edlinger wrote: > Hi! > > > This patch converts

Re: [patch, fortran] Handling of .and. and .or. expressions

2018-06-15 Thread Steve Kargl
On Fri, Jun 15, 2018 at 08:27:49PM +0300, Janne Blomqvist wrote: > On Fri, Jun 15, 2018 at 8:06 PM, Thomas Koenig > wrote: > > > > > What about more complicated expressions like, say, "func() .and. flag .and > >> func2() .and. flag2" etc.? Can it move all the function calls to the end? > >> > > >

Re: [PATCH], PowerPC long double transistion, patch #4

2018-06-15 Thread Segher Boessenkool
On Wed, Jun 13, 2018 at 05:25:33PM -0400, Michael Meissner wrote: > This patch fixes the power8 implementation of copysign for IEEE 128-bit > floating point. In particular, the way the temporary register was allocated > did not use the normal GCC conventions of using a clobber with match_scratch.

[PATCH] PR libstdc++/86169 unshare COW string when non-const data() called

2018-06-15 Thread Jonathan Wakely
When I added the non-const basic_string::data() overload I made a silly mistake in the COW version, failing to "leak" the string (i.e. unshare it and return a pointer to a uniquely-owned string). PR libstdc++/86169 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (b

Re: [PATCH, rs6000] clean up vec_neg related test options

2018-06-15 Thread Peter Bergner
On 6/12/18 3:25 PM, Will Schmidt wrote: > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c > index 4f35856..4cdcc35 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-neg-int.c > +++ b/gcc/testsuite/gcc.target/powerpc/fo

[PATCH] Avoid (X / Y) == 0 -> X < Y match.pd opt for complex types (PR middle-end/86123)

2018-06-15 Thread Jakub Jelinek
Hi! We allow only equality/non-equality comparisons of complex numbers, so introducing less than or greater or equal than comparison for them from non-equality ones + division is a bad idea; e.g. the expansion will not handle those. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for tr

Re: [PATCH] Avoid (X / Y) == 0 -> X < Y match.pd opt for complex types (PR middle-end/86123)

2018-06-15 Thread Richard Biener
On June 15, 2018 8:59:11 PM GMT+02:00, Jakub Jelinek wrote: >Hi! > >We allow only equality/non-equality comparisons of complex numbers, so >introducing less than or greater or equal than comparison for them from >non-equality ones + division is a bad idea; e.g. the expansion will not >handle those

[PATCH] Fix -freorder-blocks-and-partition unwinding wrong-code (PR rtl-optimization/86108)

2018-06-15 Thread Jakub Jelinek
Hi! Testcase in the PR is too large to include in the testsuite. The problem is that DF and RTL cross-jumping aren't really prepared to handle properly EH landing pads which have in addition to EH incoming edges some other edges (which is what my patch from a few months ago does in case we have EH

[PATCH] Remove -Wunsafe-loop-optimizations option (PR middle-end/86095)

2018-06-15 Thread Jakub Jelinek
Hi! As mentioned in the PR, all traces of this warning option except these were removed earlier, so the warning option does nothing. The following patch removes its documentation and makes it clear it does nothing. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk/8.2? 2018-06

[C PATCH] Fix C pointer_diff with volatile args (PR c/86093)

2018-06-15 Thread Jakub Jelinek
Hi! The match.pd framework uses op0 == op1 || operand_equal_p (op0, op1, 0) style comparisons heavily; the reason why we don't optimize away say volatile int i; ... int j = i - i; into int j = (i, 0); is only because both the C and C++ FE convert the volatile arguments to non-volatile ones befor

[PATCH] Fix expand_assignment ICE with CONCAT target (PR middle-end/85878)

2018-06-15 Thread Jakub Jelinek
Hi! The following testcase ICEs, because store_expr is not prepared to handle VCE-like assignments (while store_field can handle that). We already had same mode check for the store_expr when size covers the whole complex to_rtx, this patch adds a similar check when storing just one half of it (fir

[PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-15 Thread Jakub Jelinek
On Fri, Jun 15, 2018 at 09:06:16PM +0200, Jakub Jelinek wrote: > The following patch fixes it by making sure we don't have EH landing pads > that are reachable also by the crossing edges by splitting the EH landing > pad bb we want to jump into and jumping (EDGE_CROSSING) only to the second > half,

Re: [PATCH, rs6000] Fix AIX expected builtin instruction counts

2018-06-15 Thread Segher Boessenkool
Hi! On Thu, Jun 14, 2018 at 08:12:31AM -0700, Carl Love wrote: > --- a/gcc/testsuite/gcc.target/powerpc/altivec-7.c > +++ b/gcc/testsuite/gcc.target/powerpc/altivec-7.c > @@ -85,17 +85,22 @@ int main () > /* { dg-final { scan-assembler-times "vpkpx" 2 } } */ > /* { dg-final { scan-assembler-time

Re: [PATCH] PR target/85358, v3: Make PowerPC not convert __ibm128 to __float128 if long double is IEEE 128-bit

2018-06-15 Thread Segher Boessenkool
On Thu, Jun 14, 2018 at 05:48:42PM -0400, Michael Meissner wrote: > On Thu, Jun 14, 2018 at 04:27:26PM -0500, Segher Boessenkool wrote: > > On Mon, Jun 11, 2018 at 07:31:44PM -0400, Michael Meissner wrote: > > > Since we do not define arithmetic insns for IFmode, other than > > > negate/absolute va

Re: [PATCH] Add initial version of rtl.vim syntax file.

2018-06-15 Thread Martin Liška
On 06/15/2018 06:18 PM, Alexander Monakov wrote: On Fri, 15 Jun 2018, Martin Liška wrote: So you prefer to come up with a plugin folder with the *.vim files? Yes, the main reason being very simple installation if already using a plugin manager. A plugin folder may contain a custom ftdetect/foo

Re: [PATCH], PowerPC long double transistion, patch #4

2018-06-15 Thread Michael Meissner
On Fri, Jun 15, 2018 at 01:39:49PM -0500, Segher Boessenkool wrote: > On Wed, Jun 13, 2018 at 05:25:33PM -0400, Michael Meissner wrote: > > This patch fixes the power8 implementation of copysign for IEEE 128-bit > > floating point. In particular, the way the temporary register was allocated > > di

Re: [PATCH 1/8] Add GCC_LIKELY and GCC_UNLIKELY

2018-06-15 Thread David Malcolm
On Fri, 2018-06-15 at 10:36 -0600, Jeff Law wrote: > On 06/15/2018 10:35 AM, Jakub Jelinek wrote: > > On Fri, Jun 15, 2018 at 10:31:26AM -0600, Jeff Law wrote: > > > On 06/14/2018 02:32 PM, David Malcolm wrote: > > > > The idea is to later use these macros to mark the > > > > if (dump_enabled_p (

Re: C++ PATCH for c++/86094, wrong calling convention for move-only class

2018-06-15 Thread Jason Merrill
On Wed, Jun 13, 2018 at 5:05 PM, Jason Merrill wrote: > On Wed, Jun 13, 2018 at 4:12 PM, Jason Merrill wrote: >> On Mon, Jun 11, 2018 at 2:38 PM, Jason Merrill wrote: >>> The fix for 80178 was broken, because I forgot that copy_fn_p is false >>> for move constructors. As a result, the calling c

Re: [PATCH 2/8] Introduce VECT_SCOPE macro

2018-06-15 Thread Jeff Law
On 06/14/2018 02:32 PM, David Malcolm wrote: > The vectorizer code has numerous instances of: > > if (dump_enabled_p ()) > dump_printf_loc (MSG_NOTE, vect_location, > "=== some message ===\n"); > > In each case, the dump_printf_loc is a MSG_NODE at vect_location. > > I

Re: [PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-15 Thread Eric Botcazou
> Eric, I wonder if sjlj doesn't need a similar fix to the PR86108 patch. > If it does, I think with the following patch it would trigger a checking > failure. Not familiar with sjlj EH enough to try it myself. Yes, it does, so please move the fix to create_forwarder_block instead, after renamin

C++ PATCHes for c++/82882, ICE with lambda in template default argument

2018-06-15 Thread Jason Merrill
This testcase was broken by the lambda rewrite. This turned out to be because the lambda in the template's default argument had namespace scope, while the instantiation had function scope, because of tsubst_default_argument calling push_access_scope and do_pushtag using the resulting value of curr

Re: [PATCH] Fix expand_assignment ICE with CONCAT target (PR middle-end/85878)

2018-06-15 Thread Eric Botcazou
> 2018-06-15 Jakub Jelinek > > PR middle-end/85878 > * expr.c (expand_assignment): Remove now redundant COMPLEX_MODE_P > check from first store_expr, use to_mode instead of GET_MODE (to_rtx). > Only call store_expr for halves if the mode is the same. > > * gfortra

Re: [PATCH] tighten up -Wbuiltin-declaration-mismatch (PR 86125)

2018-06-15 Thread Joseph Myers
On Thu, 14 Jun 2018, Martin Sebor wrote: > > You can #undef it and then use FILE yourself as a block-scope identifier. > > I don't think it's at all clear that you can #undef it and then use FILE > > and expect to get the semantics of the standard type FILE (unlike for > > standard functions). >

Re: [PATCH], PowerPC long double transistion, patch #1

2018-06-15 Thread Joseph Myers
On Thu, 14 Jun 2018, Michael Meissner wrote: > Any other libgcc function that has a long double interface should get the > linker warning that the wrong type was used. libgcc functions have interfaces corresponding to a particular machine mode and names that vary depending on that mode - not int

Re: [C PATCH] Fix C pointer_diff with volatile args (PR c/86093)

2018-06-15 Thread Joseph Myers
On Fri, 15 Jun 2018, Jakub Jelinek wrote: > Hi! > > The match.pd framework uses op0 == op1 || operand_equal_p (op0, op1, 0) > style comparisons heavily; the reason why we don't optimize away say > volatile int i; > ... > int j = i - i; > into int j = (i, 0); > is only because both the C and C++

Re: [PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-15 Thread Jakub Jelinek
On Fri, Jun 15, 2018 at 10:21:26PM +0200, Eric Botcazou wrote: > > Eric, I wonder if sjlj doesn't need a similar fix to the PR86108 patch. > > If it does, I think with the following patch it would trigger a checking > > failure. Not familiar with sjlj EH enough to try it myself. > > Yes, it does,

Re: [PATCH], PowerPC long double transistion, patch #2

2018-06-15 Thread Segher Boessenkool
On Thu, Jun 14, 2018 at 08:15:51PM -0400, Michael Meissner wrote: > On Thu, Jun 14, 2018 at 07:00:52PM -0500, Segher Boessenkool wrote: > > Hi Mike, > > > > On Wed, Jun 13, 2018 at 05:16:37PM -0400, Michael Meissner wrote: > > > This fixes some of the PowerPC tests that had implicit assumptions ab

Re: [PATCH], PowerPC long double transistion, patch #1

2018-06-15 Thread Segher Boessenkool
On Thu, Jun 14, 2018 at 08:18:42PM -0400, Michael Meissner wrote: > On Thu, Jun 14, 2018 at 06:25:49PM -0500, Segher Boessenkool wrote: > > On Wed, Jun 13, 2018 at 05:10:15PM -0400, Michael Meissner wrote: > > > In addition to the previous patch to aid in transitioning the PowerPC long > > > double

Re: [PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-15 Thread Eric Botcazou
> So like this (if it passes another bootstrap/regtest together with the > cfgrtl.c change)? It fixes the testcase too. > > 2018-06-15 Jakub Jelinek > > PR rtl-optimization/86108 > * bb-reorder.c (create_forwarder_block): Renamed to ... > (create_eh_forwarder_block): ... thi

Re: [PATCH] tighten up -Wbuiltin-declaration-mismatch (PR 86125)

2018-06-15 Thread Martin Sebor
On 06/15/2018 02:37 PM, Joseph Myers wrote: On Thu, 14 Jun 2018, Martin Sebor wrote: You can #undef it and then use FILE yourself as a block-scope identifier. I don't think it's at all clear that you can #undef it and then use FILE and expect to get the semantics of the standard type FILE (unli

[PATCH] LWG 3076 basic_string CTAD ambiguity

2018-06-15 Thread Jonathan Wakely
When deduction guides are supported by the compiler (i.e. for C++17 and later) replace two basic_string constructors by constrained function templates as required by LWG 3076. In order to ensure that the pre-C++17 non-template constructors are still exported from the shared library define a macro

Re: [PATCH, rs6000] Fix implementation of vec_pack (vector double, vector double) built-in function

2018-06-15 Thread Segher Boessenkool
Hi! On Fri, Jun 15, 2018 at 12:30:47PM -0500, Kelvin Nilsen wrote: > This patch fixes an error in the code generation for vec_pack (vector double, > vector double). As previously implemented, this built-in function translates > to the vpkudum instruction. > > This patch causes vec_pack (vector

Re: [PATCH] PR libstdc++/78870 support std::filesystem on Windows

2018-06-15 Thread Sandra Loosemore
On 05/31/2018 01:19 PM, Jonathan Wakely wrote: This adds incomplete but functional support for std::filesystem and std::experimental::filesystem on MinGW. In theory there should be no changes to the existing behaviour for POSIX targets from this patch, as all the various bugs I found while workin

[PATCH] Use __builtin_memmove for trivially copy assignable types

2018-06-15 Thread Glen Fernandes
Use __builtin_memmove for trivially copy assignable types 2018-06-14 Glen Joseph Fernandes * include/bits/stl_algobase.h (__is_simple_copy_move): Defined helper. (__copy_move_a): Used helper. (__copy_move_backward_a): Likewise. * testsuite/25_algorithms/

C++ PATCH for c++/86147, wrong capture for template argument

2018-06-15 Thread Jason Merrill
In this testcase, N is only used in the lambda for its constant value, so it should not be captured. The problem was that we didn't call mark_rvalue_use on N when instantiating the lambda, because it was wrapped in a NOP_EXPR converting it to the type of the template argument. Rather than try to

Re: [PATCH] Remove -Wunsafe-loop-optimizations option (PR middle-end/86095)

2018-06-15 Thread Richard Biener
On June 15, 2018 9:08:05 PM GMT+02:00, Jakub Jelinek wrote: >Hi! > >As mentioned in the PR, all traces of this warning option except these >were removed earlier, so the warning option does nothing. > >The following patch removes its documentation and makes it clear it >does >nothing. Bootstrapped