[Bug tree-optimization/115704] -Wstringop-overread and related warnings should print inline stack

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115704

Andrew Pinski  changed:

   What|Removed |Added

 Blocks||97048

--- Comment #1 from Andrew Pinski  ---
There is another one about this already.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97048
[Bug 97048] [meta-bug] bogus/missing -Wstringop-overread warnings

[Bug tree-optimization/82450] loop flattening should be done

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82450

--- Comment #5 from Andrew Pinski  ---
(In reply to Andrew Pinski from comment #4)
> (In reply to Richard Biener from comment #2)
> > We once had a very aggressive pass to do this as part of graphite 
> > transforms,
> > it's on the GCC 4.7 branch.
> 
> https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/graphite-flattening.c;
> h=33f25e01b03f680493f0b396a81cc8e421598a8c;hb=refs/heads/releases/gcc-4.7
> 
> For reference.

https://gcc.gnu.org/pipermail/gcc-patches/2010-September/293708.html

[Bug tree-optimization/82450] loop flattening should be done

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82450

--- Comment #4 from Andrew Pinski  ---
(In reply to Richard Biener from comment #2)
> We once had a very aggressive pass to do this as part of graphite transforms,
> it's on the GCC 4.7 branch.

https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/graphite-flattening.c;h=33f25e01b03f680493f0b396a81cc8e421598a8c;hb=refs/heads/releases/gcc-4.7

For reference.

[Bug tree-optimization/82450] loop flattening should be done

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82450

Andrew Pinski  changed:

   What|Removed |Added

   See Also||https://github.com/llvm/llv
   ||m-project/issues/39927
   Assignee|unassigned at gcc dot gnu.org  |pinskia at gcc dot 
gnu.org
 Status|NEW |ASSIGNED

--- Comment #3 from Andrew Pinski  ---
So LLVM got a loop flattening pass in October 2020. I think I am going to try
to get a version into GCC for 15 then.

It improves coremarks:
https://github.com/eembc/coremark/blob/main/core_matrix.c#L242

[Bug target/115703] [15 Regression] rv64gcv_zvl256b miscompile since r15-1579-g792f97b44ff

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115703

Andrew Pinski  changed:

   What|Removed |Added

 Target|riscv*-*-*  |

--- Comment #1 from Andrew Pinski  ---
Note one thing is mvconst_internal should most likely also be hidden post
reload too due to the same reason:
;; Hide it from IRA register equiv recog* () to elide potential undoing of
split


But that does not seem like the cause.

The only different in asm between 14 and 15 are where a load happens.
GCC 14:
```
vsetvli zero,zero,e64,m1,ta,ma
vmul.vv v1,v1,v4
vlm.v   v15,0(s1)
vsetvli zero,zero,e32,mf2,ta,ma
vredmin.vs  v16,v16,v14
vsetvli zero,zero,e64,m1,ta,ma
vmul.vv v1,v1,v4
vmv1r.v v0,v15
vmul.vv v1,v1,v4
vsetivlizero,0,e32,m1,ta,ma
vmv.x.s t1,v16
vsetivlizero,4,e64,m1,ta,ma
vmul.vv v1,v1,v4

```

GCC 15:
```
vsetvli zero,zero,e64,m1,ta,ma
vmul.vv v1,v1,v4
vsetvli zero,zero,e32,mf2,ta,ma
vredmin.vs  v16,v16,v14
vsetvli zero,zero,e64,m1,ta,ma
vmul.vv v1,v1,v4
vmul.vv v1,v1,v4
vsetivlizero,0,e32,m1,ta,ma
vmv.x.s t1,v16
vsetivlizero,4,e64,m1,ta,ma
vmul.vv v1,v1,v4
vlm.v   v0,0(s1)
```

That is combining:
```
(insn 397 630 406 13 (set (reg:V4BI 111 v15 [517])
(mem/u/c:V4BI (reg/f:DI 9 s1 [565]) [0  S1 A8])) 3012 {*movv4bi}
 (expr_list:REG_EQUAL (const_vector:V4BI [
(const_int 0 [0]) repeated x2
(const_int 1 [0x1]) repeated x2
])
(nil)))
(insn 864 862 399 13 (set (reg:V4BI 96 v0 [517])
(reg:V4BI 111 v15 [517])) 3012 {*movv4bi}
 (nil))
```

Into:
```
(insn 864 862 399 13 (set (reg:V4BI 96 v0 [517])
(mem/u/c:V4BI (reg/f:DI 9 s1 [565]) [0  S1 A8])) 3012 {*movv4bi}
 (nil))
```

I don't see anything wrong with this move on RTL. Maybe there is something
wrong going on the pass which is emitting the vsetivli instructions.

[Bug target/115703] [15 Regression] rv64gcv_zvl256b miscompile since r15-1579-g792f97b44ff

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115703

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |15.0
  Component|middle-end  |target
   Keywords||wrong-code

[Bug c++/115699] Anonymous structs should compare member-wise with C++20 defaulted operator==

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115699

--- Comment #2 from Andrew Pinski  ---
I should note clang produce the operator== but maybe incorrectly because the
static_assert fails ...

[Bug c++/115699] Anonymous structs should compare member-wise with C++20 defaulted operator==

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115699

--- Comment #1 from Andrew Pinski  ---
So GCC is treating anonymous struct similar to anonymous unions.

[Bug c++/115695] spurious warning for -Wsign-compare with c++

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115695

--- Comment #1 from Andrew Pinski  ---
Reduced testcase:
```
int f() {
  short a = 0;
  return (unsigned)a * sizeof(short);
}
```

The warning in GCC 9 and before was:
```
:4:16: warning: conversion to 'long unsigned int' from 'short int' may
change the sign of the result [-Wsign-conversion]

```

I think that is wrong too.

Looks like the warning is happening after some optimization moving the multiply
and then giving the wrong types incorrectly.

[Bug tree-optimization/115694] [13/14/15 regression] ICE in forwprop (useless_type_conversion_p) when building scipy with LTO

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115694

Andrew Pinski  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=109046

--- Comment #9 from Andrew Pinski  ---
I suspect r13-6624-geb337d28c32b1b introduced this issue.

Also I can't get non-semi defined testcase here, I tried a few different things
to produce a VCE but I can't get it produced.

[Bug tree-optimization/115694] [13/14/15 regression] ICE in forwprop (useless_type_conversion_p) when building scipy with LTO

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115694

Andrew Pinski  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2024-06-28

--- Comment #8 from Andrew Pinski  ---
Before forwprop3:
  a.0_1 = COMPLEX_EXPR <_3, _7>;
  f = VIEW_CONVERT_EXPR(a.0_1);

Afterwards:
  struct b f;
  REALPART_EXPR  = _3;
  IMAGPART_EXPR  = _7;
  e (f);

Let me try to come up with a better testcase.

[Bug tree-optimization/115694] [13/14/15 regression] ICE in forwprop (useless_type_conversion_p) when building scipy with LTO

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115694

Andrew Pinski  changed:

   What|Removed |Added

  Known to work||12.3.0
  Known to fail||13.1.0, 13.3.0
   Keywords||needs-bisection
   Target Milestone|--- |13.4

[Bug tree-optimization/35356] Missing Index splitting support in gcc

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35356

Andrew Pinski  changed:

   What|Removed |Added

 Blocks||26163
 CC||pinskia at gcc dot gnu.org

--- Comment #3 from Andrew Pinski  ---
Case 3 is still not handled by lsplit.

The rest might be handled by lsplit but I have not tested it yet.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163
[Bug 26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)

[Bug tree-optimization/115697] [11/12/13/14/15 Regression] Miscompilation with -fgraphite-identity at -O2

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115697

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |11.5

[Bug driver/115698] @file invalidates -B in g++ command line

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115698

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-06-28
 Ever confirmed|0   |1
 Status|UNCONFIRMED |WAITING

--- Comment #2 from Andrew Pinski  ---
I also just tried it with the upstream version of GCC:
```
[apinski@xeond2 upstream-gcc-new]$ ~/upstream-gcc-new/bin/gcc @re -B mydir/
my ld
[apinski@xeond2 upstream-gcc-new]$ cat mydir/ld
#!/bin/bash

echo my ld
exit 0
[apinski@xeond2 upstream-gcc-new]$ ~/upstream-gcc-new/bin/gcc @re -B
`pwd`/mydir/
my ld
[apinski@xeond2 upstream-gcc-new]$ !ch
chmod u+x mydir/ld
[apinski@xeond2 upstream-gcc-new]$ cat re
t.o
[apinski@xeond2 upstream-gcc-new]$ ~/upstream-gcc-new/bin/g++ @re -B
`pwd`/mydir/
my ld
[apinski@xeond2 upstream-gcc-new]$ ~/upstream-gcc-new/bin/g++ -o tt @re -B
`pwd`/mydir/
my ld
```

Works for me.

Try to doing strace to see if the B directories are searched.  

I even tried ubuntu's 11.4.0 and it worked:
```
apinski@xeond:~/src/upstream-gcc-new$ ~/upstream-gcc-match/bin/gcc -o  @re
-B `pwd`/mydir
my ld
apinski@xeond:~/src/upstream-gcc-new$ gcc -o  @re -B `pwd`/mydir
my ld
apinski@xeond:~/src/upstream-gcc-new$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr
--with-gcc-major-version-only --program-suffix=-11
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib
--enable-libphobos-checking=release --with-target-system-zlib=auto
--enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet
--with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32
--enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp-gcn/usr
--without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
--with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)

```

[Bug driver/115698] @file invalidates -B in g++ command line

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115698

--- Comment #1 from Andrew Pinski  ---
So I looked into the driver code and '@' handling is early on and just expands
into the new arguments.

[Bug tree-optimization/88443] [meta-bug] bogus/missing -Wstringop-overflow warnings

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88443
Bug 88443 depends on bug 115702, which changed state.

Bug 115702 Summary: Incorrect stringop-overflow warning with -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115702

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

[Bug tree-optimization/115274] Bogus -Wstringop-overread in SQLite source code

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115274

Andrew Pinski  changed:

   What|Removed |Added

 CC||christian at zeek dot org

--- Comment #5 from Andrew Pinski  ---
*** Bug 115702 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/115702] Incorrect stringop-overflow warning with -O3

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115702

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #1 from Andrew Pinski  ---
Dup.

*** This bug has been marked as a duplicate of bug 115274 ***

[Bug ipa/115701] [11/12/13/14/15 Regression] wrong code at -O1 and above with "-fipa-pta" on x86_64-linux-gnu

2024-06-28 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115701

Andrew Pinski  changed:

   What|Removed |Added

Summary|wrong code at -O1 and above |[11/12/13/14/15 Regression]
   |with "-fipa-pta" on |wrong code at -O1 and above
   |x86_64-linux-gnu|with "-fipa-pta" on
   ||x86_64-linux-gnu
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2024-06-28
   Keywords||alias, wrong-code
  Known to work||9.5.0
   Target Milestone|--- |11.5
  Known to fail||10.1.0
 Ever confirmed|0   |1

--- Comment #1 from Andrew Pinski  ---
Confirmed.

[Bug c++/115692] C++ module ice

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115692

--- Comment #2 from Andrew Pinski  ---
Or attach the preprocessed source split correctly.

[Bug c++/115692] C++ module ice

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115692

Andrew Pinski  changed:

   What|Removed |Added

 Ever confirmed|0   |1
   Last reconfirmed||2024-06-27
 Status|UNCONFIRMED |WAITING

--- Comment #1 from Andrew Pinski  ---
[apinski@xeond2 upstream-gcc-new]$ ~/upstream-gcc-new/bin/gcc t.ii -std=c++20
-w -fmodules-ts
../modules/fast_io_core_impl.cppm:1:1: error: module-declaration only permitted
as first declaration, or ending a global module fragment
../modules/fast_io_core_impl.cppm:3:1: error: post-module-declaration imports
must be contiguous
../modules/fast_io_core_impl.cppm:3:1: note: perhaps insert a line break after
‘import’, or other disambiguation, to prevent this being considered a module
control-line
In file included from
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/type_traits:38,
 from ../modules/fast_io_core_impl.cppm:5:
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/x86_64-pc-linux-gnu/bits/c++config.h:321:15:
error: redefinition of ‘void std::__terminate()’
In file included from
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/cstdint:38,
 from ../modules/fast_io_core.ixx:2:
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/x86_64-pc-linux-gnu/bits/c++config.h:321:15:
note: ‘void std::__terminate()’ previously defined here
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/x86_64-pc-linux-gnu/bits/c++config.h:554:3:
error: redefinition of ‘constexpr bool std::__is_constant_evaluated()’
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/x86_64-pc-linux-gnu/bits/c++config.h:554:3:
note: ‘constexpr bool std::__is_constant_evaluated()’ previously defined here
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/x86_64-pc-linux-gnu/bits/c++config.h:616:3:
error: redefinition of ‘void std::__glibcxx_assert_fail()’
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/x86_64-pc-linux-gnu/bits/c++config.h:616:3:
note: ‘void std::__glibcxx_assert_fail()’ previously defined here
In file included from /usr/include/stdint.h:27,
 from
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/lib/gcc/x86_64-pc-linux-gnu/15.0.0/include/stdint.h:9,
 from
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/cstdint:45,
 from ../modules/fast_io_core_impl.cppm:5:
/usr/include/bits/types.h:155:34: error: conflicting declaration ‘typedef
struct __fsid_t __fsid_t’
  155 | __STD_TYPE __FSID_T_TYPE __fsid_t;  /* Type of file system IDs.  */
  |  ^
In file included from /usr/include/stdint.h:27,
 from
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/lib/gcc/x86_64-pc-linux-gnu/15.0.0/include/stdint.h:9,
 from
/home/cqwrteur/toolchains/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include/c++/15.0.0/cstdint:45:
/usr/include/bits/types.h:155:34: note: previous declaration as ‘typedef struct
__fsid_t __fsid_t’
  155 | __STD_TYPE __FSID_T_TYPE __fsid_t;  /* Type of file system IDs.  */
  |  ^
hello.cc:2:1: error: post-module-declaration imports must be contiguous
hello.cc:2:1: note: perhaps insert a line break after ‘import’, or other
disambiguation, to prevent this being considered a module control-line
hello.cc:4:5: error: cannot attach ‘::main’ to a named module


Looks like you need to provide a few more preprocessed source for the other
module.

[Bug target/115691] [15 Regression] libgomp.c-c++-common/for -2.h:101:33: internal compiler error: in extract_insn, at recog.cc:2816

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115691

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-06-27
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW

--- Comment #1 from Andrew Pinski  ---
(define_insn ""
  [(set (match_operand:DI 0 "register_operand" "=f")
(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "f"))
 (match_operand:DI 2 "uint32_operand" "f")))]
  "TARGET_PA_11 && ! TARGET_SOFT_FLOAT && ! TARGET_SOFT_MULT && TARGET_64BIT"
  "xmpyu %1,%2R,%0"
  [(set_attr "type" "fpmuldbl")
   (set_attr "length" "4")])

(define_predicate "uint32_operand"
  (if_then_else (match_test "HOST_BITS_PER_WIDE_INT > 32")
(and (match_code "const_int")
 (match_test "INTVAL (op) >= 0
  && INTVAL (op) < (HOST_WIDE_INT) 1 << 32"))
(and (match_code "const_int,const_double")
 (match_test "CONST_INT_P (op) || CONST_DOUBLE_HIGH (op) == 0"

(define_register_constraint "f" "FP_REGS"
  "Floating-point register.")

Huh? The predicate and the constraints are not subset of each other at all. I
don't see how that could work before hand.

This was most like exposed by late-combine (r15-1579-g792f97b44ffc5e).

Note there is some cleanup since HOST_BITS_PER_WIDE_INT is always 64 for a long
time now (maybe >= 10 years).

[Bug target/115691] [15 Regression] libgomp.c-c++-common/for -2.h:101:33: internal compiler error: in extract_insn, at recog.cc:2816

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115691

Andrew Pinski  changed:

   What|Removed |Added

 Target||hppa-linux-gnu
Summary|libgomp.c-c++-common/for|[15 Regression]
   |-2.h:101:33: internal   |libgomp.c-c++-common/for
   |compiler error: in  |-2.h:101:33: internal
   |extract_insn, at|compiler error: in
   |recog.cc:2816   |extract_insn, at
   ||recog.cc:2816
   Keywords||ice-on-valid-code
  Component|rtl-optimization|target
   Target Milestone|--- |15.0

[Bug target/115690] Strange codegen for small fixed-size `memcpy` when targeting `-march=i486`

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115690

Andrew Pinski  changed:

   What|Removed |Added

  Known to work||6.1.0

--- Comment #1 from Andrew Pinski  ---
First off I am not sure if -march=i486 even is even tuned these days. Or even
why someone is trying to use it.
Especially considering this changed in GCC 7.

[Bug c++/115670] auto placeholder for return type should change the linkage of the function if the type becomes local linkage too

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115670

--- Comment #6 from Andrew Pinski  ---
(In reply to Andrew Pinski from comment #5)
> So at -O1, foo0, foo5, foo6 are the only ones left.
> 
> at -O0, foo1, foo2, foo3, foo4 are also emitted but that is expected since
> GCC emits static unused functions always at -O0.
> 
> 
> So let's keep this for foo0/foo5. I will file one for foo6 in a second.

Note if the definition of the anonymous namespace is in a header, then GCC does
warn for s2 (not for foo6 though).

[Bug c++/115670] auto placeholder for return type should change the linkage of the function if the type becomes local linkage too

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115670

--- Comment #5 from Andrew Pinski  ---
So at -O1, foo0, foo5, foo6 are the only ones left.

at -O0, foo1, foo2, foo3, foo4 are also emitted but that is expected since GCC
emits static unused functions always at -O0.


So let's keep this for foo0/foo5. I will file one for foo6 in a second.

[Bug c++/115676] [c++11-C++14] gcc allows invalid calling to implicitly-deleted default constructor of a template derived class (non-dependent) in template function

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115676

--- Comment #2 from Andrew Pinski  ---
Yes see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55361#c5 for that ...

[Bug c++/115676] [c++11-C++14] gcc allows invalid calling to implicitly-deleted default constructor of a template derived class (non-depdenent) in template function

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115676

Andrew Pinski  changed:

   What|Removed |Added

Summary|gcc allows invalid calling  |[c++11-C++14] gcc allows
   |to implicitly-deleted   |invalid calling to
   |default constructor of a|implicitly-deleted default
   |template derived class in   |constructor of a template
   |template function   |derived class
   ||(non-depdenent) in template
   ||function
 CC||pinskia at gcc dot gnu.org

--- Comment #1 from Andrew Pinski  ---
Actually I think this is just QoI case. IIRC the compiler does not require
error out if inside a template only if it is instantiated.

[Bug tree-optimization/115679] inlining failed in call to 'foo': function not considered for inlining

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115679

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-06-27
 Ever confirmed|0   |1
 Status|UNCONFIRMED |WAITING

--- Comment #3 from Andrew Pinski  ---
Can you provide the preprocessed source?

[Bug target/115687] RISC-V optimization when "lui" instructions can be merged

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115687

--- Comment #3 from Andrew Pinski  ---
(In reply to Andrew Pinski from comment #2)
> There is some code in cse.cc which does handle this.
> See
> https://gcc.gnu.org/onlinedocs/gccint/Misc.html#index-
> TARGET_005fCONST_005fANCHOR also.

MIPS, aarch64 and rs6000 all define TARGET_CONST_ANCHOR (well MIPS sets
targetm.const_anchor depending on if it is mips16/micromips or mips32/64).

[Bug target/115687] RISC-V optimization when "lui" instructions can be merged

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115687

--- Comment #2 from Andrew Pinski  ---
There is some code in cse.cc which does handle this.
See
https://gcc.gnu.org/onlinedocs/gccint/Misc.html#index-TARGET_005fCONST_005fANCHOR
also.

[Bug c/115684] No warning for pointer and enum field comparison

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115684

Andrew Pinski  changed:

   What|Removed |Added

 Ever confirmed|0   |1
   Last reconfirmed||2024-06-27
 Status|UNCONFIRMED |NEW
   Severity|normal  |enhancement

--- Comment #4 from Andrew Pinski  ---
C++ has -Wzero-as-null-pointer-constant .
Maybe it should be added for C also for at least C23 where nullptr exists now.

Note for C++, the enum value is NOT considered a null ptr. That is different
from C though.

[Bug c/112556] Null pointer constants with enumeration type are not accepted

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112556

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-06-27
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW

--- Comment #3 from Andrew Pinski  ---
Confirmed a bug by JSM already.

[Bug c/115684] No warning for pointer and enum field comparison

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115684

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||diagnostic

--- Comment #3 from Andrew Pinski  ---
(In reply to Eric Gallager from comment #2)
> So, it depends on the value of the enumerator, it seems.

Yes because it depends on what can be considered a null pointer.

[Bug c++/102398] thread_local works incorrectly outside of main file

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102398

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #3 from Andrew Pinski  ---
Dup.

*** This bug has been marked as a duplicate of bug 81915 ***

[Bug target/81915] bug with thread_local inline variables

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81915

--- Comment #6 from Andrew Pinski  ---
*** Bug 102398 has been marked as a duplicate of this bug. ***

[Bug target/81915] bug with thread_local inline variables

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81915

Andrew Pinski  changed:

   What|Removed |Added

 CC||MacroModel at trajectronix dot 
onm
   ||icrosoft.com

--- Comment #5 from Andrew Pinski  ---
*** Bug 115686 has been marked as a duplicate of this bug. ***

[Bug target/115686] gcc cannot generate weak link function for thread_local variable `TLS init function`

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115686

--- Comment #2 from Andrew Pinski  ---
Really dup of bug 81915.

*** This bug has been marked as a duplicate of bug 81915 ***

[Bug target/115686] gcc cannot generate weak link function for thread_local variable `TLS init function`

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115686

Andrew Pinski  changed:

   What|Removed |Added

 Resolution|--- |DUPLICATE
 Status|UNCONFIRMED |RESOLVED

--- Comment #1 from Andrew Pinski  ---
Dup of at least bug 102398 .

*** This bug has been marked as a duplicate of bug 102398 ***

[Bug c++/102398] thread_local works incorrectly outside of main file

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102398

Andrew Pinski  changed:

   What|Removed |Added

 CC||MacroModel at trajectronix dot 
onm
   ||icrosoft.com

--- Comment #2 from Andrew Pinski  ---
*** Bug 115686 has been marked as a duplicate of this bug. ***

[Bug rtl-optimization/90343] ICE: in verify_dominators, at dominance.c:1184 (error: dominator of 7 status unknown)

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90343

--- Comment #3 from Andrew Pinski  ---
Note changing the definition of initializer_list to:
```
template
class initializer_list
{
public:
  const int *i2 () { return uk; }
  const int *w2 () { return uk + in; }

private:
  const E *uk;
  unsigned long int in;
};
```

Allows clang to accept the code. I will file a bug about (maybe) accepting an
invalid version of initializer_list later today.

[Bug c++/79424] dtor synthesized before abstractness correctly determined

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79424

Andrew Pinski  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=79393

--- Comment #2 from Andrew Pinski  ---
(In reply to Andrew Pinski from comment #1)
> Confirmed, looks like only clang gets this right.

In that MSVC, GCC and EDG all reject this. Maybe there is a defect report since
only 1 out of 4 compilers have the behavior that is reported here ...

[Bug tree-optimization/115659] powerpc fallout from removing vcond{,u,eq} patterns

2024-06-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115659

--- Comment #6 from Andrew Pinski  ---
(In reply to Kewen Lin from comment #5)
> (In reply to Andrew Pinski from comment #2)
> > Note I think this could help scalar code too:
> > ```
> > int a[1], b[1], c[1];
> > 
> > void
> > test (void)
> > {
> >   a[0] = (b[0] == c[0]) ? -1 : a[0];
> > }
> > 
> > void
> > test1 (void)
> > {
> >   a[0] = (-(b[0] == c[0])) | a[0];
> > }
> > 
> > ```
> > 
> 
> Good catch!
> 
> > So this could be something like:
> > ```
> > (simplify
> >  (cond @0 @1 integer_all_ones_p)
> >  (bit_ior (negate (convert @0)) @1))
> > (simplify
> >  (vec_cond @0 @1 integer_all_ones_p)
> >  (bit_ior (view_convert @0) @1))
> > ```
> 
> Missing negate for the vector one?

No because vector true is already -1 :).

[Bug tree-optimization/115214] tree-ssa-pre.c(ICE in find_or_generate_expression, at tree-ssa-pre.c:2780)

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115214

--- Comment #3 from Andrew Pinski  ---
(In reply to jiawei from comment #2)
> Fixed on upstream. 
> 
> https://gcc.gnu.org/pipermail/gcc-patches/2024-May/652806.html

Since you backported the fix for GCC 14.2.0
(r14-10350-g6e6f10c3ad6f96752acd9c35b653b387d5c3fcf6), can you backport the
aarch64 specific testcase (r15-1387-g17979deb15d34dd4) too?

[Bug middle-end/115674] "Checking if number is within interval" missed optimization when number is from a smaller int type

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115674

Andrew Pinski  changed:

   What|Removed |Added

  Component|tree-optimization   |middle-end

--- Comment #1 from Andrew Pinski  ---
Worse:
  _1 = x_3(D) + 62;
  _6 = _1 <= 50;

Decent code:
  value_4 = (uint32_t) x_3(D);
  _1 = value_4 + 4294967102;
  _7 = _1 <= 50;

I think there is a dup somewhere ...

[Bug rtl-optimization/115673] [15 regression] gcc.target/i386/force-indirect-call-2.c test failure

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115673

Andrew Pinski  changed:

   What|Removed |Added

  Component|target  |rtl-optimization
   Last reconfirmed||2024-06-27
 CC||pinskia at gcc dot gnu.org
 Status|UNCONFIRMED |NEW
   Target Milestone|--- |15.0
 Ever confirmed|0   |1
   Keywords||missed-optimization, ra

--- Comment #2 from Andrew Pinski  ---
https://gcc.gnu.org/pipermail/gcc-patches/2024-June/655721.html


r15-1619-g3b9b8d6cfdf593

[Bug c++/24666] [meta-bug] array decaying to pointers

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24666
Bug 24666 depends on bug 115594, which changed state.

Bug 115594 Summary: requires expression permits arrays of voids
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115594

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

[Bug c++/67491] [meta-bug] concepts issues

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
Bug 67491 depends on bug 115594, which changed state.

Bug 115594 Summary: requires expression permits arrays of voids
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115594

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

[Bug c++/24664] Template instantiation generating an array of voids doesn't fail

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24664

Andrew Pinski  changed:

   What|Removed |Added

 CC||fchelnokov at gmail dot com

--- Comment #7 from Andrew Pinski  ---
*** Bug 115594 has been marked as a duplicate of this bug. ***

[Bug c++/115594] requires expression permits arrays of voids

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115594

Andrew Pinski  changed:

   What|Removed |Added

 Resolution|--- |DUPLICATE
 Status|UNCONFIRMED |RESOLVED

--- Comment #3 from Andrew Pinski  ---
Yes it is a dup.

The following should also be rejected but currently is not:
```
  template int f(T*);
  int j=f(nullptr);
```

Basically function arguments (including concepts "arguments") decay too early
for arrays to pointers.

*** This bug has been marked as a duplicate of bug 24664 ***

[Bug target/115643] [15 regression] aarch64-w64-mingw32 support today breaks x86_64-w64-mingw32 build cannot represent relocation type BFD_RELOC_64 since r15-1602-ged20feebd9ea31

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115643

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |15.0
   Keywords||link-failure

[Bug c++/115672] [11/12/13/14/15 Regression] Incorrect template type parameter deduced in non-deduced context if class template has template template parameter

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115672

Andrew Pinski  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2024-06-27

--- Comment #5 from Andrew Pinski  ---
.

[Bug c++/115672] [11/12/13/14/15 Regression] Incorrect template type parameter deduced in non-deduced context if class template has template template parameter

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115672

Andrew Pinski  changed:

   What|Removed |Added

  Attachment #58527|0   |1
is obsolete||

--- Comment #4 from Andrew Pinski  ---
Created attachment 58528
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58528=edit
Reduced further

The second t argument type in the template definition is the key I think.
Changing it to just class allows the testcase to work.

[Bug c++/115672] [11/12/13/14/15 Regression] Incorrect template type parameter deduced in non-deduced context if class template has template template parameter

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115672

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |11.5
Summary|Incorrect template type |[11/12/13/14/15 Regression]
   |parameter deduced in|Incorrect template type
   |non-deduced context if  |parameter deduced in
   |class template has template |non-deduced context if
   |template parameter  |class template has template
   ||template parameter

[Bug c++/115672] Incorrect template type parameter deduced in non-deduced context if class template has template template parameter

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115672

--- Comment #3 from Andrew Pinski  ---
Created attachment 58527
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58527=edit
Remove the inline and change the static_assert to what other compilers should
do

[Bug tree-optimization/115636] Missing optimzation: fold ` (w << (unsigned int)((flag ? a : b) - 32768))` to ` flag ? w << (unsigned int)(a - 32768) : 0 `

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115636

--- Comment #3 from Andrew Pinski  ---
So looking at what LLVM does (Note it does not handle the original case here).

It only handles the simple:
`1 << (a ? b : 1000)` cases.

That is:
```
int f0(int a, int b)
{
if (a) b = 1000;
int t =  1 << b;
return t;
}
```
is optimized to `1 << b` without the condition.

But once you add something more complex in the condition, it does not do
anything:
```
int g();
int f1(int a, int b)
{
if (a) b = 1000;
else b = g();
int t =  1 << b;
g();
return t;
}
int f2(int a, int b)
{
if (a) b = 1000;
else g();
int t =  1 << b;
g();
return t;
}
```

changing f0 to be:
```
if (a) t = 0;
else  t =  1 << b;
```
Generates worse code for that. 

I have to think this one through a little more I think ...
undefined behavior is fun.

[Bug tree-optimization/115669] [15 Regression] rv64gcv -fwrapv miscompile since r15-1006-gd93353e6423

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115669

Andrew Pinski  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Target|riscv*-*-*  |riscv*-*-*
   ||aarch64-linux-gnu
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2024-06-26

--- Comment #2 from Andrew Pinski  ---
Confirmed. Also reproduced for aarch64:
[apinski@xeond2 upstream-full-cross]$ ./install/bin/aarch64-linux-gnu-gcc -O3
-march=armv9-a+sve2 -fno-vect-cost-model t67.c -static -O0
[apinski@xeond2 upstream-full-cross]$ ./install-qemu/bin/qemu-aarch64 a.out
-10
[apinski@xeond2 upstream-full-cross]$ ./install/bin/aarch64-linux-gnu-gcc -O3
-march=armv9-a+sve2 -fno-vect-cost-model t67.c -static -fwrapv
[apinski@xeond2 upstream-full-cross]$ ./install-qemu/bin/qemu-aarch64 a.out
-16

[Bug tree-optimization/115669] [15 Regression] rv64gcv -fwrapv miscompile since r15-1006-gd93353e6423

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115669

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |15.0
 CC||pinskia at gcc dot gnu.org

[Bug c++/115670] auto return type does not change the linkage for local structs

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115670

--- Comment #2 from Andrew Pinski  ---
Simplified case too:
```
auto bar(){
struct {int i;} t;
t.i = 0;
return t;
}
```

This should be local linkage.

Another testcase:
```
namespace {
struct a {int t = 12;};
}
auto bar(){
  struct a t;
return t;
}
```

[Bug tree-optimization/115663] outer loop vectorization with inner loop grouped access and SLP should be possible

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115663

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
   Severity|normal  |enhancement
   Last reconfirmed||2024-06-26

--- Comment #1 from Andrew Pinski  ---
Confirmed.

[Bug c++/115670] auto return type does not change the linkage for anonymous structs

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115670

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Ever confirmed|0   |1
Summary|missed optimization - dead  |auto return type does not
   |code elimination for|change the linkage for
   |anonymous structures|anonymous structs
 Status|UNCONFIRMED |NEW
   Severity|normal  |enhancement
   Last reconfirmed||2024-06-26

--- Comment #1 from Andrew Pinski  ---
Confirmed.

Doing:
```
decltype(a) bar(){
return a;
}
```

GCC is able to change the linkage of bar. it is just auto which is not handled.

[Bug tree-optimization/115669] [15 Regression] rv64gcv -fwrapv miscompile since r15-1006-gd93353e6423

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115669

Andrew Pinski  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=115450

--- Comment #1 from Andrew Pinski  ---
(In reply to Patrick O'Neill from comment #0)
> Found via fuzzer but Vineet bisected the 502.gcc_r benchmark breakage in
> spec2017 for the riscv target to the same commit so this _might_ be the same
> issue.

So the 502.gcc_r miscompile might be PR 115450 since that is for aarch64 SVE
even.

[Bug c++/115664] -Wnonnull-compare breaks templated methods

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115664

--- Comment #5 from Andrew Pinski  ---
Basically `dynamic_cast(this)` becomes just this if `T == Object` here and
then we warn because this is compared with nullptr.

[Bug c++/115664] -Wnonnull-compare breaks templated methods

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115664

Andrew Pinski  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #4 from Andrew Pinski  ---
Oh I take that back here is the testcase which shows the warning:
```
struct Object
{
  template
void method(void (*callback)(T*));
  virtual void g();
};

template
void Object::method(void (*)(T*))
{
  if (dynamic_cast(this) == nullptr)
throw 1;
}

void c(Object*);

void f(Object *a)
{
  a->method(c);
}
```

I didn't read the original description correctly.

[Bug c++/115664] -Wnonnull-compare breaks templated methods

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115664

Andrew Pinski  changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #3 from Andrew Pinski  ---
But I can't produce the warning ...

[Bug c++/115664] -Wnonnull-compare breaks templated methods

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115664

Andrew Pinski  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #2 from Andrew Pinski  ---
Testcase:
```

struct Object
{
template
void method(void (*callback)(T*));
virtual void g();
};

template
void Object::method(void (*callback)(T*))
{
  if (dynamic_cast(this) == nullptr)
throw 1;
}

struct g{};

void c(g*);

void f(Object )
{
  a.method(c);
}
```

[Bug rtl-optimization/115667] Improve expansion for popcountti2

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115667

Andrew Pinski  changed:

   What|Removed |Added

 Resolution|--- |DUPLICATE
 Status|UNCONFIRMED |RESOLVED

--- Comment #2 from Andrew Pinski  ---
Dup. The analysis of what goes wrong is in the dup. Adding popcountti is not
just enough.  I will be handling it in the coming weeks.

*** This bug has been marked as a duplicate of bug 113042 ***

[Bug target/113042] popcount of 8bits and 128bits can be improved for !TARGET_CSSC

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113042

Andrew Pinski  changed:

   What|Removed |Added

 CC||ktkachov at gcc dot gnu.org

--- Comment #5 from Andrew Pinski  ---
*** Bug 115667 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/115659] powerpc fallout from removing vcond{,u,eq} patterns

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115659

Andrew Pinski  changed:

   What|Removed |Added

  Component|target  |tree-optimization
 CC||pinskia at gcc dot gnu.org

--- Comment #2 from Andrew Pinski  ---
Note I think this could help scalar code too:
```
int a[1], b[1], c[1];

void
test (void)
{
  a[0] = (b[0] == c[0]) ? -1 : a[0];
}

void
test1 (void)
{
  a[0] = (-(b[0] == c[0])) | a[0];
}

```

So this could be something like:
```
(simplify
 (cond @0 @1 integer_all_ones_p)
 (bit_ior (negate (convert @0)) @1))
(simplify
 (vec_cond @0 @1 integer_all_ones_p)
 (bit_ior (view_convert @0) @1))
```
The second one might need a target_supports_op_p for the bit_ior.

[Bug middle-end/86680] possible gcc optimization

2024-06-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86680

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|8.0 |---

[Bug tree-optimization/31178] VRP can infer a range for b in a >> b and a << b

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31178

--- Comment #24 from Andrew Pinski  ---
Note I am talking about adding path isolation for out of ranges for the shift
operand too; https://gcc.gnu.org/pipermail/gcc/2024-June/244213.html .
I am not sure how it will interact with this here though.

[Bug c++/115657] [12/13/14/15 Regression] ICE in tsubst_enum/tsubst_expr during template instantiation

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115657

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-06-26
   Target Milestone|--- |12.5
Summary|ICE in  |[12/13/14/15 Regression]
   |tsubst_enum/tsubst_expr |ICE in
   |during template |tsubst_enum/tsubst_expr
   |instantiation   |during template
   ||instantiation
  Known to work||11.1.0
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW

--- Comment #2 from Andrew Pinski  ---
So confirmed.

[Bug c++/115657] ICE in tsubst_enum/tsubst_expr during template instantiation

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115657

Andrew Pinski  changed:

   What|Removed |Added

  Known to fail||12.1.0, 13.1.0, 14.1.0,
   ||15.0
   Keywords||ice-checking
Summary|[15 regression] ICE in  |ICE in
   |tsubst_enum/tsubst_expr |tsubst_enum/tsubst_expr
   |during template |during template
   |instantiation   |instantiation

--- Comment #1 from Andrew Pinski  ---
  /* We shouldn't get here, but keep going if !flag_checking.  */
  if (flag_checking)
gcc_unreachable ();


And yes it ICEs with -fchecking starting with GCC 12. I have not checked if
this changed to the above check in GCC 12 though.

[Bug c++/115658] char16_t and char32_t aliasing is conserative

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115658

--- Comment #1 from Andrew Pinski  ---
Though I should note
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2626r0.pdf and
https://github.com/sg16-unicode/sg16-meetings/tree/master#may-22nd-2024


So maybe we really should keep on treating them the same.
and maybe change char8_t back to similar as unsigned char ...

[Bug c++/115658] New: char16_t and char32_t aliasing is conserative

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115658

Bug ID: 115658
   Summary: char16_t and char32_t aliasing is conserative
   Product: gcc
   Version: 15.0
Status: UNCONFIRMED
  Keywords: alias, missed-optimization
  Severity: enhancement
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

when char8_t was added, a new aliasing set was done:
r9-5405-g2d91f79dc990f8

But when char16_t and char32_t was added (for GCC 4.4/C++11):
r0-88474-gc466b2cd136139

That was not done.

Maybe it should be done now.

Noticed from https://github.com/sg16-unicode/sg16/issues/67 .

[Bug tree-optimization/115636] Missing optimzation: fold ` (w << (unsigned int)((flag ? a : b) - 32768))` to ` flag ? w << (unsigned int)(a - 32768) : 0 `

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115636

Andrew Pinski  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |pinskia at gcc dot 
gnu.org
 Status|NEW |ASSIGNED

--- Comment #2 from Andrew Pinski  ---
Going to implement something for isolate-paths. It might not be exactly what
was expecting here due it might be using a trap rather than 0. 

> According to the behavior of gcc

Note this is statement is not exactly "correct" it is just the behavior for gcc
currently for this undefined behavior. 

Note I have a straw poll going on which behavior we should do (maybe even by
default):
https://gcc.gnu.org/pipermail/gcc/2024-June/244213.html

[Bug jit/99126] Compilation ICE trying insert trap

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99126

Andrew Pinski  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |11.0

--- Comment #10 from Andrew Pinski  ---
Fixed. GCC 10.x is no longer supported.

[Bug target/115622] gcc.dg/ipa/iinline-attr.c fails after r15-1579-g792f97b44ffc5e

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115622

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |15.0

[Bug target/115634] [15 regression] s390 bootstrap failure since r15-1579-g792f97b44ffc5e

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115634

--- Comment #2 from Andrew Pinski  ---
(In reply to Andrew Pinski from comment #1)
> s390_valid_shift_count does not seem to check that %r0 was valid here.

I should expand on that, it seems to allow any register. I think it should
allow only pesudo registers or the valid registers, 1-15.

[Bug gcov-profile/115628] undefined reference to `__gcov_merge

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115628

--- Comment #5 from Andrew Pinski  ---
(In reply to sadineniharish8446 from comment #4)
> we ate trying to take coverage for libstdc++, I have tried following
> configuration options but getting same error.
> 
> ../configure --enable-languages=c,c++ - --disable-bootstrap
> --disable-multilib  CFLAGS="-ftest-coverage -fprofile-arcs"
> CXXFLAGS="-ftest-coverage -fprofile-arcs " LDFLAGS="--coverage"
> 
> 
> can you please let me know which configuration will work. 

Try setting CXXFLAGS_FOR_TARGET only. Note this is not the right place to get
help like this. gcc@ (and libstdc++@) mailing list are better places to ask for
help on getting this working and only filing a bug if there is no way in the
end.

[Bug target/115638] [15 regression] libphobos.phobos/std/container/rbtree.d etc. FAIL

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115638

Andrew Pinski  changed:

   What|Removed |Added

  Component|rtl-optimization|target
   Keywords||memory-hog

--- Comment #1 from Andrew Pinski  ---
I suspect there is a problemantic md pattern which is causing this.

[Bug target/115634] [15 regression] s390 bootstrap failure since r15-1579-g792f97b44ffc5e

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115634

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-06-25
 CC||pinskia at gcc dot gnu.org
   Keywords||build
  Component|rtl-optimization|target
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW

--- Comment #1 from Andrew Pinski  ---
; 64 bit register shift with reg or imm shift count
; sll, srl, sllg, srlg, sllk, srlk
(define_insn "*3"
  [(set (match_operand:GPR 0 "register_operand"  "=d, d")
(SHIFT:GPR (match_operand:GPR 1 "register_operand" ", d")
   (match_operand:QI 2 "shift_count_operand"   "jsc,jsc")))]
  ""
  "@
   sl\t%0,<1>%Y2
   sl\t%0,%1,%Y2"
  [(set_attr "op_type"  "RS,RSY")
   (set_attr "atype""reg,reg")
   (set_attr "cpu_facility" "*,z196")
   (set_attr "z10prop"  "z10_super_E1,*")])


;; Shift count operands are not necessarily legitimate addresses
;; but the predicate shift_count_operand will only allow
;; proper operands.  If reload/lra need to change e.g. a spilled register
;; they can still do so via the special handling of address constraints.
;; To avoid further reloading (caused by a non-matching constraint) we
;; always return true here as the predicate's checks are already sufficient.

(define_address_constraint "jsc"
  "Address style operand used as shift count."
  (match_test "true" ))

(define_predicate "shift_count_operand"
 (and (match_code "reg, subreg, and, plus, const_int")
  (match_test "CONST_INT_P (op) || GET_MODE (op) == E_QImode"))
{
  return s390_valid_shift_count (op, 63);
}
)


s390_valid_shift_count does not seem to check that %r0 was valid here.

This is so ick though.

[Bug tree-optimization/115636] Missing optimzation: fold ` (w << (unsigned int)((flag ? a : b) - 32768))` to ` flag ? w << (unsigned int)(a - 32768) : 0 `

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115636

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-06-25
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW

--- Comment #1 from Andrew Pinski  ---
;;   basic block 3, loop depth 0, maybe hot
;;prev block 2, next block 4, flags: (NEW, VISITED)
;;pred:   2 (TRUE_VALUE,EXECUTABLE)
  # VUSE <.MEM_13(D)>
  b.1_2 = bD.4438;
  # RANGE [irange] unsigned int [0, 32767][4294934528, +INF]
  _3 = (unsigned intD.15) b.1_2;
  # RANGE [irange] unsigned int [4294901760, +INF]
  iftmp.0_14 = _3 + 4294934528;
  goto ; [INV]
;;succ:   5 (FALLTHRU,EXECUTABLE)

;;   basic block 4, loop depth 0, maybe hot
;;prev block 3, next block 5, flags: (NEW, VISITED)
;;pred:   2 (FALSE_VALUE,EXECUTABLE)
  _4 = (unsigned intD.15) a_11(D);
  iftmp.0_12 = _4 + 4294934528;
;;succ:   5 (FALLTHRU,EXECUTABLE)

;;   basic block 5, loop depth 0, maybe hot
;;prev block 4, next block 1, flags: (NEW, VISITED)
;;pred:   3 (FALLTHRU,EXECUTABLE)
;;4 (FALLTHRU,EXECUTABLE)
  # iftmp.0_8 = PHI 
  _5 = _1 << iftmp.0_8;


So we could see that bb3 is undefined due to the shift right afterwards and
either change it to being __builtin_unreachable or __builtin_trap and then
optimize it further. 

This is a job for gimple-ssa-isolate-paths to handle really.

[Bug tree-optimization/115636] Missing optimzation: fold ` (w << (unsigned int)((flag ? a : b) - 32768))` to ` flag ? w << (unsigned int)(a - 32768) : 0 `

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115636

Andrew Pinski  changed:

   What|Removed |Added

   Severity|normal  |enhancement

[Bug tree-optimization/115652] [15 Regression] GCN: FAIL: gcc.dg/vect/pr70138-{1,2}.c (internal compiler error: verify_ssa failed)

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115652

Andrew Pinski  changed:

   What|Removed |Added

  Component|target  |tree-optimization
   Target Milestone|--- |15.0
 CC||pinskia at gcc dot gnu.org

[Bug c++/115651] CTAD: gcc accepts the code which should be rejected.

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115651

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2024-06-25
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1

--- Comment #1 from Andrew Pinski  ---
Confirmed.

[Bug target/115650] [15 Regression] ARC backend bug exposed by late-combine pass

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115650

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||link-failure
 Target||arc
 CC||pinskia at gcc dot gnu.org
   Target Milestone|--- |15.0

[Bug web/115627] Diagnostics Conventions does not mention options and keywords should be quoted

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115627

--- Comment #3 from Andrew Pinski  ---
Oh some of it is in the internals manual too:
https://gcc.gnu.org/onlinedocs/gccint/Guidelines-for-Diagnostics.html#Quoting

[Bug target/115654] __builtin_cpu_supports should accept specific CPU names

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115654

Andrew Pinski  changed:

   What|Removed |Added

   Severity|normal  |enhancement

[Bug c/115644] [gcc][trunk] ICE if redeclare a variable with different type

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115644

--- Comment #2 from Andrew Pinski  ---
(In reply to wierton from comment #1)
> This crash seems to be the same cause: https://gcc.godbolt.org/z/6br3xoaKG

Related in the sense redeclaring the variable with a different type changes the
the underlying type of the decl to error_mark_node which the rest of the
compiler is not always ready to handle. (there a few other bug reports which
was caused by the same thing too).

[Bug target/109989] [13 Regression] RISC-V: Missing sign extension with int to float conversion with 64bit soft floats caused by r13-2105

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109989

Andrew Pinski  changed:

   What|Removed |Added

  Known to work||12.1.0, 14.1.0
  Known to fail||13.1.0
Summary|[13 Regression] RISC-V: |[13 Regression] RISC-V:
   |Missing sign extension with |Missing sign extension with
   |int to float conversion |int to float conversion
   |with 64bit soft floats  |with 64bit soft floats
   ||caused by r13-2105

--- Comment #8 from Andrew Pinski  ---
Was fixed for GCC 14 by r14-5060-g7560f2b4e387ef .

[Bug target/109989] [11/12/13 only] RISC-V: Missing sign extension with int to float conversion with 64bit soft floats

2024-06-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109989

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |13.4
Summary|RISC-V: Missing sign|[11/12/13 only] RISC-V:
   |extension with int to float |Missing sign extension with
   |conversion with 64bit soft  |int to float conversion
   |floats  |with 64bit soft floats

[Bug tree-optimization/115629] Inefficient if-convert of masked conditionals

2024-06-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115629

Andrew Pinski  changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu.org
   Severity|normal  |enhancement
 Blocks||53947


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
[Bug 53947] [meta-bug] vectorizer missed-optimizations

[Bug gcov-profile/115628] undefined reference to `__gcov_merge

2024-06-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115628

Andrew Pinski  changed:

   What|Removed |Added

Summary|undefined reference to  |undefined reference to
   |`__gcov_merge_add'  |`__gcov_merge
 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Andrew Pinski  ---
(In reply to sadineniharish8446 from comment #2)
> I was trying build source code coverage for gcc but while running the tests
> we are getting the following errors:
> crtstuff.c:(.text.exit+0x5): undefined reference to `__gcov_exit'^M
> collect2: error: ld returned 1 exit status^M
> compiler exited with status 1
> FAIL: g++.old-deja/g++.other/static13.C  -std=c++98 (test for excess errors)
> Excess errors:
> /usr/bin/ld:
> /home/hsadineni/newgcc/gcc/build/gcc/testsuite/g++/../../crtbegin.o:(.
> data+0x80): undefined reference to `__gcov_merge_add'
> crtstuff.c:(.text.startup+0xa): undefined reference to `__gcov_init'
> crtstuff.c:(.text.exit+0x5): undefined reference to `__gcov_exit'
> 
> Reproducible steps:
> 
> ../configure --enable-languages=c++ --enable-coverage --disable-bootstrap
> --disable-multilib  CFLAGS="-ftest-coverage -fprofile-arcs"
> CXXFLAGS="-ftest-coverage -fprofile-arcs " LDFLAGS="--coverage"

Yes this is not going to work as you are compiling libgcc with -ftest-coverage
which will almost never work.

you just need either --enable-coverage or --enable-coverage=opt .

[Bug gcov-profile/115628] undefined reference to `__gcov_merge

2024-06-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115628

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2024-06-25
 Ever confirmed|0   |1

--- Comment #1 from Andrew Pinski  ---
Did you accidently submit the bug report without any message?

[Bug c++/115605] structured binding break if a variable named tuple_size is visibile at the decomposition site

2024-06-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115605

--- Comment #7 from Andrew Pinski  ---
Patch submitted (with the fix):
https://gcc.gnu.org/pipermail/gcc-patches/2024-June/655565.html

[Bug c++/115624] '-Wnrvo' is not an option that controls warnings

2024-06-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115624

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |14.2
 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Andrew Pinski  ---
Fixed.

[Bug web/115627] Diagnostics Conventions does not mention options and keywords should be quoted

2024-06-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115627

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||diagnostic

--- Comment #2 from Andrew Pinski  ---
Note I noticed this while reviewing Andrew's patch:
https://gcc.gnu.org/pipermail/gcc-patches/2024-June/65.html

Well and him asking questions about it on IRC.

[Bug web/115627] Diagnostics Conventions does not mention options and keywords should be quoted

2024-06-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115627

--- Comment #1 from Andrew Pinski  ---
Thread 2 should have been:
https://inbox.sourceware.org/gcc-patches/8ac62fe2-e4bf-0922-4947-fca9567a0...@gmail.com/

<    3   4   5   6   7   8   9   10   11   12   >