Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> The important difference is for strn{,case}cmp folding, we pass that s2 > value as the last argument to the host functions comparing the c_getstr > results. If s2 fits into size_t, then my patch makes no difference, > but if it is larger, we know the 2 c_getstr objects need to fit into the > hos

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Jakub Jelinek via Gcc-patches
On Sun, Jan 31, 2021 at 01:49:29PM +0100, Eric Botcazou wrote: > > The important difference is for strn{,case}cmp folding, we pass that s2 > > value as the last argument to the host functions comparing the c_getstr > > results. If s2 fits into size_t, then my patch makes no difference, > > but if

[pushed] testsuite, Darwin : Skip ELF-specific tests.

2021-01-31 Thread Iain Sandoe
Hi, A number of ELF-specific tests were introduced in r11-6140, one of which fails on all Mach-O/Darwin platforms. On examination, the tests have no meaningful parallel for Mach-O which dead strips at the symbol level, and does not make use of function sections (the fact that a used and an unused

[PATCH][Bug libstdc++/70303] Value-initialized debug iterators

2021-01-31 Thread François Dumont via Gcc-patches
After the debug issue has been fixed in PR 98466 the problem was not in the debug iterator implementation itself but in the deque iterator operator- implementation.     libstdc++: Make deque iterator operator- usable with value-init iterators     N3644 implies that operator- can be used on v

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Jakub Jelinek via Gcc-patches
On Sun, Jan 31, 2021 at 02:12:46PM +0100, Jakub Jelinek via Gcc-patches wrote: > On Sun, Jan 31, 2021 at 01:49:29PM +0100, Eric Botcazou wrote: > > > The important difference is for strn{,case}cmp folding, we pass that s2 > > > value as the last argument to the host functions comparing the c_getstr

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> In patch form now (for ~ we'd need to use (size_t) ~(size_t) 0 to be > fully portable, I think nothing in the standard requires that size_t isn't > e.g. unsigned char or unsigned short that would then promote to int. > > Ok for trunk? > > 2021-01-31 Jakub Jelinek > > * fold-const-call

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> Why not just: > > #ifndef SIZE_MAX > # define SIZE_MAX INTTYPE_MAXIMUM (size_t) > #endif > > just below UCHAR_MAX in system.h? Or rather just below #ifdef HAVE_STDINT_H #include #endif #ifdef HAVE_INTTYPES_H #include #endif -- Eric Botcazou

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Jakub Jelinek via Gcc-patches
On Sun, Jan 31, 2021 at 07:07:32PM +0100, Eric Botcazou wrote: > > Why not just: > > > > #ifndef SIZE_MAX > > # define SIZE_MAX INTTYPE_MAXIMUM (size_t) > > #endif > > > > just below UCHAR_MAX in system.h? > > Or rather just below > > #ifdef HAVE_STDINT_H > #include > #endif > > #ifdef HAVE_I

Re: [PATCH] RISC-V: Fix -march option parsing when `p` extension exists.

2021-01-31 Thread Andreas Schwab
FAIL: gcc.target/riscv/attribute-18.c scan-assembler .attribute arch, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_p" $ grep -c 'attribute arch' attribute-18.s 0 Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for somet

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> If it doesn't break anything (note, there can be system headers included > even after this spot), why not. OK, then maybe move them to the end. Or define #define __STDC_LIMIT_MACROS just before the two aforementioned includes, so that this doesn't happen again with another macro. > Note, it

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Jakub Jelinek via Gcc-patches
On Sun, Jan 31, 2021 at 07:07:32PM +0100, Eric Botcazou wrote: > > Why not just: > > > > #ifndef SIZE_MAX > > # define SIZE_MAX INTTYPE_MAXIMUM (size_t) > > #endif > > > > just below UCHAR_MAX in system.h? > > Or rather just below > > #ifdef HAVE_STDINT_H > #include > #endif > > #ifdef HAVE_I

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> Whatever works, I can't test such patches except on Linux, so can you just > create a patch and test it on Solaris where it failed before? It fails on old Linux distros, e.g. RHES 5, not on Solaris as far as I know. -- Eric Botcazou

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> Whatever works, I can't test such patches except on Linux, so can you just > create a patch and test it on Solaris where it failed before? Maybe a safer fix is the attached one. Tested on old RedHat and SuSE distros. * fold-const-call.c: Define __STDC_LIMIT_MACROS at the top. -- Eri

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Jakub Jelinek via Gcc-patches
On Sun, Jan 31, 2021 at 09:19:07PM +0100, Eric Botcazou wrote: > > Whatever works, I can't test such patches except on Linux, so can you just > > create a patch and test it on Solaris where it failed before? > > Maybe a safer fix is the attached one. Tested on old RedHat and SuSE distros. > > >

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Eric Botcazou
> But next time we use SIZE_MAX somewhere it is going to break again this way. > If we just define SIZE_MAX if not defined after all includes in system.h, I > think it is better than this. The existing practice seems to define the missing constants right after the corresponding include, e.g. MAP_

Re: [PATCH] fold: Fix up strn{case,}cmp folding [PR98771]

2021-01-31 Thread Jakub Jelinek via Gcc-patches
On Sun, Jan 31, 2021 at 10:48:53PM +0100, Eric Botcazou wrote: > > But next time we use SIZE_MAX somewhere it is going to break again this way. > > If we just define SIZE_MAX if not defined after all includes in system.h, I > > think it is better than this. > > The existing practice seems to defin

[PATCH] run -Wnonnull later (PR 87489)

2021-01-31 Thread Martin Sebor via Gcc-patches
The initial -Wnonnull implementation in the middle end took place too late in the pipeline (just before expansion), and as a result was prone to false positives (bug 78817). In an attempt to avoid the worst of those, the warning was moved to the ccp2 pass in r243874. However, as the test case in

Re: [PATCH] adjust "partly out of bounds" warning (PR 98503)

2021-01-31 Thread Martin Sebor via Gcc-patches
On 1/30/21 12:36 AM, Eric Gallager wrote: On Thu, Jan 28, 2021 at 6:04 PM Martin Sebor via Gcc-patches wrote: The GCC 11 -Warray-bounds enhancement to diagnose accesses whose leading offset is in bounds but whose trailing offset is not has been causing some confusion. When the warning is issu

Re: [PATCH] RISC-V: Fix -march option parsing when `p` extension exists.

2021-01-31 Thread Xing GUO via Gcc-patches
Hi Andreas and Kito, I haven't reproduced this failure, but it looks that I forget to append `-mriscv-attribute` to dg-options in attribute-18.c. I'll reply to this thread ASAP. Thanks, Xing On 2/1/21, Andreas Schwab wrote: > FAIL: gcc.target/riscv/attribute-18.c scan-assembler .attribute arch,

Re: [PATCH 3/8] [RS6000] rs6000_rtx_costs tidy AND

2021-01-31 Thread Alan Modra via Gcc-patches
On Mon, Jan 25, 2021 at 04:37:21PM -0600, Segher Boessenkool wrote: > I still do not see what this improves, I only see possible obvious > regressions :-( You asked me to break the patch series into small pieces, for ease of review and to separate tidies from functional changes. Well OK, fair eno

Re: [PATCH 5/8] [RS6000] rs6000_rtx_costs cost IOR

2021-01-31 Thread Alan Modra via Gcc-patches
On Mon, Jan 25, 2021 at 04:51:43PM -0600, Segher Boessenkool wrote: > Hi! > > On Thu, Oct 08, 2020 at 09:27:57AM +1030, Alan Modra wrote: > > * config/rs6000/rs6000.c (rotate_insert_cost): New function. > > (rs6000_rtx_costs): Cost IOR. > > > > diff --git a/gcc/config/rs6000/rs6000.c b/gc

[PATCH] testsuite: Update pr79251 ilp32 store regex.

2021-01-31 Thread Xionghu Luo via Gcc-patches
BE ilp32 Linux generates extra stack stwu instructions which shouldn't be counted in, \m … \M is needed around each instruction, not just the beginning and end of the entire pattern. Pre-approved, committing. gcc/testsuite/ChangeLog: 2021-02-01 Xionghu Luo * gcc.target/powerpc/pr79251