[Bug target/99314] [Patch] [RISC-V] g++.dg/opt/memcpy1.C

2021-03-07 Thread kito at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99314

Kito Cheng  changed:

   What|Removed |Added

 Resolution|FIXED   |---
 Status|RESOLVED|REOPENED

--- Comment #6 from Kito Cheng  ---
I would prefer keep this open until merged into master, gcc-10 and gcc-9
branch.

[Bug debug/99457] gcc/gdb -gstabs+ is buggy.

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99457

--- Comment #2 from Andrew Pinski  ---
https://gcc.gnu.org/pipermail/gcc-patches/2017-July/479552.html

[Bug debug/99457] gcc/gdb -gstabs+ is buggy.

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99457

--- Comment #1 from Andrew Pinski  ---
stabs support really should be removed.

[Bug debug/99457] New: gcc/gdb -gstabs+ is buggy.

2021-03-07 Thread jay.krell at cornell dot edu via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99457

Bug ID: 99457
   Summary: gcc/gdb -gstabs+ is buggy.
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jay.krell at cornell dot edu
  Target Milestone: ---

gcc/gdb -gstabs+ is buggy.
Could be either, I didn't investigate.
The codegen is correct.
That's ok, I didn't really need it, I'll use regular -g.

$ cat 1.c
#include 
int main()
{
char a[100] = {0};
printf("%d\n", a[0]);
}

$ gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0

$ gcc -gstabs+ 1.c

 # correct output
$ ./a.out
0

$ gdb --version
GNU gdb (Ubuntu 9.1-0ubuntu1) 9.1

$ gdb ./a.out
(gdb) break main
(gdb) r

Breakpoint 1, main () at 1.c:3
3   {
(gdb) n
4   char a[100] = {0};
(gdb)
5   printf("%d\n", a[0]);
(gdb) p a
$1 =
"@\003\000\000@\003\000\000@\003\000\000@\003\000\000@\003\000\000@\003\000\000@\003\000\000@\003\000\000@\003\000\000@\003",
'\000' , "\001", '\000' 
(gdb) p a[0]
$2 = 64 '@'
(gdb) disas
Dump of assembler code for function main:
   0x5169 <+0>: endbr64
   0x516d <+4>: push   %rbp
   0x516e <+5>: mov%rsp,%rbp
   0x5171 <+8>: sub$0x70,%rsp
   0x5175 <+12>:mov%fs:0x28,%rax
   0x517e <+21>:mov%rax,-0x8(%rbp)
   0x5182 <+25>:xor%eax,%eax
   0x5184 <+27>:movq   $0x0,-0x70(%rbp)
   0x518c <+35>:movq   $0x0,-0x68(%rbp)
   0x5194 <+43>:movq   $0x0,-0x60(%rbp)
   0x519c <+51>:movq   $0x0,-0x58(%rbp)
   0x51a4 <+59>:movq   $0x0,-0x50(%rbp)
   0x51ac <+67>:movq   $0x0,-0x48(%rbp)
   0x51b4 <+75>:movq   $0x0,-0x40(%rbp)
   0x51bc <+83>:movq   $0x0,-0x38(%rbp)
   0x51c4 <+91>:movq   $0x0,-0x30(%rbp)
   0x51cc <+99>:movq   $0x0,-0x28(%rbp)
   0x51d4 <+107>:   movq   $0x0,-0x20(%rbp)
   0x51dc <+115>:   movq   $0x0,-0x18(%rbp)
   0x51e4 <+123>:   movl   $0x0,-0x10(%rbp)
=> 0x51eb <+130>:   movzbl -0x70(%rbp),%eax
   0x51ef <+134>:   movsbl %al,%eax
   0x51f2 <+137>:   mov%eax,%esi
   0x51f4 <+139>:   lea0xe09(%rip),%rdi# 0x6004
   0x51fb <+146>:   mov$0x0,%eax
   0x5200 <+151>:   callq  0x5070 
   0x5205 <+156>:   mov$0x0,%eax
   0x520a <+161>:   mov-0x8(%rbp),%rdx
(gdb) q

$ gcc -g 1.c
$ gdb ./a.out
(gdb) r

Breakpoint 1, main () at 1.c:3
3   {
(gdb) n
4   char a[100] = {0};
(gdb)
5   printf("%d\n", a[0]);
(gdb) p a
$1 = '\000' 

[Bug tree-optimization/99398] Miss to optimize vector permutation fed by CTOR and CTOR/CST

2021-03-07 Thread linkw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99398

--- Comment #2 from Kewen Lin  ---
Created attachment 50329
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50329&action=edit
tested patch

[Bug c++/99456] [11 regression] ABI breakage with some static initialization

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99456

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||ABI
   Target Milestone|--- |11.0

[Bug target/99422] [11 Regression] ICE in extract_constrain_insn building glibc pthread_create

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99422

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

[Bug c/99455] internal compiler error: In function 'prb_reserve_in_last' in linux kernel

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99455

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #1 from Andrew Pinski  ---
Dup of bug 99422.

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

[Bug gcov-profile/99443] [GCOV] No coverage with "Aborted(core dumped)"

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99443

--- Comment #4 from Andrew Pinski  ---
It is not well documented though.
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/Gcov-and-Optimization.html#Gcov-and-Optimization
Long-running applications can use the __gcov_reset and __gcov_dump facilities
to restrict profile collection to the program region of interest. Calling
__gcov_reset(void) will clear all profile counters to zero, and calling
__gcov_dump(void) will cause the profile information collected at that point to
be dumped to .gcda output files. ** Instrumented applications use a static
destructor with priority 99 to invoke the __gcov_dump function.** Thus
__gcov_dump is executed after all user defined static destructors, as well as
handlers registered with atexit. If an executable loads a dynamic shared object
via dlopen functionality, -Wl,--dynamic-list-data is needed to dump all profile
data.

- CUT 

[Bug c++/99456] [11 regression] ABI breakage with some static initialization

2021-03-07 Thread nathan at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99456

--- Comment #2 from Nathan Sidwell  ---
Created attachment 50328
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50328&action=edit
trunk output (unoptimized)

[Bug c++/99456] [11 regression] ABI breakage with some static initialization

2021-03-07 Thread nathan at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99456

--- Comment #1 from Nathan Sidwell  ---
Created attachment 50327
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50327&action=edit
gcc-10 output (unoptimized)

[Bug c++/99456] New: [11 regression] ABI breakage with some static initialization

2021-03-07 Thread nathan at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99456

Bug ID: 99456
   Summary: [11 regression] ABI breakage with some static
initialization
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

Created attachment 50326
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50326&action=edit
testcase

I've noticed some poorer behaviour in trunk than gcc10 with emitting inline
vars.  The example when compiled with gcc-10 -std=c++17 emits only those vars
that are reachable from the externally visible vars.  I.e. Var1...Var4 are NOT
present.  Further all vars are statically initialized with no global
initializer function.
(This is regardless of optimization level).

With trunk, all the inline vars are emitted, even when not referenced. 
Further, there is a gloabl initializer function emitted, that only tests and
sets their respective guard variables, with two exceptions.

Var3 and Var13 are dynamically initialized. This is an abi breakage.

I attach the two assembly files generated (the source presumes LP32 or LP64
ABI)

[Bug c/99455] New: internal compiler error: In function 'prb_reserve_in_last' in linux kernel

2021-03-07 Thread raj.khem at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99455

Bug ID: 99455
   Summary: internal compiler error: In function
'prb_reserve_in_last' in linux kernel
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: raj.khem at gmail dot com
  Target Milestone: ---

compiling attached source with -Os causes the ICE, it works ok with -O1 or -O2

=
$ x86_64-yoe-linux-musl-gcc -Os b.c -c

b.c:21245:1: error: unrecognizable insn:
21245 | }
  | ^
(insn 58 57 446 6 (parallel [
(asm_operands/v ("push %0 ; popf") ("") 0 [
(mem:DI (plus:DI (mem/c:DI (plus:DI (reg/f:DI 7 sp)
(const_int 8 [0x8])) [27 %sfp+-72 S8 A64])
(const_int 8 [0x8])) [16 e_56(D)->irqflags+0 S8
A64])
]
 [
(asm_input:DI ("g") b.c:9370)
]
 [] b.c:9370)
(clobber (mem:BLK (scratch) [0  A8]))
(clobber (reg:CC 17 flags))
]) "b.c":9370:2 -1
 (nil))
during RTL pass: postreload
b.c:21245:1: internal compiler error: in extract_constrain_insn, at
recog.c:2670
0x1564e08 internal_error(char const*, ...)
???:0
0x60277f fancy_abort(char const*, int, char const*)
???:0
0x5dddbe _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
???:0
0x5a _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
???:0


==

gcc version 11.0.1 20210307 (experimental) (GCC)

[Bug target/99422] [11 Regression] ICE in extract_constrain_insn building glibc pthread_create

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99422

Andrew Pinski  changed:

   What|Removed |Added

 CC||raj.khem at gmail dot com

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

[Bug c/99454] internal compiler error: kernel module tg3 tg3_start_xmit

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99454

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #2 from Andrew Pinski  ---
Dup of bug 99422.

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

[Bug libfortran/99218] [8/9/10/11 Regression] matmul on temporary array accesses invalid memory (segfault)

2021-03-07 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99218

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from anlauf at gcc dot gnu.org ---
Fixed on all open branches.  Closing.

Thanks for the report!

[Bug debug/95432] inconsistent behaviors at -O2

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95432

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |MOVED

--- Comment #4 from Andrew Pinski  ---
Closing as moved as it was reported and fixed in gdb already.

[Bug libfortran/99218] [8/9/10/11 Regression] matmul on temporary array accesses invalid memory (segfault)

2021-03-07 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99218

--- Comment #8 from CVS Commits  ---
The releases/gcc-8 branch has been updated by Harald Anlauf
:

https://gcc.gnu.org/g:547563ba5abd685077d37a67c7d6fc9b54653934

commit r8-10787-g547563ba5abd685077d37a67c7d6fc9b54653934
Author: Harald Anlauf 
Date:   Fri Mar 5 20:57:54 2021 +0100

PR libfortran/99218 - matmul on temporary array accesses invalid memory

Do not invoke tuned rank-2 times rank-2 matmul if rank(b) == 1.

libgfortran/ChangeLog:

PR libfortran/99218
* m4/matmul_internal.m4: Invoke tuned matmul only for rank(b)>1.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Likewise.
* generated/matmul_c4.c: Likewise.
* generated/matmul_c8.c: Likewise.
* generated/matmul_i1.c: Likewise.
* generated/matmul_i16.c: Likewise.
* generated/matmul_i2.c: Likewise.
* generated/matmul_i4.c: Likewise.
* generated/matmul_i8.c: Likewise.
* generated/matmul_r10.c: Likewise.
* generated/matmul_r16.c: Likewise.
* generated/matmul_r4.c: Likewise.
* generated/matmul_r8.c: Likewise.
* generated/matmulavx128_c10.c: Likewise.
* generated/matmulavx128_c16.c: Likewise.
* generated/matmulavx128_c4.c: Likewise.
* generated/matmulavx128_c8.c: Likewise.
* generated/matmulavx128_i1.c: Likewise.
* generated/matmulavx128_i16.c: Likewise.
* generated/matmulavx128_i2.c: Likewise.
* generated/matmulavx128_i4.c: Likewise.
* generated/matmulavx128_i8.c: Likewise.
* generated/matmulavx128_r10.c: Likewise.
* generated/matmulavx128_r16.c: Likewise.
* generated/matmulavx128_r4.c: Likewise.
* generated/matmulavx128_r8.c: Likewise.

gcc/testsuite/ChangeLog:

PR libfortran/99218
* gfortran.dg/matmul_21.f90: New test.

(cherry picked from commit b1bee29167df6b0fbc9a4c8d06e2acbf3367af47)

[Bug c/99454] internal compiler error: kernel module tg3 tg3_start_xmit

2021-03-07 Thread raj.khem at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99454

--- Comment #1 from Khem Raj  ---
btw. another data point when compiling with -Os it works but fails with -O1 or
-O2
it was working ok with gcc snapshot from 10 days ago.

[Bug c/99454] New: internal compiler error: kernel module tg3 tg3_start_xmit

2021-03-07 Thread raj.khem at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99454

Bug ID: 99454
   Summary: internal compiler error: kernel module tg3
tg3_start_xmit
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: raj.khem at gmail dot com
  Target Milestone: ---

Created attachment 50325
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50325&action=edit
testcase

Compiling kernel 5.10 for x86_64 is resulting in below ICE

===
$ x86_64-yoe-linux-musl/x86_64-yoe-linux-musl-gcc -c a.c -O

a.c: In function 'tg3_start_xmit':
a.c:97234:1: error: unrecognizable insn:
97234 | }
  | ^
(insn 258 1293 1351 23 (parallel [
(set (reg:SI 0 ax [orig:542 sum ] [542])
(asm_operands:SI ("  addl %1, %0
  adcl %2, %0
  adcl %3, %0
  adcl $0, %0
") ("=r") 0 [
(mem:SI (plus:DI (mem/c:DI (plus:DI (reg/f:DI 7 sp)
(const_int 64 [0x40])) [555 %sfp+-32 S8
A64])
(const_int 16 [0x10])) [4 MEM[(struct iphdr
*)_287].daddr+0 S4 A32])
(mem:SI (plus:DI (mem/c:DI (plus:DI (reg/f:DI 7 sp)
(const_int 64 [0x40])) [555 %sfp+-32 S8
A64])
(const_int 12 [0xc])) [4 MEM[(struct iphdr
*)_287].saddr+0 S4 A32])
(const_int 1536 [0x600])
(reg:SI 0 ax [orig:542 sum ] [542])
]
 [
(asm_input:SI ("g") a.c:48913)
(asm_input:SI ("g") a.c:48913)
(asm_input:SI ("g") a.c:48913)
(asm_input:SI ("0") a.c:48913)
]
 [] a.c:48913))
(clobber (reg:CC 17 flags))
]) "a.c":48913:2 -1
 (nil))
during RTL pass: postreload
a.c:97234:1: internal compiler error: in extract_constrain_insn, at
recog.c:2670
0x1564e08 internal_error(char const*, ...)
???:0
0x60277f fancy_abort(char const*, int, char const*)
???:0
0x5dddbe _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
???:0
0x5a _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
???:0
===


attached is the preprocessed source 


compiler version
gcc version 11.0.1 20210307 (experimental) (GCC)

[Bug target/99422] [11 Regression] ICE in extract_constrain_insn building glibc pthread_create

2021-03-07 Thread vmakarov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99422

--- Comment #7 from Vladimir Makarov  ---
(In reply to Jakub Jelinek from comment #2)
> I see the function is called before selecting a particular alternative, so
> perhaps it means to care only about constraints like "X" and "" and not say
> that mixed with other constraints etc.
> But, shouldn't the code at least skip the =, +, &, % and whitespace from the
> start?  What about other modifiers (the various disparage slightly etc.
> chars)?
> And only consider as empty constraint if after those skips constraint is ""?
> Not really sure if ",,," constraint is valid...
> And, regarding of Eric's change to handle "X" that way, does that really
> apply just to MEM and not SUBREG of MEM too?

Yes.  It seems my bad job on reviewing Richard Sandiford's patch 777e635f1a6c. 
Before this patch constraint string was checked only for 'p' which can not have
modifiers (although spaces are still possible).

I am afraid that fixing this mess can result in new failures.  But we should do
this anyway.

[Bug libfortran/99218] [8/9/10/11 Regression] matmul on temporary array accesses invalid memory (segfault)

2021-03-07 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99218

--- Comment #7 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Harald Anlauf
:

https://gcc.gnu.org/g:1dfa6e6c50be570b8240793f58cdac95be9dd3ef

commit r9-9273-g1dfa6e6c50be570b8240793f58cdac95be9dd3ef
Author: Harald Anlauf 
Date:   Fri Mar 5 20:57:54 2021 +0100

PR libfortran/99218 - matmul on temporary array accesses invalid memory

Do not invoke tuned rank-2 times rank-2 matmul if rank(b) == 1.

libgfortran/ChangeLog:

PR libfortran/99218
* m4/matmul_internal.m4: Invoke tuned matmul only for rank(b)>1.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Likewise.
* generated/matmul_c4.c: Likewise.
* generated/matmul_c8.c: Likewise.
* generated/matmul_i1.c: Likewise.
* generated/matmul_i16.c: Likewise.
* generated/matmul_i2.c: Likewise.
* generated/matmul_i4.c: Likewise.
* generated/matmul_i8.c: Likewise.
* generated/matmul_r10.c: Likewise.
* generated/matmul_r16.c: Likewise.
* generated/matmul_r4.c: Likewise.
* generated/matmul_r8.c: Likewise.
* generated/matmulavx128_c10.c: Likewise.
* generated/matmulavx128_c16.c: Likewise.
* generated/matmulavx128_c4.c: Likewise.
* generated/matmulavx128_c8.c: Likewise.
* generated/matmulavx128_i1.c: Likewise.
* generated/matmulavx128_i16.c: Likewise.
* generated/matmulavx128_i2.c: Likewise.
* generated/matmulavx128_i4.c: Likewise.
* generated/matmulavx128_i8.c: Likewise.
* generated/matmulavx128_r10.c: Likewise.
* generated/matmulavx128_r16.c: Likewise.
* generated/matmulavx128_r4.c: Likewise.
* generated/matmulavx128_r8.c: Likewise.

gcc/testsuite/ChangeLog:

PR libfortran/99218
* gfortran.dg/matmul_21.f90: New test.

(cherry picked from commit b1bee29167df6b0fbc9a4c8d06e2acbf3367af47)

[Bug target/99422] [11 Regression] ICE in extract_constrain_insn building glibc pthread_create

2021-03-07 Thread vmakarov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99422

--- Comment #6 from Vladimir Makarov  ---
(In reply to Joseph S. Myers from comment #0)
> Created attachment 50314 [details]
> preprocessed source
> 
> Commit 9105757a59b890194ebf5b4fcbacd58db34ef332 ("[PR99378] LRA: Skip
> decomposing address for asm insn operand with unknown constraint.")
> introduced the following ICE building glibc for i686-linux-gnu. Tested with
> an x86_64 compiler; compile the attached .i file with the following options:
> -m32 -march=i686 -O2 -pg -S
> 

Sorry for causing the troubles.  I'll fix this tomorrow.

[Bug target/85074] FAIL: g++.dg/torture/pr81812.C (test for excess errors)

2021-03-07 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85074

--- Comment #7 from CVS Commits  ---
The releases/gcc-8 branch has been updated by John David Anglin
:

https://gcc.gnu.org/g:8d2f7f40629cc5d0b4f27ee8aadc98c212876959

commit r8-10786-g8d2f7f40629cc5d0b4f27ee8aadc98c212876959
Author: John David Anglin 
Date:   Sun Mar 7 17:55:32 2021 +

Add mi_thunk support for vcalls on hppa.

gcc/ChangeLog:

PR target/85074
* config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as
hook_bool_const_tree_hwi_hwi_const_tree_true.
(pa_asm_output_mi_thunk): Add support for nonzero vcall_offset.

[Bug c++/99365] [11 Regression] ICE on partial specialization with constrained placeholder NTTP

2021-03-07 Thread johelegp at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99365

--- Comment #6 from Johel Ernesto Guerrero Peña  ---
Thank you. Can confirm it's working for my use case.

[Bug target/85074] FAIL: g++.dg/torture/pr81812.C (test for excess errors)

2021-03-07 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85074

--- Comment #6 from CVS Commits  ---
The releases/gcc-9 branch has been updated by John David Anglin
:

https://gcc.gnu.org/g:4f01123ca27e648611016d00c3ed95945f27ab30

commit r9-9272-g4f01123ca27e648611016d00c3ed95945f27ab30
Author: John David Anglin 
Date:   Sun Mar 7 17:44:49 2021 +

Add mi_thunk support for vcalls on hppa.

gcc/ChangeLog:

PR target/85074
* config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as
hook_bool_const_tree_hwi_hwi_const_tree_true.
(pa_asm_output_mi_thunk): Add support for nonzero vcall_offset.

[Bug bootstrap/98590] [11 regression] Bootstrap failure with Ada on Cygwin since switch to C++11

2021-03-07 Thread mikpelinux at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98590

Mikael Pettersson  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #14 from Mikael Pettersson  ---
This issue is now fixed.
Bootstrap still needs the PR94918 fix though.

[Bug libstdc++/99453] libstdc++*-gdb.py installation depends on library naming

2021-03-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99453

--- Comment #2 from Jonathan Wakely  ---
Yup

[Bug libstdc++/99430] std::filesystem::path: UNC device paths with \\?\… not supported properly

2021-03-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99430

--- Comment #1 from Jonathan Wakely  ---
They're simply not supported at all.

[Bug libstdc++/45896] [C++0x] Facet time_get not reading dates according to the IEEE 1003 standard.

2021-03-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45896

Jonathan Wakely  changed:

   What|Removed |Added

 CC||lewis at sophists dot com

--- Comment #11 from Jonathan Wakely  ---
*** Bug 99439 has been marked as a duplicate of this bug. ***

[Bug libstdc++/99439] use_facet> (l); get() API with kMonthDayYearFormat = L"%m/%d/%Y" should allow missing leading zero

2021-03-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99439

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #1 from Jonathan Wakely  ---
Nothing to do with wchar_t, and it's already known. As it says in PR 
45896 this changed between C++03 and C++11.

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

[Bug libstdc++/99453] libstdc++*-gdb.py installation depends on library naming

2021-03-07 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99453

Iain Sandoe  changed:

   What|Removed |Added

 CC||iains at gcc dot gnu.org

--- Comment #1 from Iain Sandoe  ---
and we can't skip .a because that's the right suffix for AIX, correct?

[Bug c++/99429] [10/11 Regression] ICE for bool return from <=>

2021-03-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99429

--- Comment #4 from Jonathan Wakely  ---
Dup of PR 94162 ?

[Bug libstdc++/99453] New: libstdc++*-gdb.py installation depends on library naming

2021-03-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99453

Bug ID: 99453
   Summary: libstdc++*-gdb.py installation depends on library
naming
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

libstdc++-v3/python/Makefile.am does:

install-data-local: gdb.py
@$(mkdir_p) $(DESTDIR)$(toolexeclibdir)
## We want to install gdb.py as SOMETHING-gdb.py.  SOMETHING is the
## full name of the final library.  We want to ignore symlinks, the
## .la file, and any previous -gdb.py file.  This is inherently
## fragile, but there does not seem to be a better option, because
## libtool hides the real names from us.
@here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \
  for file in libstdc++.*; do \
case $$file in \
  *-gdb.py) ;; \
  *.la) ;; \
  *) if test -h $$file; then \
   continue; \
 fi; \
 libname=$$file;; \
esac; \
  done; \
cd $$here; \
echo " $(INSTALL_DATA) gdb.py
$(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
$(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py


This will use the last matching file for the libstdc++* glob. That works fine
for ELF targets where the matching names are:

libstdc++.a
libstdc++.so
libstdc++.so.6
libstdc++.so.6.0.29

But not for MacOS with:

libstdc++.6.dylib
libstdc++.a

Or mingw with:

libstdc++-6.dll
libstdc++.dll.a

We need a better way to find the dynamic library, whether that's the so.6.0.29
or the .dylib or the .dll, that doesn't depend on the shell's alphabetic sort
for the pattern. As the comment says, libtool doesn't give us that info, but we
can still do better.

[Bug c++/99452] Inconsistent constinit handling

2021-03-07 Thread nathan at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99452

--- Comment #1 from Nathan Sidwell  ---
Here's another:

using value_t = unsigned long;
unsigned obj;

constinit value_t failed
  = reinterpret_cast (&obj) + (11 << 0);

constinit value_t accepted
  = reinterpret_cast (&obj) + (11);

bester:309>gcc-current/bin/g++ -c -std=gnu++20 r.ii

r.ii:5:19: error: ‘constinit’ variable ‘failed’ does not have a constant
initializer
5 | constinit value_t failed
  |   ^~
r.ii:6:5: error: conversion from pointer type ‘unsigned int*’ to arithmetic
type ‘value_t’ {aka ‘long unsigned int’} in a constant expression
6 |   = reinterpret_cast (&obj) + (11 << 0);

[Bug c++/99452] New: Inconsistent constinit handling

2021-03-07 Thread nathan at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99452

Bug ID: 99452
   Summary: Inconsistent constinit handling
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

constinit forces static initialization (or error).  Sadly the std doesn't
permit c++98-era address-constant expressions (symbol + addend).  but we do
accept that (probably a bug std=c++20 vs std=gnu++20 makes no difference)

But we do so inconsistently.  Both x & y are initializable in this manner --
and we do emit such an initialization if the constinit is removed, regardless
of optimization level.

But with constinit, the presence of the OR operator causes y's initialization
to be rejected.  Even though it's totally foldable.

constinit long x = reinterpret_cast (&x) + 0;
constinit long y = reinterpret_cast (&y) + (0|0);

gcc-current/bin/g++ -c c.cc -std=c++20 
c.cc:4:16: error: ‘constinit’ variable ‘y’ does not have a constant initializer
4 | constinit long y = reinterpret_cast (&y) + (0|0);
  |^
c.cc:4:20: error: conversion from pointer type ‘long int*’ to arithmetic type
‘long int’ in a constant expression
4 | constinit long y = reinterpret_cast (&y) + (0|0);

Please note I plan an EWG paper to allow symbol+addend, as that seems a useful
behaviour.

[Bug c++/99451] New: [plugin] cannot enable dumps for plugin passes

2021-03-07 Thread nathan at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99451

Bug ID: 99451
   Summary: [plugin] cannot enable dumps for plugin passes
   Product: gcc
   Version: 10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

Created attachment 50324
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50324&action=edit
patch

the -fdump-FOO-BAR options are parsed before plugins have been initialized,
this means that one cannot name a pass created with a plugin.

Here's a patch to defer the dump option processing until later (we cannot just
swap the order, as the plugin options themselves need parsing before we
initialize the plugins).

-fdump-FOO-all will enable the dump, so we have a workaround

I don't think this is a regression, so stage 1 I guess?

[Bug debug/95432] inconsistent behaviors at -O2

2021-03-07 Thread vries at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95432

--- Comment #3 from Tom de Vries  ---
(In reply to Andrew Pinski from comment #2)
> Assembly:
> .loc 1 12 3 is_stmt 1 view .LVU12
> .loc 1 10 8 is_stmt 0 view .LVU13
> movaps  %xmm0, (%rsp)
> .loc 1 11 8 view .LVU14
> movaps  %xmm0, 32(%rsp)
> .loc 1 12 13 view .LVU15
> callfoo
> .LVL1:
> .loc 1 13 13 view .LVU16
> leaq32(%rsp), %rdi
> .loc 1 12 13 view .LVU17
> movl%eax, %edx
> .LVL2:
> .loc 1 13 3 is_stmt 1 view .LVU18
> .loc 1 13 13 is_stmt 0 view .LVU19
> callfoo
> .LVL3:
> .loc 1 14 3 is_stmt 1 view .LVU20
> .loc 1 14 6 is_stmt 0 view .LVU21
> 
> Looks correct to me, both call foo have the correct line on them.  I think
> this is another GDB issue, most likely how dwarf3 and is_stmt is handled
> just like 95431 even.

Ack, this is gdb PR breakpoints/26063 (
https://sourceware.org/bugzilla/show_bug.cgi?id=26063 ).

Fixed by
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ebde6f2ddc987e7e2d5a218ee8cf0126ec189424
.

[Bug target/99378] [8/9/10/11 Regression] ICE in decompose_normal_address, at rtlanal.c:6710

2021-03-07 Thread asolokha at gmx dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99378

Arseny Solokha  changed:

   What|Removed |Added

 CC||asolokha at gmx dot com

--- Comment #4 from Arseny Solokha  ---
I believe [11 Regression] marker can be removed now.

[Bug target/99437] [11 Regression] Error: immediate value out of range 1 to 8 at operand 3 -- `shrn v1.8b,v1.8h,15'

2021-03-07 Thread ktkachov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99437

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
   Assignee|unassigned at gcc dot gnu.org  |ktkachov at gcc dot 
gnu.org
 CC||ktkachov at gcc dot gnu.org
 Status|NEW |ASSIGNED

--- Comment #4 from ktkachov at gcc dot gnu.org ---
Confirmed:
#include 

uint8x16_t
foo (uint16x8_t a, uint8x8_t b)
{
  return vcombine_u8 (vmovn_u16 (vshrq_n_u16 (a, 9)), b);
}

Testing a patch.

[Bug lto/99450] New: ICE: unrecognizable insn with lto build

2021-03-07 Thread doko at debian dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99450

Bug ID: 99450
   Summary: ICE: unrecognizable insn with lto build
   Product: gcc
   Version: 10.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at debian dot org
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

seen with the gcc-10 branch 20210306 on x86_64-linux-gnu, building the emoslib
4.5.9 package.  the package fails with other issues building with trunk.

$ gfortran -Wl,-z,defs -Wl,--as-needed -flto=auto -Wl,-z,relro
-Wl,--disable-new-dtags -g -O2 -ffile-prefix-map=/packages/tmp/emoslib-4.5.9=.
-flto=auto -ffat-lto-objects -fstack-protector-strong -fallow-argument-mismatch
-ffixed-line-length-none -fcray-pointer -fno-second-underscore -Wuninitialized
-Wunused-variable -Wno-maybe-uninitialized -DSHAREDMEMORY -fdefault-real-8
-fdefault-double-8 -fdefault-real-8 -fdefault-double-8 -O3 -DNDEBUG
-funroll-all-loops -finline-functions -O2 CMakeFiles/bufr_0t2.dir/bufr_0t2.F.o
-o ../../usr/bin/bufr_0t2 -Wl,-rpath,$ORIGIN/../lib libmy_exit.a
../../usr/lib/x86_64-linux-gnu/libemosR64.a
/usr/lib/x86_64-linux-gnu/libeccodes.so.0 -lpng -laec -lm
/usr/lib/x86_64-linux-gnu/libopenjp2.so -lpthread
/usr/lib/x86_64-linux-gnu/libfftw3.so

../../libemos-dp/./bufrdc_wmo/buens4.F:268:57: warning: type of ‘bugbytesr4’
does not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bugbytesR4.F:11:28: note: ‘bugbytesr4’ was
previously declared here
../../libemos-dp/./bufrdc_wmo/bugbytesR4.F:11:28: note: code may be
misoptimized unless ‘-fno-strict-aliasing’ is used
../../libemos-dp/./bufrdc_wmo/buens4.F:275:56: warning: type of ‘bugbytesr8’
does not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bugbytesR8.F:11:28: note: ‘bugbytesr8’ was
previously declared here
../../libemos-dp/./bufrdc_wmo/bugbytesR8.F:11:28: note: code may be
misoptimized unless ‘-fno-strict-aliasing’ is used
../../libemos-dp/./pbio/pbbufr.F:90:57: warning: type of ‘bufrread’ does not
match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./pbio/pbio.c:1288:6: note: ‘bufrread_’ was previously
declared here
../../libemos-dp/./pbio/pbio.c:1288:6: note: code may be misoptimized unless
‘-fno-strict-aliasing’ is used
../../libemos-dp/./bufrdc_wmo/bcmctc.F:13:21: warning: type of ‘bcmctc’ does
not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bcmctc.F:13:21: note: ‘bcmctc’ was previously
declared here
../../libemos-dp/./bufrdc_wmo/bcmctc.F:13:21: note: code may be misoptimized
unless ‘-fno-strict-aliasing’ is used
../../libemos-dp/./bufrdc_wmo/bcmwtc.F:12:21: warning: type of ‘bcmwtc’ does
not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bcmwtc.F:12:21: note: ‘bcmwtc’ was previously
declared here
../../libemos-dp/./bufrdc_wmo/bcmwtc.F:12:21: note: code may be misoptimized
unless ‘-fno-strict-aliasing’ is used
../../libemos-dp/./bufrdc_wmo/bcmroot.F:11:22: warning: type of ‘bcmroot’ does
not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bcmroot.F:11:22: note: ‘bcmroot’ was previously
declared here
../../libemos-dp/./bufrdc_wmo/bcmroot.F:11:22: note: code may be misoptimized
unless ‘-fno-strict-aliasing’ is used
../../libemos-dp/./bufrdc_wmo/bcomctc.F:13:22: warning: type of ‘bcomctc’ does
not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bcomctc.F:13:22: note: ‘bcomctc’ was previously
declared here
../../libemos-dp/./bufrdc_wmo/bcomctc.F:13:22: note: code may be misoptimized
unless ‘-fno-strict-aliasing’ is used
../../libemos-dp/./bufrdc_wmo/bcomroot.F:12:23: warning: type of ‘bcomroot’
does not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bcomroot.F:12:23: note: ‘bcomroot’ was previously
declared here
../../libemos-dp/./bufrdc_wmo/bcomroot.F:12:23: note: code may be misoptimized
unless ‘-fno-strict-aliasing’ is used
../../libemos-dp/./bufrdc_wmo/bcomtabloadc.F:12:28: warning: type of
‘bcomtabloadc’ does not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bcomtabloadc.F:12:28: note: ‘bcomtabloadc’ was
previously declared here
../../libemos-dp/./bufrdc_wmo/bcomtabloadc.F:12:28: note: code may be
misoptimized unless ‘-fno-strict-aliasing’ is used
../../libemos-dp/./bufrdc_wmo/bcomdefc.F:12:23: warning: type of ‘bcomdefc’
does not match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./bufrdc_wmo/bcomdefc.F:12:23: note: ‘bcomdefc’ was previously
declared here
../../libemos-dp/./bufrdc_wmo/bcomdefc.F:12:23: note: code may be misoptimized
unless ‘-fno-strict-aliasing’ is used
./tools/bufrtools_wmo/bufr_0t2.F:138:47: warning: type of ‘pbopen’ does not
match original declaration [-Wlto-type-mismatch]
../../libemos-dp/./pbio/pbio.c:84:6: note: type mismat

[Bug fortran/57871] gfortran -freal-4-real-16 gives wrong result for selected_real_kind(1)

2021-03-07 Thread dominiq at lps dot ens.fr via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57871

--- Comment #12 from Dominique d'Humieres  ---
> As this issue is about documentation, if I read the later comments correctly:
> Can you check whether the documentation is now sufficient or whether more is 
> needed? > If so, what is needed? — If not, can this bug now be closed?

I don't like the sentence

Note that for @code{REAL(KIND=KIND(1.0))} the literal may get promoted and
then the result may get promoted again.

There is only one promotion for -freal-4-real-X, and it does not matter if
1.0 is promoted first KIND(1.0) is then X, or after KIND(1.0) is 4 then 
REAL(KIND=4) is promoted to REAL(KIND=X).

The situation for SELECTED_REAL_KIND(1) is quite different: if the promotion of
-freal-4-real-X is done first, then the smallest kind available is 8,
if it is done after then SELECTED_REAL_KIND(1) will be 4, then promoted to X.

What about a sentence such as:

Note that while @code{REAL(KIND=KIND(1.0))} is always promoted to X by
-freal-4-real-X, @code{SELECTED_REAL_KIND(1)} returns always 4 which is then
promoted to X.

?

It may be also useful to add a sentence saying that the promotion options are
provided as such and that the observed behavior is not a bug but a feature.

As said in comment 8, I did not find any other circonstance, by
SELECTED_REAL_KIND
for which such ambiguity exists.

[Bug gcov-profile/99441] [GCOV] Wrong coverage with complex "if" condition

2021-03-07 Thread njuwy at smail dot nju.edu.cn via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99441

--- Comment #2 from Yang Wang  ---
(In reply to Andrew Pinski from comment #1)
> So line 27 has a short cutting conditional included, so technically it is
> executed 30 times, one for each side of the &&.


$ gcc -O0 --coverage test.c;./a.out;gcov test;cat test.c.gcov
libgcov profiling error:/home/wangyang/coverage/found
bug/gcc/test.gcda:overwriting an existing profile data with a different
timestamp
File 'test.c'
Lines executed:95.83% of 24
Creating 'test.c.gcov'

-:0:Source:test.c
-:0:Graph:test.gcno
-:0:Data:test.gcda
-:0:Runs:1
-:1:typedef __SIZE_TYPE__ size_t;
-:2:typedef __UINTPTR_TYPE__ uintptr_t;
-:3:
-:4:struct S {
-:5:  int a;
-:6:  unsigned short b;
-:7:  int c, d, e;
-:8:  long f, g, h;
-:9:  int i, j;
-:   10:};
-:   11:static struct S *k;
-:   12:static size_t l = 1;
-:   13:int m;
-:   14:
   15:   15:static int bar(void) {
-:   16:  unsigned i;
-:   17:  int j;
   15:   18:  if (k[0].c == 0) {
   15:   19:++m;
   15:   20:size_t n = l * 2;
-:   21:struct S *o;
   15:   22:k = (struct S *)__builtin_realloc(k, sizeof(struct S) * n);
   30:   23:for (i = l; i < n; i++) {
   15:   24:  void *p = (void *)&k[i];
   15:   25:  int q = 0;
   15:   26:  size_t r = sizeof(struct S);
   15:   27:  if uintptr_t)p) % __alignof__(long)) == 0 
   15:   28:&& 
   30:   29:r % sizeof(long) == 0) {
   15:   30:long __attribute__((may_alias)) *s = (long *)p;
   15:   31:long *t = (long *)((char *)s + r);
  120:   32:while (s < t)
  105:   33:  *s++ = 0;
-:   34:  } else
#:   35:__builtin_memset(p, q, r);
-:   36:}
-:   37:  }
   15:   38:  return 1;
-:   39:}
-:   40:
1:   41:int main() {
1:   42:  k = (struct S *)__builtin_malloc(sizeof(struct S));
1:   43:  __builtin_memset(k, '\0', sizeof(struct S));
1:   44:  k->a = -1;
   16:   45:  for (int i = 0; i < 15; ++i)
   15:   46:bar();
-:   47:}


Thanks for your reply!
I tried to separate line 27 and put it in a different lines. The coverage of
right side(line 29) is 30, and the left side(line 27) is 15, which is a bit
different from  the execution logic about "&&", where the left side of "&&"
should not be less than the right side. Is it a bug?

[Bug gcov-profile/99443] [GCOV] No coverage with "Aborted(core dumped)"

2021-03-07 Thread njuwy at smail dot nju.edu.cn via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99443

--- Comment #3 from Yang Wang  ---
(In reply to Andrew Pinski from comment #2)
> This behavior might even be documented but I have not looked yet.

Thanks for your reply! So, this is expected (as well as bug 99442) rather than
a bug?

[Bug lto/99449] New: lto1: fatal error: multiple prevailing defs for ‘_ZTIN4sdsl14rank_support_vILh1ELh1EEE’ with -msse3

2021-03-07 Thread doko at debian dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99449

Bug ID: 99449
   Summary: lto1: fatal error: multiple prevailing defs for
‘_ZTIN4sdsl14rank_support_vILh1ELh1EEE’ with -msse3
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at debian dot org
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

trunk 20210306 on x86_64-linux-gnu
not sure how to report this ... seen building the vg package in Debian with
-msse3 (according to the packaging, builds with -mavx2, -mavx, -msse4.1,
-mssse3 succeed).

g++ -flto=auto -Wl,-z,relro -Wl,-z,now -I/usr/include/fastahack
-I/usr/include/smithwaterman -I/usr/include/vcflib -I/usr/include/smithwaterman
-I/usr/include/fastahack -I/packages/tmp/vg-1.30.0+ds/include -isystem
/packages/tmp/vg-1.30.0+ds/include -I. -I/packages/tmp/vg-1.30.0+ds/src
-I/packages/tmp/vg-1.30.0+ds/src/unittest
-I/packages/tmp/vg-1.30.0+ds/src/subcommand
-I/packages/tmp/vg-1.30.0+ds/include/dynamic -pthread -isystem
/usr/include/cairo -isystem /usr/include/glib-2.0 -isystem
/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/pixman-1
-isystem /usr/include/uuid -isystem /usr/include/freetype2 -isystem
/usr/include/libpng16 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -Werror=return-type
-std=c++14 -ggdb -g -g -O2 -ffile-prefix-map=/packages/tmp/vg-1.30.0+ds=.
-flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat
-Werror=format-security -DSIMDE_ENABLE_OPENMP -fopenmp-simd -O3 -msse3 -fopenmp
-o test/build_graph test/build_graph.cpp -lvg -L/packages/tmp/vg-1.30.0+ds/lib
/packages/tmp/vg-1.30.0+ds/lib/libvgio.a -lz -lvcflib -lgssw -lssw
-lsublinearLS -lpthread -lncurses -lgcsa2 -lgbwtgraph -lgbwt -ldivsufsort
-ldivsufsort64 -lraptor2 -lpinchesandcacti -l3edgeconnected -lsonlib -lfml
-lstructures -lvw -lallreduce -lbdsg -lxg -lsdsl -lhandlegraph -lfastahack
-lsmithwaterman -ldisorder -lvcflib -lsmithwaterman -ldisorder -lfastahack
-lhts -ltabixpp -lcairo -lz -lgobject-2.0 -lffi -lglib-2.0 -pthread -lpcre
-pthread -lpixman-1 -lfontconfig -luuid -lexpat -lfreetype -lbrotlidec
-lbrotlicommon -lpng16 -lm -lz -lm -lz -lxcb-shm -lxcb-render -lXrender -lXext
-lX11 -lpthread -lxcb -lXau -lXdmcp -ljansson -latomic -rdynamic -ldw -lelf
"-lboost_program_options""" -ldl -llzma -lbz2 -ljemalloc -Wl,-Bstatic -lhts
-ldeflate -lz -llzma -lprotobuf -lz -Wl,-Bdynamic 
lto1: fatal error: multiple prevailing defs for
‘_ZTIN4sdsl14rank_support_vILh1ELh1EEE’
compilation terminated.
lto-wrapper: fatal error: g++ returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status


the gcc-10 branch fails differently:

src/subcommand/../algorithms/walk.hpp:22: warning: type ‘struct walk_t’
violates the C++ One Definition Rule [-Wodr]
   22 | struct walk_t {
  | 
src/algorithms/prune.cpp:12: note: a different type is defined in another
translation unit
   12 | struct walk_t {
  | 
src/subcommand/../algorithms/walk.hpp:29: note: the first difference of
corresponding definitions is field ‘path’
   29 | std::vector path;
  | 
src/algorithms/prune.cpp:20: note: a field with different name is defined in
another translation unit
   20 | pos_t begin;
  | 
lto1: internal compiler error: in lto_read_decls, at lto/lto-common.c:1956
Please submit a full bug report,
with preprocessed source if appropriate.

[Bug lto/99447] [11 Regression] ICE (segfault) in lookup_page_table_entry

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99447

--- Comment #2 from Andrew Pinski  ---
Looks like a stack overflow while doing gc. To me die_struct GTY could use a
recursive note added to it. That is just by looking at the backtrace.

[Bug c++/99170] [modules] ICE in get_merge_kind with std::string NSDMI

2021-03-07 Thread remi.galanalfonso at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99170

--- Comment #8 from Rémi Galan Alfonso  ---
I tested it and it works perfectly, thanks!

[Bug libstdc++/70508] libstdc++.*-gdb.py': No such file or directory

2021-03-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70508

Jonathan Wakely  changed:

   What|Removed |Added

   Last reconfirmed||2021-03-07
 Status|UNCONFIRMED |WAITING
 Ever confirmed|0   |1

[Bug libstdc++/70508] libstdc++.*-gdb.py': No such file or directory

2021-03-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70508

Jonathan Wakely  changed:

   What|Removed |Added

  Component|other   |libstdc++
   Keywords||build

--- Comment #1 from Jonathan Wakely  ---
(In reply to Fiodar from comment #0)
> Making install in python
> make[3]: Entering directory
> `/d/mbuild/src/build-gcc/arm-none-symbianelf/libstdc++-v3/python'
> make[4]: Entering directory
> `/d/mbuild/src/build-gcc/arm-none-symbianelf/libstdc++-v3/python'
> make[4]: Nothing to be done for `install-exec-am'.
>  /bin/install -c -m 644 gdb.py
> /usr/local/gcc-5.3.0/arm-none-symbianelf/lib/libstdc++.*-gdb.py
> /bin/install: cannot create regular file
> `/usr/local/gcc-5.3.0/arm-none-symbianelf/lib/libstdc++.*-gdb.py': No such
> file or directory

This means libstdc++.* didn't match any files, which means the shared lib
hasn't been built yet. That shouldn't happen.

Do you still see this with current releases?

[Bug lto/99448] New: ICE in read_cgraph_and_symbols, at lto/lto-common.c:2739

2021-03-07 Thread doko at debian dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99448

Bug ID: 99448
   Summary: ICE in read_cgraph_and_symbols, at
lto/lto-common.c:2739
   Product: gcc
   Version: 10.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at debian dot org
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

seen building the log4cxx 0.11.0 package with LTO, both gcc-10 branch 20210306
and trunk 20210306 on x86_64-linux-gnu

g++ -g -O2 -ffile-prefix-map=/packages/tmp/log4cxx-0.11.0=. -flto=auto
-ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security
-flto=auto -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/testsuite
customlogger/xlogger.o customlogger/xloggertestcase.o defaultinit/testcase1.o
defaultinit/testcase2.o defaultinit/testcase3.o defaultinit/testcase4.o
filter/andfiltertest.o filter/denyallfiltertest.o filter/levelmatchfiltertest.o
filter/levelrangefiltertest.o filter/loggermatchfiltertest.o
filter/mapfiltertest.o filter/stringmatchfiltertest.o
helpers/absolutetimedateformattestcase.o helpers/cacheddateformattestcase.o
helpers/charsetdecodertestcase.o helpers/charsetencodertestcase.o
helpers/cyclicbuffertestcase.o helpers/datetimedateformattestcase.o
helpers/inetaddresstestcase.o helpers/iso8601dateformattestcase.o
helpers/localechanger.o helpers/messagebuffertest.o
helpers/optionconvertertestcase.o helpers/propertiestestcase.o
helpers/relativetimedateformattestcase.o helpers/stringtokenizertestcase.o
helpers/stringhelpertestcase.o helpers/syslogwritertest.o
helpers/threadtestcase.o helpers/timezonetestcase.o
helpers/transcodertestcase.o net/smtpappendertestcase.o
net/socketappendertestcase.o net/sockethubappendertestcase.o
net/syslogappendertestcase.o net/telnetappendertestcase.o
net/xmlsocketappendertestcase.o pattern/num343patternconverter.o
pattern/patternparsertestcase.o rolling/filenamepatterntestcase.o
rolling/filterbasedrollingtest.o rolling/manualrollingtest.o
rolling/obsoletedailyrollingfileappendertest.o
rolling/obsoleterollingfileappendertest.o rolling/sizebasedrollingtest.o
rolling/timebasedrollingtest.o util/absolutetimefilter.o
util/absolutedateandtimefilter.o util/binarycompare.o util/compare.o
util/controlfilter.o util/filenamefilter.o util/utilfilter.o
util/iso8601filter.o util/linenumberfilter.o util/relativetimefilter.o
util/serializationtesthelper.o util/threadfilter.o util/transformer.o
util/xmlfilenamefilter.o util/xmllineattributefilter.o
util/xmltimestampfilter.o util/xmlthreadfilter.o varia/errorhandlertestcase.o
varia/levelmatchfiltertestcase.o varia/levelrangefiltertestcase.o
db/odbcappendertestcase.o xml/customleveltestcase.o xml/domtestcase.o
xml/xlevel.o xml/xmllayouttestcase.o xml/xmllayouttest.o
nt/nteventlogappendertestcase.o abts.o asyncappendertestcase.o encodingtest.o
filetestcase.o hierarchytest.o hierarchythresholdtestcase.o jsonlayouttest.o
l7dtestcase.o leveltestcase.o logunit.o loggertestcase.o minimumtestcase.o
patternlayouttest.o vectorappender.o appenderskeletontestcase.o
consoleappendertestcase.o fileappendertestcase.o rollingfileappendertestcase.o
streamtestcase.o writerappendertestcase.o ndctestcase.o
propertyconfiguratortest.o mdctestcase.o  -L/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libapr-1.so /usr/lib/x86_64-linux-gnu/libaprutil-1.so
../../../src/main/cpp/.libs/liblog4cxx.so -pthread
lto1: internal compiler error: in read_cgraph_and_symbols, at
lto/lto-common.c:2739
0x5c94c0 read_cgraph_and_symbols(unsigned int, char const**)
../../src/gcc/lto/lto-common.c:2739
0x1598166 lto_main()
../../src/gcc/lto/lto.c:625
Please submit a full bug report,
with preprocessed source if appropriate.

[Bug lto/99447] [11 Regression] ICE (segfault) in lookup_page_table_entry

2021-03-07 Thread doko at debian dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99447

--- Comment #1 from Matthias Klose  ---
object files at
https://people.debian.org/~doko/tmp/guymager-tst.tar.xz

[Bug lto/99447] New: [11 Regression] ICE (segfault) in lookup_page_table_entry

2021-03-07 Thread doko at debian dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99447

Bug ID: 99447
   Summary: [11 Regression] ICE (segfault) in
lookup_page_table_entry
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at debian dot org
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

seen with trunk 20210306 on x86_64-linux-gnu building the guymager package with
LTO.

$ g++ -Wl,-z,relro -ggdb -rdynamic -Wl,-flto -Wl,-z,relro -Wl,-O3 -o guymager
compileinfo.o aaff.o aewf.o config.o device.o dlgabort.o dlgacquire.o
dlgdirsel.o dlgautoexit.o dlgmessage.o dlgwait.o error.o fifo.o file.o hash.o
info.o infofield.o itemdelegate.o main.o mainwindow.o md5.o media.o qtutil.o
runstats.o sha1.o sha256.o table.o thread.o threadcompress.o threadhash.o
threadread.o threadscan.o threadwrite.o util.o moc_devicelistmodel.o
moc_dlgabort.o moc_dlgacquire.o moc_dlgautoexit.o moc_dlgacquire_private.o
moc_dlgdirsel.o moc_dlgdirsel_private.o moc_dlgmessage.o moc_dlgwait.o
moc_info.o moc_infofield.o moc_itemdelegate.o moc_main_private.o
moc_mainwindow.o moc_table.o moc_thread.o moc_threadcompress.o moc_threadhash.o
moc_threadread.o moc_threadscan.o moc_threadwrite.o   -lz -ldl -lguytools -lewf
-lbfio /usr/lib/x86_64-linux-gnu/libQt5Widgets.so
/usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5DBus.so
/usr/lib/x86_64-linux-gnu/libQt5Core.so -lGL -lpthread
device.cpp: In member function ‘GetErrorText’:
device.cpp:155:1: internal compiler error: Segmentation fault
  155 | }
  | ^
0xc52c79 crash_signal
../../src/gcc/toplev.c:327
0x7f3b6994fd5f ???
./signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x11ac4fb lookup_page_table_entry
../../src/gcc/ggc-page.c:630
0x11ac4fb ggc_set_mark(void const*)
../../src/gcc/ggc-page.c:1544
0x13bdefd gt_ggc_mx_basic_block_def(void*)
/build/gcc-11-7yDrbQ/gcc-11-11-20210306/build/gcc/gtype-desc.c:1527
0x13bc981 gt_ggc_mx_gimple(void*)
/build/gcc-11-7yDrbQ/gcc-11-11-20210306/build/gcc/gtype-desc.c:1238
0x11b188e gt_ggc_mx_cgraph_edge(void*)
/build/gcc-11-7yDrbQ/gcc-11-11-20210306/build/gcc/gtype-desc.c:1403
0x11b15e1 gt_ggc_mx_symtab_node(void*)
/build/gcc-11-7yDrbQ/gcc-11-11-20210306/build/gcc/gtype-desc.c:1349
0x11a903a gt_ggc_mx_lang_tree_node(void*)
./gtype-lto.h:284
0x11a904e gt_ggc_mx_lang_tree_node(void*)
./gtype-lto.h:280
0x11a9cde gt_ggc_mx_rtx_def(void*)
/build/gcc-11-7yDrbQ/gcc-11-11-20210306/build/gcc/gtype-desc.c:722
0x11b435e void gt_ggc_mx(vec*)
../../src/gcc/vec.h:1353
0x11b435e gt_ggc_mx_vec_dw_attr_node_va_gc_(void*)
./gt-dwarf2out.h:275
0x11b435e gt_ggc_mx_die_struct(void*)
./gt-dwarf2out.h:45
0x11b4433 gt_ggc_mx_die_struct(void*)
./gt-dwarf2out.h:27
0x11b4433 gt_ggc_mx_die_struct(void*)
./gt-dwarf2out.h:47
0x11b4433 gt_ggc_mx_die_struct(void*)
./gt-dwarf2out.h:27
0x11b4433 gt_ggc_mx_die_struct(void*)
./gt-dwarf2out.h:47
0x11b4433 gt_ggc_mx_die_struct(void*)
./gt-dwarf2out.h:27
0x11b4433 gt_ggc_mx_die_struct(void*)
./gt-dwarf2out.h:47
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.

[Bug preprocessor/99446] New: [11 Regression] ICE in linemap_position_for_loc_and_offset, at libcpp/line-map.c:1005

2021-03-07 Thread doko at debian dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99446

Bug ID: 99446
   Summary: [11 Regression] ICE in
linemap_position_for_loc_and_offset, at
libcpp/line-map.c:1005
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at debian dot org
  Target Milestone: ---

Created attachment 50323
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50323&action=edit
preprocessed source

seen building the firefox-esr 78.8.0 package, using trunk 20210306.

I have a compiler-generated ICE report, however even trying to re-run the
command doesn't always generates the ICE report.

make[3]: Entering directory
'/packages/tmp/firefox-esr-78.8.0esr/build-browser/config/external/rlbox_lucet_sandbox'
config/external/rlbox_lucet_sandbox/rlbox_lucet_thread_locals.o
/usr/bin/g++ -o rlbox_lucet_thread_locals.o -c 
-I/packages/tmp/firefox-esr-78.8.0esr/build-browser/dist/stl_wrappers
-I/packages/tmp/firefox-esr-78.8.0esr/build-browser/dist/system_wrappers
-include /packages/tmp/firefox-esr-78.8.0esr/config/gcc_hidden.h
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1
-DTRIMMED=1 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL
-DSTATIC_EXPORTABLE_JS_API
-I/packages/tmp/firefox-esr-78.8.0esr/config/external/rlbox_lucet_sandbox
-I/packages/tmp/firefox-esr-78.8.0esr/build-browser/config/external/rlbox_lucet_sandbox
-I/packages/tmp/firefox-esr-78.8.0esr/build-browser/dist/include
-I/usr/include/nspr -I/usr/include/nss -I/usr/include/nspr
-I/packages/tmp/firefox-esr-78.8.0esr/build-browser/dist/include/nss -fPIC
-DMOZILLA_CLIENT -include
/packages/tmp/firefox-esr-78.8.0esr/build-browser/mozilla-config.h -Wdate-time
-D_FORTIFY_SOURCE=2 -Wall -Wempty-body -Wignored-qualifiers
-Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits
-Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++2a-compat
-Wduplicated-cond -Wimplicit-fallthrough -Wunused-function -Wunused-variable
-Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations
-Wno-error=array-bounds -Wno-error=coverage-mismatch
-Wno-error=free-nonheap-object -Wno-multistatement-macros
-Wno-error=class-memaccess -Wno-error=deprecated-copy -Wformat
-Wformat-overflow=2 -fno-sized-deallocation -fno-aligned-new -O2
-ffile-prefix-map=/packages/tmp/firefox-esr-78.8.0esr=.
-fstack-protector-strong -Wformat -Werror=format-security -fno-exceptions
-fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections
-fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O2
-fomit-frame-pointer -funwind-tables  -MD -MP -MF
.deps/rlbox_lucet_thread_locals.o.pp  
/packages/tmp/firefox-esr-78.8.0esr/config/external/rlbox_lucet_sandbox/rlbox_lucet_thread_locals.cpp
/packages/tmp/firefox-esr-78.8.0esr/config/external/rlbox_lucet_sandbox/rlbox_lucet_thread_locals.cpp:1:
internal compiler error: in linemap_position_for_loc_and_offset, at
libcpp/line-map.c:1005
1 | /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset:
2 -*- */
  | 
0x656a93 linemap_position_for_loc_and_offset(line_maps*, unsigned int, unsigned
int)
../libcpp/../../src/libcpp/line-map.c:1005
0x18ebee1 cp_lexer_new_main
../../src/gcc/cp/parser.c:676
0x18ebee1 c_parse_file()
../../src/gcc/cp/parser.c:45227
0x18d4aba c_common_parse_file()
../../src/gcc/c-family/c-opts.c:1218
Please submit a full bug report,
with preprocessed source if appropriate.

[Bug other/98533] [8/9/10/11 Regression] ICE: 'verify_type' failed

2021-03-07 Thread doko at debian dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98533

--- Comment #3 from Matthias Klose  ---
reconfirmed with 20210306, building the actiona package.

[Bug target/99321] [11 Regression] ICE: in extract_constrain_insn, at recog.c:2670: insn does not satisfy its constraints: {*uminv16qi3} since r11-7121-g37876976b0511ec9

2021-03-07 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99321

--- Comment #8 from CVS Commits  ---
The master branch has been updated by Jakub Jelinek :

https://gcc.gnu.org/g:a18ebd6c439227b048a91fbfa66f5983f884c157

commit r11-7548-ga18ebd6c439227b048a91fbfa66f5983f884c157
Author: Jakub Jelinek 
Date:   Sun Mar 7 10:27:28 2021 +0100

i386: Fix some -mavx512vl -mno-avx512bw bugs [PR99321]

As I wrote in the mail with the previous PR99321 fix, we have various
bugs where we emit instructions that need avx512bw and avx512vl
ISAs when compiling with -mavx512vl -mno-avx512bw.

Without the following patch, the attached testcase fails with:
/tmp/ccW4PsfG.s: Assembler messages:
/tmp/ccW4PsfG.s:9: Error: unsupported instruction `vpaddb'
/tmp/ccW4PsfG.s:20: Error: unsupported instruction `vpaddb'
/tmp/ccW4PsfG.s:31: Error: unsupported instruction `vpaddw'
/tmp/ccW4PsfG.s:42: Error: unsupported instruction `vpaddw'
/tmp/ccW4PsfG.s:53: Error: unsupported instruction `vpsubb'
/tmp/ccW4PsfG.s:64: Error: unsupported instruction `vpsubb'
/tmp/ccW4PsfG.s:75: Error: unsupported instruction `vpsubw'
/tmp/ccW4PsfG.s:86: Error: unsupported instruction `vpsubw'
/tmp/ccW4PsfG.s:97: Error: unsupported instruction `vpmullw'
/tmp/ccW4PsfG.s:108: Error: unsupported instruction `vpmullw'
/tmp/ccW4PsfG.s:133: Error: unsupported instruction `vpminub'
/tmp/ccW4PsfG.s:144: Error: unsupported instruction `vpminuw'
/tmp/ccW4PsfG.s:155: Error: unsupported instruction `vpminuw'
/tmp/ccW4PsfG.s:166: Error: unsupported instruction `vpminsb'
/tmp/ccW4PsfG.s:177: Error: unsupported instruction `vpminsb'
/tmp/ccW4PsfG.s:202: Error: unsupported instruction `vpminsw'
/tmp/ccW4PsfG.s:227: Error: unsupported instruction `vpmaxub'
/tmp/ccW4PsfG.s:238: Error: unsupported instruction `vpmaxuw'
/tmp/ccW4PsfG.s:249: Error: unsupported instruction `vpmaxuw'
/tmp/ccW4PsfG.s:260: Error: unsupported instruction `vpmaxsb'
/tmp/ccW4PsfG.s:271: Error: unsupported instruction `vpmaxsb'
/tmp/ccW4PsfG.s:296: Error: unsupported instruction `vpmaxsw'

We already have Yw constraint which is equivalent to v for
-mavx512bw -mavx512vl and to nothing otherwise, per discussions
this patch changes it to stand for x otherwise.  As it is an
undocumented internal constraint, hopefully it won't affect
any inline asm in the wild.
For the instructions that need both we need to use Yw and
v for modes that don't need that.

2021-03-07  Jakub Jelinek  

PR target/99321
* config/i386/constraints.md (Yw): Use SSE_REGS if TARGET_SSE
but TARGET_AVX512BW or TARGET_AVX512VL is not set.  Adjust
description
and comment.
* config/i386/sse.md (v_Yw): New define_mode_attr.
(*3, *mul3, *avx2_3,
*sse4_1_3): Use  instead of v
in constraints.
* config/i386/mmx.md (mmx_pshufw_1, *vec_dupv4hi): Use Yw instead
of
xYw in constraints.

* lib/target-supports.exp
(check_effective_target_assembler_march_noavx512bw): New effective
target.
* gcc.target/i386/avx512vl-pr99321-1.c: New test.

[Bug other/99445] New: [11 Regression] ICE in

2021-03-07 Thread doko at debian dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445

Bug ID: 99445
   Summary: [11 Regression] ICE in
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at debian dot org
  Target Milestone: ---

Created attachment 50322
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50322&action=edit
preprocessed source, unreduced

seen with trunk 20210227, building the broker package.

$cat foo.ii
template  class decay;
template  struct implicit_conversions;
template 
using implicit_conversions_t = typename implicit_conversions::type;
template  struct response_type;
template 
using response_type_t = typename response_type::type;
template 
response_type::type>...>
response_type_t < typename Handle::signatures,
typename implicit_conversions::type>::type...

$ g++ -c  -fchecking=2 --param=hash-table-verification-limit=1000 foo.ii
hash table checking failed: equal operator returns true for a pair of values
with a different hash value
foo.ii: In substitution of ‘template using
response_type_t = typename response_type::type [with Ts = typename
Handle::signatures; Xs = {typename implicit_conversions::type>::type ...}]’:
foo.ii:12:66:   required from here
foo.ii:7:7: internal compiler error: in hashtab_chk_error, at hash-table.c:137
7 | using response_type_t = typename response_type::type;
  |   ^~~
0x120e1f7 hashtab_chk_error()
../../src/gcc/hash-table.c:137
0x7863d0 hash_table::verify(spec_entry*
const&, unsigned int)
../../src/gcc/hash-table.h:1033
0x7863d0 hash_table::find_with_hash(spec_entry* const&, unsigned int)
../../src/gcc/hash-table.h:918
0x14cdeff lookup_template_class_1
../../src/gcc/cp/pt.c:9871
0x14fe6fe lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
../../src/gcc/cp/pt.c:10243
0x14fe6fe tsubst_aggr_type
../../src/gcc/cp/pt.c:13576
0x14e2f18 tsubst(tree_node*, tree_node*, int, tree_node*)
../../src/gcc/cp/pt.c:16037
0x15b98f7 tsubst_decl
../../src/gcc/cp/pt.c:14802
0x160ea6d instantiate_template_1
../../src/gcc/cp/pt.c:21118
0x160e884 instantiate_template(tree_node*, tree_node*, int)
../../src/gcc/cp/pt.c:21177
0x14e3a38 instantiate_alias_template
../../src/gcc/cp/pt.c:21215
0x14e3a38 tsubst(tree_node*, tree_node*, int, tree_node*)
../../src/gcc/cp/pt.c:15444
0x14cf10d lookup_template_class_1
../../src/gcc/cp/pt.c:9944
0x14cc186 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
../../src/gcc/cp/pt.c:10243
0x14cc186 finish_template_type(tree_node*, tree_node*, int)
../../src/gcc/cp/semantics.c:3498
0x13e7bd3 cp_parser_template_id
../../src/gcc/cp/parser.c:17437
0x13ef262 cp_parser_class_name
../../src/gcc/cp/parser.c:24664
0x13e240f cp_parser_qualifying_entity
../../src/gcc/cp/parser.c:6994
0x13e240f cp_parser_nested_name_specifier_opt
../../src/gcc/cp/parser.c:6676
0x13ded32 cp_parser_nested_name_specifier
../../src/gcc/cp/parser.c:6920
Please submit a full bug report,
with preprocessed source if appropriate.

[Bug gcov-profile/99441] [GCOV] Wrong coverage with complex "if" condition

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99441

--- Comment #1 from Andrew Pinski  ---
So line 27 has a short cutting conditional included, so technically it is
executed 30 times, one for each side of the &&.

[Bug gcov-profile/99442] [GCOV] No coverage with "Segmentation fault (core dumped)"

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99442

--- Comment #1 from Andrew Pinski  ---
There is no way really to recover from a segfault in a manner that is suitable
for all programs. The developer could set a sigv handler if they want to do any
recovery from it. The library should not do it.

[Bug gcov-profile/99443] [GCOV] No coverage with "Aborted(core dumped)"

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99443

--- Comment #2 from Andrew Pinski  ---
This behavior might even be documented but I have not looked yet.

[Bug gcov-profile/99443] [GCOV] No coverage with "Aborted(core dumped)"

2021-03-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99443

--- Comment #1 from Andrew Pinski  ---
I think this is expected behavior. Aborting should not dump the coverage file
at all as it should be used for an really bad unexitable situation only.

[Bug gcov-profile/99444] New: [GCOV] Wrong coverage with "case" label in "switch" statement block

2021-03-07 Thread njuwy at smail dot nju.edu.cn via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99444

Bug ID: 99444
   Summary: [GCOV] Wrong coverage with "case" label in "switch"
statement block
   Product: gcc
   Version: 10.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
  Assignee: unassigned at gcc dot gnu.org
  Reporter: njuwy at smail dot nju.edu.cn
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure -enable-checking=release -enable-languages=c,c++
-disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (GCC) 

$ cat test.c
int doit(int sel, int n, void *p) {
  int *const p0 = p;

  switch (sel) {
  case 0:
do {
  *p0 += *p0;
} while (--n);   
return *p0 == 0; 
  default:
__builtin_abort();
  }
}

int main() {
  int v0;
  v0 = 1;
  doit(0, 3, &v0);
  __builtin_exit(0);
}

$ gcc -O0 --coverage test.c;./a.out;gcov test;cat test.c.gcov
File 'test.c'
Lines executed:84.62% of 13
Creating 'test.c.gcov'

-:0:Source:test.c
-:0:Graph:test.gcno
-:0:Data:test.gcda
-:0:Runs:1
1:1:int doit(int sel, int n, void *p) {
1:2:  int *const p0 = p;
-:3:
1:4:  switch (sel) {
3:5:  case 0:
-:6:do {
3:7:  *p0 += *p0;
3:8:} while (--n);   
1:9:return *p0 == 0; 
#:   10:  default:
#:   11:__builtin_abort();
-:   12:  }
-:   13:}
-:   14:
1:   15:int main() {
-:   16:  int v0;
1:   17:  v0 = 1;
1:   18:  doit(0, 3, &v0);
1:   19:  __builtin_exit(0);
-:   20:}
-:   21:

Line #5 should only be executed once.

[Bug gcov-profile/99443] New: [GCOV] No coverage with "Aborted(core dumped)"

2021-03-07 Thread njuwy at smail dot nju.edu.cn via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99443

Bug ID: 99443
   Summary: [GCOV] No coverage with "Aborted(core dumped)"
   Product: gcc
   Version: 10.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
  Assignee: unassigned at gcc dot gnu.org
  Reporter: njuwy at smail dot nju.edu.cn
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure -enable-checking=release -enable-languages=c,c++
-disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (GCC) 

$ cat test.c
#include 
#include 

extern void abort(void);

#ifdef __x86_64__
#define EFLAGS_TYPE unsigned long long int
#else
#define EFLAGS_TYPE unsigned int
#endif

int main() {
  printf("1\n");
  EFLAGS_TYPE flags = 0xD7; /* 111010111b  */
  __writeeflags(flags);
  flags = __readeflags();
  printf("2\n");
  if ((flags & 0xFF) != 0xD7)
abort();
  printf("3\n");
#ifdef DEBUG
  printf("PASSED\n");
#endif
}

$ gcc -O0 --coverage test.c;./a.out;gcov test;cat test.c.gcov
1
2
Aborted (core dumped)
test.gcda:cannot open data file, assuming not executed
File 'test.c'
Lines executed:0.00% of 8
Creating 'test.c.gcov'

File '/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/ia32intrin.h'
Lines executed:0.00% of 3
Creating 'ia32intrin.h.gcov'

-:0:Source:test.c
-:0:Graph:test.gcno
-:0:Data:-
-:0:Runs:0
-:1:#include 
-:2:#include 
-:3:
-:4:extern void abort(void);
-:5:
-:6:#ifdef __x86_64__
-:7:#define EFLAGS_TYPE unsigned long long int
-:8:#else
-:9:#define EFLAGS_TYPE unsigned int
-:   10:#endif
-:   11:
#:   12:int main() {
#:   13:  printf("1\n");
#:   14:  EFLAGS_TYPE flags = 0xD7; /* 111010111b  */
-:   15:  __writeeflags(flags);
#:   16:  flags = __readeflags();
#:   17:  printf("2\n");
#:   18:  if ((flags & 0xFF) != 0xD7)
#:   19:abort();
#:   20:  printf("3\n");
-:   21:#ifdef DEBUG
-:   22:  printf("PASSED\n");
-:   23:#endif
-:   24:}

We can see that line #13,#14 were executed,which means that main function
executed too. However, no coverage generated.

[Bug gcov-profile/99442] New: [GCOV] No coverage with "Segmentation fault (core dumped)"

2021-03-07 Thread njuwy at smail dot nju.edu.cn via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99442

Bug ID: 99442
   Summary: [GCOV] No coverage with "Segmentation fault (core
dumped)"
   Product: gcc
   Version: 10.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
  Assignee: unassigned at gcc dot gnu.org
  Reporter: njuwy at smail dot nju.edu.cn
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure -enable-checking=release -enable-languages=c,c++
-disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (GCC) 

$ cat test.c
#include 
char fixed_regs[0x0008];

int main() { 
printf("PASSED\n");
return fixed_regs[0x000ff000]; 
}

$ gcc -O0 --coverage test.c;./a.out;gcov test;cat test.c.gcov
PASSED
Segmentation fault (core dumped)
test.gcda:cannot open data file, assuming not executed
File 'test.c'
Lines executed:0.00% of 3
Creating 'test.c.gcov'

-:0:Source:test.c
-:0:Graph:test.gcno
-:0:Data:-
-:0:Runs:0
-:1:#include 
-:2:char fixed_regs[0x0008];
-:3:
#:4:int main() { 
#:5:printf("PASSED\n");
#:6:return fixed_regs[0x000ff000]; 
-:7:}


Obviously, main function has been executed. However, no coverage information
generated.

[Bug gcov-profile/99441] New: [GCOV] Wrong coverage with complex "if" condition

2021-03-07 Thread njuwy at smail dot nju.edu.cn via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99441

Bug ID: 99441
   Summary: [GCOV] Wrong coverage with complex "if" condition
   Product: gcc
   Version: 10.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
  Assignee: unassigned at gcc dot gnu.org
  Reporter: njuwy at smail dot nju.edu.cn
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure -enable-checking=release -enable-languages=c,c++
-disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (GCC) 

$ cat test.c
typedef __SIZE_TYPE__ size_t;
typedef __UINTPTR_TYPE__ uintptr_t;

struct S {
  int a;
  unsigned short b;
  int c, d, e;
  long f, g, h;
  int i, j;
};
static struct S *k;
static size_t l = 1;
int m;

static int bar(void) {
  unsigned i;
  int j;
  if (k[0].c == 0) {
++m;
size_t n = l * 2;
struct S *o;
k = (struct S *)__builtin_realloc(k, sizeof(struct S) * n);
for (i = l; i < n; i++) {
  void *p = (void *)&k[i];
  int q = 0;
  size_t r = sizeof(struct S);
  if uintptr_t)p) % __alignof__(long)) == 0 && r % sizeof(long) == 0) {
long __attribute__((may_alias)) *s = (long *)p;
long *t = (long *)((char *)s + r);
while (s < t)
  *s++ = 0;
  } else
__builtin_memset(p, q, r);
}
  }
  return 1;
}

int main() {
  k = (struct S *)__builtin_malloc(sizeof(struct S));
  __builtin_memset(k, '\0', sizeof(struct S));
  k->a = -1;
  for (int i = 0; i < 15; ++i)
bar();
}

$ gcc -O0 --coverage test.c;./a.out;gcov test;cat test.c.gcov
libgcov profiling error:/home/wangyang/coverage/found
bug/gcc/test.gcda:overwriting an existing profile data with a different
timestamp
File 'test.c'
Lines executed:95.45% of 22
Creating 'test.c.gcov'

-:0:Source:test.c
-:0:Graph:test.gcno
-:0:Data:test.gcda
-:0:Runs:1
-:1:typedef __SIZE_TYPE__ size_t;
-:2:typedef __UINTPTR_TYPE__ uintptr_t;
-:3:
-:4:struct S {
-:5:  int a;
-:6:  unsigned short b;
-:7:  int c, d, e;
-:8:  long f, g, h;
-:9:  int i, j;
-:   10:};
-:   11:static struct S *k;
-:   12:static size_t l = 1;
-:   13:int m;
-:   14:
   15:   15:static int bar(void) {
-:   16:  unsigned i;
-:   17:  int j;
   15:   18:  if (k[0].c == 0) {
   15:   19:++m;
   15:   20:size_t n = l * 2;
-:   21:struct S *o;
   15:   22:k = (struct S *)__builtin_realloc(k, sizeof(struct S) * n);
   30:   23:for (i = l; i < n; i++) {
   15:   24:  void *p = (void *)&k[i];
   15:   25:  int q = 0;
   15:   26:  size_t r = sizeof(struct S);
   30:   27:  if uintptr_t)p) % __alignof__(long)) == 0 && r %
sizeof(long) == 0) {
   15:   28:long __attribute__((may_alias)) *s = (long *)p;
   15:   29:long *t = (long *)((char *)s + r);
  120:   30:while (s < t)
  105:   31:  *s++ = 0;
-:   32:  } else
#:   33:__builtin_memset(p, q, r);
-:   34:}
-:   35:  }
   15:   36:  return 1;
-:   37:}
-:   38:
1:   39:int main() {
1:   40:  k = (struct S *)__builtin_malloc(sizeof(struct S));
1:   41:  __builtin_memset(k, '\0', sizeof(struct S));
1:   42:  k->a = -1;
   16:   43:  for (int i = 0; i < 15; ++i)
   15:   44:bar();
-:   45:}

Line #27 should only be executed 15 times