[Bug fortran/96325] Unclassifiable statement with syntax similar to a type-bound procedure call is accepted

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96325

--- Comment #22 from CVS Commits  ---
The master branch has been updated by Paul Thomas :

https://gcc.gnu.org/g:863de9321813f947018cc60b06ba163ddcfbb5f2

commit r11-2535-g863de9321813f947018cc60b06ba163ddcfbb5f2
Author: Paul Thomas 
Date:   Tue Aug 4 07:53:50 2020 +0100

Change testcase for pr96325 from run to compile.

2020-08-04  Paul Thomas  

gcc/testsuite/
PR fortran/96325
* gfortran.dg/pr96325.f90: Change from run to compile.

[Bug target/96448] ICE: maximum number of generated reload insns per insn achieved (90)

2020-08-03 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96448

--- Comment #2 from Andrew Pinski  ---
v
An Altivec vector register (VR), v0…v31.

[Bug target/96448] ICE: maximum number of generated reload insns per insn achieved (90)

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96448

Richard Biener  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code

--- Comment #1 from Richard Biener  ---
I guess due to the 'v' constraint having different meaning than on x86-64.

[Bug c++/96445] extern template results in missing constructor symbol

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96445

Richard Biener  changed:

   What|Removed |Added

   Keywords||link-failure
 CC||jason at gcc dot gnu.org

--- Comment #1 from Richard Biener  ---
extern template class C;
template class C;

combo probably does not instanitate C.

[Bug c++/96442] [9/10/11 Regression] ICE in tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have record_type in int_fits_type_p, at tree.c:8954

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96442

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P4

[Bug c++/96440] [8/9/10/11 Regression] ICE in tree check: expected tree_list, have error_mark in get_attribute_name, at attribs.c:841

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96440

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P4

[Bug c++/96437] [10/11 Regression] ICE in tree check: expected tree that contains ‘decl common’ structure, have ‘error_mark’ in synthesize_implicit_template_parm, at cp/parser.c:44246

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96437

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |10.3
   Priority|P3  |P4

[Bug c/96427] Missing align attribute for anchor section from local variables

2020-08-03 Thread zhongyunde at tom dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96427

--- Comment #2 from zhongyunde at tom dot com  ---
should the data alignment honor the user specified ?

Now, it seems compiler _do_ align the initializer according align load. 
so even if the local array doesn't specify the __attribute__((aligned(64))), it
still align to 64 bytes.

[Bug target/96448] New: ICE: maximum number of generated reload insns per insn achieved (90)

2020-08-03 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96448

Bug ID: 96448
   Summary: ICE: maximum number of generated reload insns per insn
achieved (90)
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: asolokha at gmx dot com
  Target Milestone: ---
Target: powerpc-*-linux-gnu

Probably another invalid target issue, but still…

gcc-11.0.0-alpha20200802 snapshot (g:6e46b3f3da5c03bc529b3690dd0995927feb9142)
configured for a 32-bit BE powerpc target ICEs when compiling the following
testcase, extracted from test/CodeGen/x86-inline-asm-min-vector-width.c from
clang 10.0.1 test suite, w/ -mcpu=power10:

typedef long long __m256i __attribute__ ((vector_size (32)));

__m256i testYMMout(__m256i *p) {
  __m256i ymm0;
  __asm__("vmovdqu %1, %0" :"=v"(ymm0) : "m"(*(__m256i*)p));
  return ymm0;
}

% powerpc-e300c3-linux-gnu-gcc-11.0.0 -mcpu=power10 -w -c dcbvmywg.c
dcbvmywg.c: In function 'testYMMout':
dcbvmywg.c:5:3: note: the layout of aggregates containing vectors with 32-byte
alignment has changed in GCC 5
5 |   __asm__("vmovdqu %1, %0" :"=v"(ymm0) : "m"(*(__m256i*)p));
  |   ^~~
during RTL pass: reload
dcbvmywg.c:7:1: internal compiler error: maximum number of generated reload
insns per insn achieved (90)
7 | }
  | ^
0xc1ddd0 lra_constraints(bool)
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/lra-constraints.c:4954
0xc07540 lra(_IO_FILE*)
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/lra.c:2415
0xbbea4c do_reload
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/ira.c:5525
0xbbea4c execute
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/ira.c:5711

[Bug rtl-optimization/71309] Copying fields within a struct followed by use results in load hit store

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71309

--- Comment #4 from CVS Commits  ---
The master branch has been updated by Xiong Hu Luo :

https://gcc.gnu.org/g:265d817b1eb4644c7a9613ad6920315d98e2e0a4

commit r11-2526-g265d817b1eb4644c7a9613ad6920315d98e2e0a4
Author: Xionghu Luo 
Date:   Mon Aug 3 22:09:15 2020 -0500

dse: Remove partial load after full store for high part access[PR71309]

v5 update as comments:
1. Move const_rhs out of loop;
2. Iterate from int size for read_mode.

This patch could optimize(works for char/short/int/void*):

6: r119:TI=[r118:DI+0x10]
7: [r118:DI]=r119:TI
8: r121:DI=[r118:DI+0x8]

=>

6: r119:TI=[r118:DI+0x10]
16: r122:DI=r119:TI#8

Final ASM will be as below without partial load after full store(stxv+ld):
  ld 10,16(3)
  mr 9,3
  ld 3,24(3)
  std 10,0(9)
  std 3,8(9)
  blr

It could achieve ~25% performance improvement for typical cases on
Power9.  Bootstrap and regression tested on Power9-LE.

For AArch64, one ldr is replaced by mov with this patch:

ldp x2, x3, [x0, 16]
stp x2, x3, [x0]
ldr x0, [x0, 8]

=>

mov x1, x0
ldp x2, x0, [x0, 16]
stp x2, x0, [x1]

gcc/ChangeLog:

2020-08-04  Xionghu Luo  

PR rtl-optimization/71309
* dse.c (find_shift_sequence): Use subreg of shifted from high part
register to avoid loading from address.

gcc/testsuite/ChangeLog:

2020-08-04  Xionghu Luo  

PR rtl-optimization/71309
* gcc.target/powerpc/pr71309.c: New test.

[Bug target/96366] [AArch64] ICE due to lack of support for VNx2SI sub instruction

2020-08-03 Thread bule1 at huawei dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96366

--- Comment #5 from Bu Le  ---
(In reply to rsand...@gcc.gnu.org from comment #3)
> (In reply to Bu Le from comment #2)
> > (In reply to rsand...@gcc.gnu.org from comment #1)
> > > (In reply to Bu Le from comment #0)

> Generating a subtraction out of an addition seemed odd since
> canonicalisations usually go the other way.  But if the target
> says it supports negation too then that changes things.  It doesn't
> make much sense to support addition and negation but not subtraction.

If some mode or target do not have a subtraction pattern, should we let the
compiler try to use the addition and negation before it fall into an ICE? If
so, the changes for optabs seems reasonable as well.


(In reply to rsand...@gcc.gnu.org from comment #4)
> Fixed by g:9623f61b142174b87760c81f78928dd14af7cbc6.
> 
> As far as I know, only GCC 11 needs the fix, but we can backport
> to GCC 10 as well if we find a testcase that needs it.

Sure, I will have a try to see whether the problem also exists in gcc10.

[Bug fortran/96320] gfortran 8-10 shape mismatch in assumed-length dummy argument character array

2020-08-03 Thread sgk at troutmask dot apl.washington.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96320

--- Comment #22 from Steve Kargl  ---
On Mon, Aug 03, 2020 at 11:45:20PM +, damian at sourceryinstitute dot org
wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96320
> 
> --- Comment #21 from Damian Rouson  ---
> Now that the patch fixing this PR has been committed to the trunk, should it 
> be
> marked as "Resolved" instead of "Assigned?"
> 

Depends on if someone (whomever committed the patch) is
going to backport it to 9 and 10 branch.

[Bug rtl-optimization/95696] regrename creates overlapping register allocations for vliw

2020-08-03 Thread zhongyunde at tom dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95696

--- Comment #6 from zhongyunde at tom dot com  ---
Thanks for you notes and I thinks this issue can be closed now.

It doesn't need to handle of non-SMS cases as they'll reschedule in general,
which is good for performance under my test.

[Bug c++/96082] [9/10/11 Regression] GCC rejects the template disambiguator with "typename"

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96082

Marek Polacek  changed:

   What|Removed |Added

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

--- Comment #2 from Marek Polacek  ---
I have a patch.

[Bug fortran/96320] gfortran 8-10 shape mismatch in assumed-length dummy argument character array

2020-08-03 Thread damian at sourceryinstitute dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96320

--- Comment #21 from Damian Rouson  ---
Now that the patch fixing this PR has been committed to the trunk, should it be
marked as "Resolved" instead of "Assigned?"

[Bug c++/94765] Floating point type template parameter

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94765

Marek Polacek  changed:

   What|Removed |Added

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

--- Comment #2 from Marek Polacek  ---
Implemented in GCC 11.

[Bug c++/88323] implement C++20 language features.

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88323
Bug 88323 depends on bug 91365, which changed state.

Bug 91365 Summary: Implement P1814R0: Class template argument deduction for 
alias templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91365

   What|Removed |Added

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

[Bug c++/91365] Implement P1814R0: Class template argument deduction for alias templates

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91365

Marek Polacek  changed:

   What|Removed |Added

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

--- Comment #1 from Marek Polacek  ---
Implemented in GCC 10.

[Bug tree-optimization/96447] False positive -Wstringop-overflow with -O3 due to loop unrolling

2020-08-03 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96447

Martin Sebor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Keywords||diagnostic,
   ||missed-optimization
  Component|other   |tree-optimization
 CC||msebor at gcc dot gnu.org
Summary|False positive  |False positive
   |-Wstringop-overflow with|-Wstringop-overflow with
   |-O3 |-O3 due to loop unrolling
   Last reconfirmed||2020-08-03
 Ever confirmed|0   |1

--- Comment #1 from Martin Sebor  ---
The warning works as designed.  The false positive is caused by the assignment
below in the unrolled loop with the index in RANGE [4, 5].  GCC doesn't
understand that the constraint on bpp implies that i < 4, likely because the
range of bpp is discontiguous.

;;   basic block 19, loop depth 0, count 0 (precise), probably never executed
;;prev block 18, next block 20, flags: (NEW, REACHABLE, VISITED)
;;pred:   18 [80.0% (guessed)]  count:0 (precise)
(TRUE_VALUE,EXECUTABLE)
  # .MEM_3 = VDEF <.MEM_50>
  dataD.1941[i_49] = 0;
  # RANGE [4, 5] NONZERO 5
  i_2 = i_49 + 1;
  # RANGE [32, 32] NONZERO 32
  _1 = _6 + 8;
  if (bpp_25 > 32)
goto ; [80.00%]
  else
goto ; [20.00%]
;;succ:   20 [80.0% (guessed)]  count:0 (precise)
(TRUE_VALUE,EXECUTABLE)
;;16 [20.0% (guessed)]  count:0 (precise)
(FALSE_VALUE,EXECUTABLE)

;;   basic block 20, loop depth 0, count 0 (precise), probably never executed
;;prev block 19, next block 21, flags: (NEW, REACHABLE, VISITED)
;;pred:   19 [80.0% (guessed)]  count:0 (precise)
(TRUE_VALUE,EXECUTABLE)
  # .MEM_45 = VDEF <.MEM_3>
  dataD.1941[i_2] = 0;   <<< warning


The warning can be avoided by constraining the range of bpp to [1, 4] instead
(by shifting it to the right by 3 bits) and changing the loop test to i < bpp. 
That also leads to GCC emitting better code.

int load(input * s)
{
unsigned char bpp = get8u (s);

if(bpp != 8 && bpp != 16 && bpp != 24 && bpp != 32) {
return 0;
}

bpp >>= 3;

unsigned char data[4];
for(int i = 0; i < bpp; ++i) {
data[i] = get8u (s);
}

[Bug c++/96218] DR 2032: Default template-arguments of variable templates

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96218

Marek Polacek  changed:

   What|Removed |Added

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

--- Comment #2 from Marek Polacek  ---
Fixed.

[Bug c++/94404] [meta-bug] C++ core issues

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94404
Bug 94404 depends on bug 96218, which changed state.

Bug 96218 Summary: DR 2032: Default template-arguments of variable templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96218

   What|Removed |Added

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

[Bug c++/96218] DR 2032: Default template-arguments of variable templates

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96218

--- Comment #1 from CVS Commits  ---
The master branch has been updated by Marek Polacek :

https://gcc.gnu.org/g:50bee766bc9f4020cf1f814178155d16e80dccaa

commit r11-2521-g50bee766bc9f4020cf1f814178155d16e80dccaa
Author: Marek Polacek 
Date:   Thu Jul 16 09:15:37 2020 -0400

c++: Variable template and template parameter pack [PR96218]

This is DR 2032 which says that the restrictions regarding template
parameter packs and default arguments apply to variable templates as
well, but we weren't detecting that.

gcc/cp/ChangeLog:

DR 2032
PR c++/96218
* pt.c (check_default_tmpl_args): Also consider variable
templates.

gcc/testsuite/ChangeLog:

DR 2032
PR c++/96218
* g++.dg/cpp1y/var-templ67.C: New test.

[Bug target/96402] [10/11 Regression] Wrong code with -moutline-atomics

2020-08-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96402

--- Comment #9 from Jakub Jelinek  ---
Should be fixed now for 10.3+ and 11+.  If -moutline-atomics has been
backported to older releases, it should go there too.

[Bug target/96402] [10/11 Regression] Wrong code with -moutline-atomics

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96402

--- Comment #8 from CVS Commits  ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
:

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

commit r10-8567-gfd2ec4542fd2975e6d3f2f1c1a2639945a84f9e1
Author: Jakub Jelinek 
Date:   Mon Aug 3 22:55:28 2020 +0200

aarch64: Fix up __aarch64_cas16_acq_rel fallback

As mentioned in the PR, the fallback path when LSE is unavailable writes
incorrect registers to the memory if the previous content compares equal
to x0, x1 - it writes copy of x0, x1 from the start of function, but it
should write x2, x3.

2020-08-03  Jakub Jelinek  

PR target/96402
* config/aarch64/lse.S (__aarch64_cas16_acq_rel): Use x2, x3
instead
of x(tmp0), x(tmp1) in STXP arguments.

* gcc.target/aarch64/pr96402.c: New test.

(cherry picked from commit 90b43856fdff7d96d93d22970eca8a86c56e0ddc)

[Bug target/96402] [10/11 Regression] Wrong code with -moutline-atomics

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96402

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

https://gcc.gnu.org/g:90b43856fdff7d96d93d22970eca8a86c56e0ddc

commit r11-2520-g90b43856fdff7d96d93d22970eca8a86c56e0ddc
Author: Jakub Jelinek 
Date:   Mon Aug 3 22:55:28 2020 +0200

aarch64: Fix up __aarch64_cas16_acq_rel fallback

As mentioned in the PR, the fallback path when LSE is unavailable writes
incorrect registers to the memory if the previous content compares equal
to x0, x1 - it writes copy of x0, x1 from the start of function, but it
should write x2, x3.

2020-08-03  Jakub Jelinek  

PR target/96402
* config/aarch64/lse.S (__aarch64_cas16_acq_rel): Use x2, x3
instead
of x(tmp0), x(tmp1) in STXP arguments.

* gcc.target/aarch64/pr96402.c: New test.

[Bug other/96447] New: False positive -Wstringop-overflow with -O3

2020-08-03 Thread daniel at constexpr dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96447

Bug ID: 96447
   Summary: False positive -Wstringop-overflow with -O3
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: daniel at constexpr dot org
  Target Milestone: ---

Created attachment 48990
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48990&action=edit
test.c

The attached reduced test case results in the following false positive warning
at -03 (but not -O2) without any additional compiler flags with both GCC 10.2.0
and GCC 11.0.0 (compiled from git today):

test.c: In function ‘load’:
test.c:23:25: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   23 | data[i] = get8u(s);
  | ^~
test.c:21:23: note: at offset 4 to object ‘data’ with size 4 declared here
   21 | unsigned char data[4];
  |   ^~~~

[Bug other/96434] [11 regression] gcc.dg/ipa/ipa-clone-2.c fails after r11-2482

2020-08-03 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96434

Rainer Orth  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE
 CC||ro at gcc dot gnu.org

--- Comment #1 from Rainer Orth  ---
Duplicate.

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

[Bug ipa/96431] [11 regression] ipa-clone-2.c fails since r13cdbb6a97c3d853cd380e5a03be8e0d35966c1e

2020-08-03 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96431

Rainer Orth  changed:

   What|Removed |Added

 CC||seurer at gcc dot gnu.org

--- Comment #1 from Rainer Orth  ---
*** Bug 96434 has been marked as a duplicate of this bug. ***

[Bug target/96446] ICE when spilling an MMA accumulator

2020-08-03 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96446

Peter Bergner  changed:

   What|Removed |Added

 Target||powerpc*-*-*
 Status|UNCONFIRMED |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |bergner at gcc dot 
gnu.org
 CC||dje at gcc dot gnu.org,
   ||segher at gcc dot gnu.org,
   ||wschmidt at gcc dot gnu.org
 Ever confirmed|0   |1
   Last reconfirmed||2020-08-03

--- Comment #1 from Peter Bergner  ---
Confirmed and Mine.

[Bug target/96446] New: ICE when spilling an MMA accumulator

2020-08-03 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96446

Bug ID: 96446
   Summary: ICE when spilling an MMA accumulator
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bergner at gcc dot gnu.org
  Target Milestone: ---

We get an ICE when we are forced to spill an MMA accumulator that has a zero
value.  We seem to be missing a alternative that accepts the value zero in the
move pattern.  This is broken on trunk and the GCC 10 branch.

bergner@pike:~/gcc/BUGS$ cat quad-ice.c 
extern void bar (void);
void
foo (__vector_quad *dst)
{
  __vector_quad acc;
  __builtin_mma_xxsetaccz (&acc);
  bar ();
  *dst = acc;
}

bergner@pike:~/gcc/BUGS$
/home/bergner/gcc/build/gcc-fsf-mainline-base-debug/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-base-debug/gcc -S -O2 -mcpu=power10
quad-ice.c 
quad-ice.c: In function ‘foo’:
quad-ice.c:9:1: error: could not split insn
9 | }
  | ^
(insn 15 41 16 (set (reg:PXI 32 0 [orig:117 _1 ] [117])
(const_int 0 [0])) "quad-ice.c":8:8 2001 {*movpxi}
 (nil))
during RTL pass: final
quad-ice.c:9:1: internal compiler error: in final_scan_insn_1, at final.c:3073
0x11109e6b _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/rtl-error.c:108
0x10a741bf final_scan_insn_1
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:3073
0x10a74a4b final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:3152
0x10a6f807 final_1
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:2020
0x10a7b6f7 rest_of_handle_final
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:4658
0x10a7be3f execute
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:4736
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

[Bug target/96415] GCC produces incorrect code for loops with -O3 for skylake-avx512 and icelake-server

2020-08-03 Thread vsevolod.livinskij at frtk dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96415

Vsevolod Livinskiy  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Vsevolod Livinskiy  ---
You are right, it is a sde bug. It works on real hardware and a new version of
sde. Sorry to bother you and thanks for looking into this!

[Bug c++/96396] initializer_list in `-fconcepts -std=c++11` reports internal compiler error

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96396

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1
   Last reconfirmed||2020-08-03
 Status|UNCONFIRMED |NEW

--- Comment #1 from Marek Polacek  ---
Confirmed.

[Bug fortran/96418] Test coarray_alloc_comp_4.f08 ICEs

2020-08-03 Thread anlauf at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96418

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 CC||vehre at gcc dot gnu.org

--- Comment #3 from anlauf at gcc dot gnu.org ---
CC'ing Andre as the author of commit r7-5273 .

[Bug c++/96364] ICE on valid code in cp_finish_decl, at cp/decl.c:7537

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96364

Marek Polacek  changed:

   What|Removed |Added

   Last reconfirmed||2020-08-03
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
 CC||mpolacek at gcc dot gnu.org

--- Comment #1 from Marek Polacek  ---
From-SVN: r240756

[Bug c++/96445] New: extern template results in missing constructor symbol

2020-08-03 Thread tyu at eridex dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96445

Bug ID: 96445
   Summary: extern template results in missing constructor symbol
   Product: gcc
   Version: 10.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tyu at eridex dot org
  Target Milestone: ---

Created attachment 48989
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48989&action=edit
g++ -v output

The following results in: undefined reference to `C::C(int)'

template 
class C {
  private:
constexpr C(T){};
  public:
constexpr static C make(T t) { return C(t); }
};
extern template class C;
inline constexpr C constant = C::make(0);
template class C;
int main() { return 0; }

Compiled with:
$ g++ -v -save-temps -std=c++2a -Wall -Wextra issue.cpp > output.txt 2>&1

output.txt is attached.

[Bug fortran/96418] Test coarray_alloc_comp_4.f08 ICEs

2020-08-03 Thread anlauf at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96418

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-08-03
 CC||anlauf at gcc dot gnu.org
   Priority|P3  |P4
 Ever confirmed|0   |1

--- Comment #2 from anlauf at gcc dot gnu.org ---
Running under gdb, I get the same traceback for both.

(gdb) r coarray_alloc_comp_3.f08 -fcoarray=single

 coarray_alloc_comp_3coarray_alloc_comp_3.f08:43:0:

   43 |   deallocate(obj%link)
  | 
internal compiler error: in gfc_conv_descriptor_data_get, at
fortran/trans-array.c:148
0x75e30d gfc_conv_descriptor_data_get(tree_node*)
../../gcc-trunk/gcc/fortran/trans-array.c:148
0x75b904 gfc_deallocate_with_status(tree_node*, tree_node*, tree_node*,
tree_node*, tree_node*, bool, gfc_expr*, int, tree_node*, tree_node*)
../../gcc-trunk/gcc/fortran/trans.c:1378
0x772b68 structure_alloc_comps
../../gcc-trunk/gcc/fortran/trans-array.c:8916
0x77430a gfc_deallocate_alloc_comp(gfc_symbol*, tree_node*, int, int)
../../gcc-trunk/gcc/fortran/trans-array.c:9711
0x75c30a gfc_deallocate_scalar_with_status(tree_node*, tree_node*, tree_node*,
bool, gfc_expr*, gfc_typespec, bool)
../../gcc-trunk/gcc/fortran/trans.c:1597
0x7fce5f gfc_trans_deallocate(gfc_code*)
../../gcc-trunk/gcc/fortran/trans-stmt.c:7350
0x757717 trans_code
../../gcc-trunk/gcc/fortran/trans.c:2040
0x78ec05 gfc_generate_function_code(gfc_namespace*)
../../gcc-trunk/gcc/fortran/trans-decl.c:6845
0x7071b7 translate_all_program_units
../../gcc-trunk/gcc/fortran/parse.c:6347
0x7071b7 gfc_parse_file()
../../gcc-trunk/gcc/fortran/parse.c:6616
0x753a8f gfc_be_parse_file
../../gcc-trunk/gcc/fortran/f95-lang.c:212

[Bug c++/90199] ICE: tree check: expected complex_cst, have plus_expr in output_constant, at varasm.c:4994

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90199

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-08-03

--- Comment #1 from Marek Polacek  ---
Confirmed.

[Bug c++/96444] New: Incorrect satisfaction value of placeholder type constraint on variable with non-dependent initializer

2020-08-03 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96444

Bug ID: 96444
   Summary: Incorrect satisfaction value of placeholder type
constraint on variable with non-dependent initializer
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ppalka at gcc dot gnu.org
  Target Milestone: ---

GCC 10.1, 10.2 and trunk fail to reject this invalid testcase.  The placeholder
type constraint on the local variable x after substitution ought to resolve to
the unsatisfied constraint Same.

$ cat testcase.C
template
concept Same = __is_same(T, U);

template
void foo() { Same auto x = 0; }

void bar() { foo(); }

[Bug c++/96425] [8/9/10/11 regression] internal compiler error in maybe_process_partial_specialization()

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96425

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
   Last reconfirmed||2020-08-03
 CC||mpolacek at gcc dot gnu.org

--- Comment #3 from Marek Polacek  ---
Confirmed.

[Bug c++/96437] [10/11 Regression] ICE in tree check: expected tree that contains ‘decl common’ structure, have ‘error_mark’ in synthesize_implicit_template_parm, at cp/parser.c:44246

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96437

Marek Polacek  changed:

   What|Removed |Added

   Last reconfirmed||2020-08-03
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW

--- Comment #1 from Marek Polacek  ---
Confirmed.

[Bug c++/96438] [9/10/11 Regression] ICE in do_pushtag, at cp/name-lookup.c:6861

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96438

Marek Polacek  changed:

   What|Removed |Added

   Priority|P3  |P5
Summary|[10/11 Regression] ICE in   |[9/10/11 Regression] ICE in
   |do_pushtag, at  |do_pushtag, at
   |cp/name-lookup.c:6861   |cp/name-lookup.c:6861
   Target Milestone|--- |8.5
   Last reconfirmed||2020-08-03
 Ever confirmed|0   |1
 CC||mpolacek at gcc dot gnu.org
 Status|UNCONFIRMED |NEW

--- Comment #1 from Marek Polacek  ---
GCC 9 ICEs too.

[Bug c++/96440] [8/9/10/11 Regression] ICE in tree check: expected tree_list, have error_mark in get_attribute_name, at attribs.c:841

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96440

Marek Polacek  changed:

   What|Removed |Added

   Target Milestone|--- |8.5
 Ever confirmed|0   |1
Summary|ICE in tree check: expected |[8/9/10/11 Regression] ICE
   |tree_list, have error_mark  |in tree check: expected
   |in get_attribute_name, at   |tree_list, have error_mark
   |attribs.c:841   |in get_attribute_name, at
   ||attribs.c:841
 CC||mpolacek at gcc dot gnu.org
   Last reconfirmed||2020-08-03
 Status|UNCONFIRMED |NEW

--- Comment #1 from Marek Polacek  ---
Confirmed.  Regressed with r193029.

[Bug c++/96441] ICE in tree check: expected integer_cst, have cond_expr in get_len, at tree.h:5954

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96441

Marek Polacek  changed:

   What|Removed |Added

   Last reconfirmed||2020-08-03
 CC||mpolacek at gcc dot gnu.org
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Confirmed.

[Bug c++/96442] [9/10/11 Regression] ICE in tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have record_type in int_fits_type_p, at tree.c:8954

2020-08-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96442

Marek Polacek  changed:

   What|Removed |Added

   Target Milestone|--- |9.4
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
Summary|ICE in tree check: expected |[9/10/11 Regression] ICE in
   |integer_type or |tree check: expected
   |enumeral_type or|integer_type or
   |boolean_type or real_type   |enumeral_type or
   |or fixed_point_type, have   |boolean_type or real_type
   |record_type in  |or fixed_point_type, have
   |int_fits_type_p, at |record_type in
   |tree.c:8954 |int_fits_type_p, at
   ||tree.c:8954
   Last reconfirmed||2020-08-03
 CC||mpolacek at gcc dot gnu.org

--- Comment #1 from Marek Polacek  ---
Confirmed, started with r261655.

[Bug c++/96443] New: Incorrect satisfaction value for dependent return type placeholder constraint

2020-08-03 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96443

Bug ID: 96443
   Summary: Incorrect satisfaction value for dependent return type
placeholder constraint
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ppalka at gcc dot gnu.org
  Target Milestone: ---

GCC 10.1, 10.2 and 11 fail to accept the following valid testcase. 
Satisfaction checking of f's return type placeholder constraint seems to go
wrong at some point.

$ cat testcase.C
template
concept Same = __is_same(T, U);

auto f(auto x) -> Same auto { return 0; }
int a = f(42);

$ g++ -std=c++2a testcase.C
testcase.C: In instantiation of ‘auto [requires ::Same<,
decltype(f::x)>] f(auto:1) [with auto:1 = int]’:
testcase.C:7:13:   required from here
testcase.C:6:51: error: deduced return type does not satisfy placeholder
constraints
6 | auto f(auto x) -> Same auto { return 0; }
  |   ^
testcase.C:6:51: note: constraints not satisfied
testcase.C: In instantiation of ‘auto [requires ::Same<,
decltype(g::x)>] g(auto:2) [with auto:2 = bool]’:
testcase.C:10:15:   required from here
testcase.C:9:51: error: deduced return type does not satisfy placeholder
constraints
9 | auto g(auto x) -> Same auto { return 0; } // { dg-error
"constraint" }
  |   ^
testcase.C:9:51: note: constraints not satisfied
testcase.C:4:9:   required for the satisfaction of ‘Same’
testcase.C:4:16: note:   ‘int’ is not the same as ‘bool’
4 | concept Same = __is_same(T, U);
  |^~~

[Bug fortran/96436] -std=f2003 -pedantic rejects valid f0.d edit descriptor

2020-08-03 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96436

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Priority|P3  |P4
 CC||kargl at gcc dot gnu.org
 Ever confirmed|0   |1
   Last reconfirmed||2020-08-03
   Severity|normal  |minor

--- Comment #1 from kargl at gcc dot gnu.org ---
Index: libgfortran/io/format.c
===
--- libgfortran/io/format.c (revision 280157)
+++ libgfortran/io/format.c (working copy)
@@ -929,7 +929,7 @@ parse_format_list (st_parameter_dt *dtp, bool *seen_dd
   /* Processing for zero width formats.  */
   if (u == FMT_ZERO)
{
- if (notification_std (GFC_STD_F2008) == NOTIFICATION_ERROR
+ if (notification_std (GFC_STD_F2003) == NOTIFICATION_ERROR
  || dtp->u.p.mode == READING)
{
  fmt->error = zero_width;

[Bug c++/96442] New: ICE in tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have record_type in int_fits_type_p, at tree.c:8954

2020-08-03 Thread haoxintu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96442

Bug ID: 96442
   Summary: ICE in tree check: expected integer_type or
enumeral_type or boolean_type or real_type or
fixed_point_type, have record_type in int_fits_type_p,
at tree.c:8954
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Keywords: error-recovery, ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: haoxintu at gmail dot com
  Target Milestone: ---

Hi, all.

This code, reduced by C-Vise, makes GCC-trunk ICE and makes released GCC
versions "confused by early errors".

Input:
//small.cc
enum struct a : struct {};
template  enum class a : class c{};
enum struct a {b};

Command:
g++ small.cc

Output:
small.cc:1:25: error: underlying type ‘’ of ‘a’ must be an
integral type
1 | enum struct a : struct {};
  | ^
small.cc:3:13: error: different underlying type in enum ‘enum class a’
3 | enum struct a {b};
  | ^
small.cc:1:25: note: previous definition here
1 | enum struct a : struct {};
  | ^
small.cc:3:16: internal compiler error: tree check: expected integer_type or
enumeral_type or boolean_type or real_type or fixed_point_type, have
record_type in int_fits_type_p, at tree.c:8954
3 | enum struct a {b};
  |^
0x7c7fd7 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/tree.c:9687
0x7ceec0 tree_check5(tree_node const*, char const*, int, char const*,
tree_code, tree_code, tree_code, tree_code, tree_code)
../../gcc/tree.h:3650
0x7ceec0 int_fits_type_p(tree_node const*, tree_node const*)
../../gcc/tree.c:8954
0x919b9a build_enumerator(tree_node*, tree_node*, tree_node*, tree_node*,
unsigned int)
../../gcc/cp/decl.c:15906
0x9aafec cp_parser_enumerator_definition
../../gcc/cp/parser.c:19585
0x9aafec cp_parser_enumerator_list
../../gcc/cp/parser.c:19514
0x9aafec cp_parser_enum_specifier
../../gcc/cp/parser.c:19444
0x9aafec cp_parser_type_specifier
../../gcc/cp/parser.c:17769
0x9ab50e cp_parser_decl_specifier_seq
../../gcc/cp/parser.c:14436
0x9ac2c1 cp_parser_simple_declaration
../../gcc/cp/parser.c:13690
0x9d763e cp_parser_declaration
../../gcc/cp/parser.c:13510
0x9d7d2b cp_parser_translation_unit
../../gcc/cp/parser.c:4793
0x9d7d2b c_parse_file()
../../gcc/cp/parser.c:44081
0xaf2e9d c_common_parse_file()
../../gcc/c-family/c-opts.c:1188
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

My gcc version is
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure
--prefix=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/
--enable-languages=c,c++ CC=gcc CXX=g++
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20200801 (experimental) (GCC) 

Thanks,
Haoxin

[Bug c++/96441] New: ICE in tree check: expected integer_cst, have cond_expr in get_len, at tree.h:5954

2020-08-03 Thread haoxintu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96441

Bug ID: 96441
   Summary: ICE in tree check: expected integer_cst, have
cond_expr in get_len, at tree.h:5954
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Keywords: error-recovery, ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: haoxintu at gmail dot com
  Target Milestone: ---

Hi, all.

This code, reduced by C-Vise, makes GCC-trunk ICE and makes released GCC
versions "confused by early errors".

Input:
//small.cc
enum struct a : int;
template  class A {};
template <> enum struct a {c};


Command:
g++ small.cc

Output:
small.cc:2:47: error: expression ‘’ is not a constant
expression
2 | template  class A {};
  |   ^
small.cc:3:28: internal compiler error: tree check: expected integer_cst, have
cond_expr in get_len, at tree.h:5954
3 | template <> enum struct a {c};
  |^
0x7c7fd7 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/tree.c:9687
0x616fed tree_check(tree_node const*, char const*, int, char const*, tree_code)
../../gcc/tree.h:3559
0x616fed wi::extended_tree<192>::get_len() const
../../gcc/tree.h:5954
0x616fed wi::int_traits >
>::decompose(long*, unsigned int, generic_wide_int >
const&)
../../gcc/wide-int.h:985
0x616fed wide_int_ref_storage::wide_int_ref_storage >
>(generic_wide_int > const&, unsigned int)
../../gcc/wide-int.h:1034
0x616fed generic_wide_int
>::generic_wide_int >
>(generic_wide_int > const&, unsigned int)
../../gcc/wide-int.h:790
0x616fed wi::binary_traits >, int,
wi::int_traits > >::precision_type,
wi::int_traits::precision_type>::result_type
wi::add >,
int>(generic_wide_int > const&, int const&, signop,
wi::overflow_type*)
../../gcc/wide-int.h:2467
0x616fed build_enumerator(tree_node*, tree_node*, tree_node*, tree_node*,
unsigned int)
../../gcc/cp/decl.c:15857
0x9aafec cp_parser_enumerator_definition
../../gcc/cp/parser.c:19585
0x9aafec cp_parser_enumerator_list
../../gcc/cp/parser.c:19514
0x9aafec cp_parser_enum_specifier
../../gcc/cp/parser.c:19444
0x9aafec cp_parser_type_specifier
../../gcc/cp/parser.c:17769
0x9ab50e cp_parser_decl_specifier_seq
../../gcc/cp/parser.c:14436
0x9d2fe5 cp_parser_single_declaration
../../gcc/cp/parser.c:29499
0x9d4300 cp_parser_explicit_specialization
../../gcc/cp/parser.c:17689
0x9d776d cp_parser_declaration
../../gcc/cp/parser.c:13456
0x9d7d2b cp_parser_translation_unit
../../gcc/cp/parser.c:4793
0x9d7d2b c_parse_file()
../../gcc/cp/parser.c:44081
0xaf2e9d c_common_parse_file()
../../gcc/c-family/c-opts.c:1188
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

My gcc version is
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure
--prefix=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/
--enable-languages=c,c++ CC=gcc CXX=g++
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20200801 (experimental) (GCC) 

Thanks,
Haoxin

[Bug c++/96440] New: ICE in tree check: expected tree_list, have error_mark in get_attribute_name, at attribs.c:841

2020-08-03 Thread haoxintu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96440

Bug ID: 96440
   Summary: ICE in tree check: expected tree_list, have error_mark
in get_attribute_name, at attribs.c:841
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Keywords: error-recovery, ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: haoxintu at gmail dot com
  Target Milestone: ---

Hi, all.

This code, reduced by C-Vise, makes GCC-trunk ICE and makes released GCC
versions "confused by early errors".

Input:
//small.cc
auto alignas a [[]] [[const]] ();

Command:
g++ small.cc

Output:
small.cc:1:14: error: expected ‘(’ before ‘a’
1 | auto alignas a [[]] [[const]] ();
  |  ^
  |  (
small.cc:1:29: internal compiler error: tree check: expected tree_list, have
error_mark in get_attribute_name, at attribs.c:841
1 | auto alignas a [[]] [[const]] ();
  | ^
0x7c7fd7 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/tree.c:9687
0x6a0bd3 tree_check(tree_node const*, char const*, int, char const*, tree_code)
../../gcc/tree.h:3559
0x6a0bd3 get_attribute_name(tree_node const*)
../../gcc/attribs.c:841
0xa9e159 private_lookup_attribute(char const*, unsigned long, tree_node*)
../../gcc/attribs.c:1812
0x911518 lookup_attribute
../../gcc/attribs.h:179
0x911518 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
../../gcc/cp/decl.c:11384
0x91d418 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int,
tree_node*, tree_node*, tree_node**)
../../gcc/cp/decl.c:5233
0x9cbd7d cp_parser_init_declarator
../../gcc/cp/parser.c:20858
0x9ac3cc cp_parser_simple_declaration
../../gcc/cp/parser.c:13811
0x9d763e cp_parser_declaration
../../gcc/cp/parser.c:13510
0x9d7d2b cp_parser_translation_unit
../../gcc/cp/parser.c:4793
0x9d7d2b c_parse_file()
../../gcc/cp/parser.c:44081
0xaf2e9d c_common_parse_file()
../../gcc/c-family/c-opts.c:1188
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

My gcc version is
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure
--prefix=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/
--enable-languages=c,c++ CC=gcc CXX=g++
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20200801 (experimental) (GCC) 


Thanks,
Haoxin

[Bug c++/96439] New: [concepts] nested requirement allows calling a method of a local parameter

2020-08-03 Thread src at andyf dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96439

Bug ID: 96439
   Summary: [concepts] nested requirement allows calling a method
of a local parameter
   Product: gcc
   Version: 10.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: src at andyf dot de
  Target Milestone: ---

Hello,

the following code is accepted by GCC 10.2.0 and trunk (as of 20200802):

template
struct array {
constexpr auto size() const { return N; }
};

template
concept C2 = requires(T a) {
requires a.size() > 2; // "a" is a local parameter and should be allowed
only a an unevaluated operand
};

static_assert(C2< array<5> >);

My reading of [expr.prim.req.nested] p2 is, that is should be ill-formed, "a"
is a local parameter. The following code is (correctly in my opinion) rejected
by GCC:

template
constexpr bool Fun(T& t)
{
return true;
}

template
concept C1 = requires(T a) {
requires true == Func(a);
};

static_assert(C1);


It looks to me, that in the case of calling a member function on a local
parameter the check is missing. Clang rejects both examples. MSVC 19.24 shows
the same behavior as GCC, so I might be misreading something.

Here is a godbolt link: https://godbolt.org/z/TeTdoK



Cheers,

   Andreas

[Bug c++/96438] New: [10/11 Regression] ICE in do_pushtag, at cp/name-lookup.c:6861

2020-08-03 Thread haoxintu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96438

Bug ID: 96438
   Summary: [10/11 Regression] ICE in do_pushtag, at
cp/name-lookup.c:6861
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Keywords: error-recovery, ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: haoxintu at gmail dot com
  Target Milestone: ---

Hi, all.

This code, reduced by C-Vise, makes GCC-trunk ICE, while GCC-10 and downwards
versions behave well in error-recovery.

Input:
//small.cc
class A {
template 
void foo (int (operator struct { union :});
}

Command:
g++ small.cc


Output:
small.cc:3:40: error: types may not be defined in a conversion-type-id
3 | void foo (int (operator struct { union :});
  |^
small.cc:3:42: internal compiler error: in do_pushtag, at cp/name-lookup.c:6861
3 | void foo (int (operator struct { union :});
  |  ^
0x641ae8 do_pushtag
../../gcc/cp/name-lookup.c:6861
0x641ae8 pushtag(tree_node*, tree_node*, tag_scope)
../../gcc/cp/name-lookup.c:6988
0x9030d0 xref_tag(tag_types, tree_node*, tag_scope, bool)
../../gcc/cp/decl.c:15085
0x9aa0af cp_parser_class_head
../../gcc/cp/parser.c:24698
0x9aa0af cp_parser_class_specifier_1
../../gcc/cp/parser.c:23920
0x9aa593 cp_parser_class_specifier
../../gcc/cp/parser.c:24294
0x9aa593 cp_parser_type_specifier
../../gcc/cp/parser.c:17797
0x9ab50e cp_parser_decl_specifier_seq
../../gcc/cp/parser.c:14436
0x9d5570 cp_parser_member_declaration
../../gcc/cp/parser.c:25035
0x9a82f8 cp_parser_member_specification_opt
../../gcc/cp/parser.c:24890
0x9a82f8 cp_parser_class_specifier_1
../../gcc/cp/parser.c:23987
0x9aa593 cp_parser_class_specifier
../../gcc/cp/parser.c:24294
0x9aa593 cp_parser_type_specifier
../../gcc/cp/parser.c:17797
0x9c0273 cp_parser_type_specifier_seq
../../gcc/cp/parser.c:22479
0x9bf53a cp_parser_conversion_type_id
../../gcc/cp/parser.c:15154
0x9bf53a cp_parser_conversion_function_id
../../gcc/cp/parser.c:15115
0x9bf53a cp_parser_unqualified_id
../../gcc/cp/parser.c:6335
0x9b6d07 cp_parser_declarator_id
../../gcc/cp/parser.c:22267
0x9b6d07 cp_parser_direct_declarator
../../gcc/cp/parser.c:21515
0x9b6d07 cp_parser_declarator
../../gcc/cp/parser.c:21149
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

My gcc version is
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure
--prefix=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/
--enable-languages=c,c++ CC=gcc CXX=g++
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20200801 (experimental) (GCC) 


Thanks,
Haoxin

[Bug c++/96437] New: [10/11 Regression] ICE in tree check: expected tree that contains ‘decl common’ structure, have ‘error_mark’ in synthesize_implicit_template_parm, at cp/parser.c:44246

2020-08-03 Thread haoxintu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96437

Bug ID: 96437
   Summary: [10/11 Regression] ICE in tree check: expected tree
that contains ‘decl common’ structure, have
‘error_mark’ in synthesize_implicit_template_parm, at
cp/parser.c:44246
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Keywords: error-recovery, ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: haoxintu at gmail dot com
  Target Milestone: ---

Hi, all.

This code, reduced by C-Vise, makes GCC-trunk ICE, while GCC-10 and downwards
versions behave well in error-recovery.

Input:
//small.cc
template <()> void A(auto){}

Command:
g++ small.cc

Output:
small.cc:1:11: error: expected identifier before ‘(’ token
1 | template <()> void A(auto){}
  |   ^
small.cc:1:22: internal compiler error: tree check: expected tree that contains
‘decl common’ structure, have ‘error_mark’ in
synthesize_implicit_template_parm, at cp/parser.c:44246
1 | template <()> void A(auto){}
  |  ^~~~
0x7c899e tree_contains_struct_check_failed(tree_node const*,
tree_node_structure_enum, char const*, int, char const*)
../../gcc/tree.c:9861
0x6440d9 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
../../gcc/tree.h:3417
0x6440d9 synthesize_implicit_template_parm
../../gcc/cp/parser.c:44246
0x9c72b0 cp_parser_simple_type_specifier
../../gcc/cp/parser.c:18064
0x9aa52d cp_parser_type_specifier
../../gcc/cp/parser.c:17873
0x9ab50e cp_parser_decl_specifier_seq
../../gcc/cp/parser.c:14436
0x9c90ee cp_parser_parameter_declaration
../../gcc/cp/parser.c:22858
0x9c9a82 cp_parser_parameter_declaration_list
../../gcc/cp/parser.c:22681
0x9c9e81 cp_parser_parameter_declaration_clause
../../gcc/cp/parser.c:22608
0x9b6951 cp_parser_direct_declarator
../../gcc/cp/parser.c:21285
0x9b6951 cp_parser_declarator
../../gcc/cp/parser.c:21149
0x9cbab6 cp_parser_init_declarator
../../gcc/cp/parser.c:20649
0x9d31f4 cp_parser_single_declaration
../../gcc/cp/parser.c:29590
0x9d3356 cp_parser_template_declaration_after_parameters
../../gcc/cp/parser.c:29163
0x9d3b00 cp_parser_explicit_template_declaration
../../gcc/cp/parser.c:29428
0x9d76e1 cp_parser_declaration
../../gcc/cp/parser.c:13459
0x9d7d2b cp_parser_translation_unit
../../gcc/cp/parser.c:4793
0x9d7d2b c_parse_file()
../../gcc/cp/parser.c:44081
0xaf2e9d c_common_parse_file()
../../gcc/c-family/c-opts.c:1188
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

My gcc version is
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure
--prefix=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/
--enable-languages=c,c++ CC=gcc CXX=g++
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20200801 (experimental) (GCC) 


Thanks,
Haoxin

[Bug tree-optimization/96430] internal compiler error: in verify_range, at value-range.cc:354

2020-08-03 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96430

Aldy Hernandez  changed:

   What|Removed |Added

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

--- Comment #3 from Aldy Hernandez  ---
Fixed in mainline.

[Bug fortran/96436] New: -std=f2003 -pedantic rejects valid f0.d edit descriptor

2020-08-03 Thread guez at lmd dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96436

Bug ID: 96436
   Summary: -std=f2003 -pedantic rejects valid f0.d edit
descriptor
   Product: gcc
   Version: 10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: guez at lmd dot ens.fr
  Target Milestone: ---

Here is my system information:

$ gcc-10 -v

Using built-in specs.
COLLECT_GCC=gcc-10
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
10-20200411-0ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr
--with-gcc-major-version-only --program-suffix=-10
--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-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 --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none,amdgcn-amdhsa,hsa --without-cuda-driver
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.0.1 20200411 (experimental) [master revision
bb87d5cc77d:75961caccb7:f883c46b4877f637e0fa5025b4d6b5c9040ec566] (Ubuntu
10-20200411-0ubuntu1)

Here is a test program for the bug:

$ cat my_test.f90 
  print "(f0.2)", 3.
  end

Here is the compilation command:

$ gfortran-10 -std=f2003 -pedantic my_test.f90 

There is no problem at compilation. Here is the result of execution:

$ a.out
At line 1 of file my_test.f90 (unit = 6, file = 'stdout')
Fortran runtime error: Zero width in format descriptor
(f0.2)
  ^

Error termination. Backtrace:
#0  0x14d29aeffd0a
#1  0x14d29af00819
#2  0x14d29af014ef
#3  0x14d29b133ed1
#4  0x14d29b13410e
#5  0x14d29b1450a7
#6  0x55c1c61a01d7
#7  0x55c1c61a023a
#8  0x14d29ad0f0b2
#9  0x55c1c61a00bd
#10  0x

This is a bug. Zero width in edit descriptor Fw.d, on output, is valid. Cf.
Fortran 2003 standard, paragraph 10.6.1.

[Bug tree-optimization/96430] internal compiler error: in verify_range, at value-range.cc:354

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96430

--- Comment #2 from CVS Commits  ---
The master branch has been updated by Aldy Hernandez :

https://gcc.gnu.org/g:6c4763fa5b55f6e883ed7077b67c6175c2da63d1

commit r11-2512-g6c4763fa5b55f6e883ed7077b67c6175c2da63d1
Author: Aldy Hernandez 
Date:   Mon Aug 3 18:30:30 2020 +0200

Avoid shifting by amounts larger than target int in irange self-tests.

gcc/ChangeLog:

PR tree-optimization/96430
* range-op.cc (operator_tests): Do not shift by 31 on targets with
integer's smaller than 32 bits.

[Bug tree-optimization/96433] Failed to optimize (A / N) * N <= A

2020-08-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96433

Jakub Jelinek  changed:

   What|Removed |Added

 CC||aldyh at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
Or handle that during VRP with symbolic ranges.  But am not sure to what extent
symbolic ranges are going to stay.

[Bug tree-optimization/96430] internal compiler error: in verify_range, at value-range.cc:354

2020-08-03 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96430

Aldy Hernandez  changed:

   What|Removed |Added

   Last reconfirmed||2020-08-03
 Ever confirmed|0   |1
   Assignee|unassigned at gcc dot gnu.org  |aldyh at gcc dot gnu.org
 Status|UNCONFIRMED |NEW

--- Comment #1 from Aldy Hernandez  ---
Mine.  Confirmed.

[Bug target/96375] [11 regression] arm/lob[2-5].c fail on some configurations

2020-08-03 Thread andrea.corallo at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96375

--- Comment #5 from Andrea Corallo  ---
"clyon at gcc dot gnu.org"  writes:

> Just that I have no config where lob[16].c are supported because when running
> arm-none-eabi tests I override -mcpu. When I don't override -mcpu, I don't
> enable multilibs which in turn causes some effective-target checks failures.
> Hence I'm wondering what toolchain settings you are using to run these new
> tests?

I'm testing these on arm-none-eabi having GCC configure with:
--target=arm-none-eabi --with-newlib --with-multilib-list=rmprofile.
And invoking it with -march=armv8.1-m.main -mthumb.

  Andrea
IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended recipient,
please notify the sender immediately and do not disclose the contents to any
other person, use it for any purpose, or store or copy the information in any
medium. Thank you.

[Bug tree-optimization/96433] Failed to optimize (A / N) * N <= A

2020-08-03 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96433

Marc Glisse  changed:

   What|Removed |Added

  Component|c   |tree-optimization
   Last reconfirmed||2020-08-03
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
Version|tree-ssa|11.0

--- Comment #2 from Marc Glisse  ---
Replacing (A/B)*B with A-A%B makes the transformation a bit simpler (and the
signed variants with ceil/floor), but we probably don't want to do that
transformation all the time (?). Which leaves the rather specialized (A/B)*B
cmp A...

[Bug target/96428] [nvptx] nvptx_gen_shuffle does not handle V2DI mode – Fails with an ICE

2020-08-03 Thread burnus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96428

--- Comment #3 from Tobias Burnus  ---
Created attachment 48988
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48988&action=edit
Test case (as diff – two files)

I tried the testcase with and without you patch – and with it runs fine :-)

Thanks for the quick patch :-)

[Bug d/96435] New: d: Returning boolean in a union violates @safe code

2020-08-03 Thread ibuclaw at gdcproject dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96435

Bug ID: 96435
   Summary: d: Returning boolean in a union violates @safe code
   Product: gcc
   Version: 10.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: d
  Assignee: ibuclaw at gdcproject dot org
  Reporter: ibuclaw at gdcproject dot org
  Target Milestone: ---

In this test, the return value is both true and false at the same time.
---
bool schrodingersCat() @safe {
union Box { bool b; int state; }
Box u;
u.state = 42;
return u.b;
}
void main() @safe {
import std.stdio;
bool b = schrodingersCat();
if (b) writeln("alive");
if (!b) writeln("dead");
}

[Bug rtl-optimization/95696] regrename creates overlapping register allocations for vliw

2020-08-03 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95696

rsandifo at gcc dot gnu.org  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-08-03
 CC||rsandifo at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #5 from rsandifo at gcc dot gnu.org  
---
The SMS side of the problem is now fixed.  Would you still
like to fix the REG_UNUSED problem for non-SMS cases?  If so,
then as I mentioned in the mailing-list thread, I think it might
be more robust to have a --param that makes regrename ignore
REG_UNUSED notes altogether.

[Bug target/96366] [AArch64] ICE due to lack of support for VNx2SI sub instruction

2020-08-03 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96366

rsandifo at gcc dot gnu.org  changed:

   What|Removed |Added

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

--- Comment #4 from rsandifo at gcc dot gnu.org  
---
Fixed by g:9623f61b142174b87760c81f78928dd14af7cbc6.

As far as I know, only GCC 11 needs the fix, but we can backport
to GCC 10 as well if we find a testcase that needs it.

[Bug libstdc++/96416] address_of() is broken by static_assert in pointer_traits

2020-08-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96416

--- Comment #3 from Jonathan Wakely  ---
Ugh, yes, I think we do.

[Bug libstdc++/96416] address_of() is broken by static_assert in pointer_traits

2020-08-03 Thread whatwasthataddress at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96416

--- Comment #2 from Zach Laine  ---
Fair enough.  [pointer.conversion] says that to_pointer(const Ptr& p) is
"pointer_­traits​::​to_­address(p) if that expression is well-formed (see
[pointer.traits.optmem]), otherwise to_­address(p.operator->())".  Do we then
have a spec bug?

[Bug target/96375] [11 regression] arm/lob[2-5].c fail on some configurations

2020-08-03 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96375

--- Comment #4 from Christophe Lyon  ---
(In reply to Andrea Corallo from comment #3)
> "clyon at gcc dot gnu.org"  writes:
> > Hi,
> 
> Hi,
> 
> > It does fix the FAIL, thanks.
> 
> Thanks for testing it!
> 
> > I suspect you also want to add -mthumb to
> > check_effective_target_arm_v8_1_lob_ok for consistency.
> 
> isn't the patch already doing this?

Hmmm right, I probably missed that part when testing manually, sorry for the
noise.


> 
> > In practice, how do you exercise these tests given that with the arm-eabi
> > configurations I'm testing they are unsupported because I override -mcpu?
> 
> Not sure I understand, what is the problem if the test is not supported
> with a specific -mcpu?
> 

Just that I have no config where lob[16].c are supported because when running
arm-none-eabi tests I override -mcpu. When I don't override -mcpu, I don't
enable multilibs which in turn causes some effective-target checks failures.
Hence I'm wondering what toolchain settings you are using to run these new
tests?

[Bug other/96434] New: [11 regression] gcc.dg/ipa/ipa-clone-2.c fails after r11-2482

2020-08-03 Thread seurer at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96434

Bug ID: 96434
   Summary: [11 regression] gcc.dg/ipa/ipa-clone-2.c fails after
r11-2482
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

g:13cdbb6a97c3d853cd380e5a03be8e0d35966c1e, r11-2482

spawn -ignore SIGHUP /home/seurer/gcc/git/build/gcc-test/gcc/xgcc
-B/home/seurer/gcc/git/build/gcc-test/gcc/
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/ipa/ipa-clone-2.c
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never -fdiagnostics-urls=never -O3 -fdump-ipa-cp-details
-fno-early-inlining --param ipa-cp-max-recursive-depth=8 -S -o ipa-clone-2.s
PASS: gcc.dg/ipa/ipa-clone-2.c (test for excess errors)
gcc.dg/ipa/ipa-clone-2.c: pattern found 2 times
FAIL: gcc.dg/ipa/ipa-clone-2.c scan-ipa-dump-times cp "Creating a specialized
node of recur_fn/[0-9]*\\." 12

=== gcc Summary ===

# of expected passes1
# of unexpected failures1

[Bug c++/64194] [C++14] for function template with auto return

2020-08-03 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64194

Patrick Palka  changed:

   What|Removed |Added

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

--- Comment #12 from Patrick Palka  ---
Should be fixed for GCC 11, thanks for the reports.

[Bug tree-optimization/95353] [10 Regression] spurious -Wstringop-overflow writing to a trailing array plus offset

2020-08-03 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95353

Martin Sebor  changed:

   What|Removed |Added

 CC||bruce.fleming at gmail dot com

--- Comment #16 from Martin Sebor  ---
*** Bug 96406 has been marked as a duplicate of this bug. ***

[Bug middle-end/96406] erroneous -Wstringop-overflow storing into a multidimensional char array

2020-08-03 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96406

Martin Sebor  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #7 from Martin Sebor  ---
Yes, the fix is already in GCC 11 (the version in development).

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

[Bug target/96375] [11 regression] arm/lob[2-5].c fail on some configurations

2020-08-03 Thread andrea.corallo at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96375

--- Comment #3 from Andrea Corallo  ---
"clyon at gcc dot gnu.org"  writes:
> Hi,

Hi,

> It does fix the FAIL, thanks.

Thanks for testing it!

> I suspect you also want to add -mthumb to
> check_effective_target_arm_v8_1_lob_ok for consistency.

isn't the patch already doing this?

> In practice, how do you exercise these tests given that with the arm-eabi
> configurations I'm testing they are unsupported because I override -mcpu?

Not sure I understand, what is the problem if the test is not supported
with a specific -mcpu?

Thanks

  Andrea

[Bug target/96428] [nvptx] nvptx_gen_shuffle does not handle V2DI mode – Fails with an ICE

2020-08-03 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96428

--- Comment #2 from Tom de Vries  ---
(In reply to Tobias Burnus from comment #0)
> Created attachment 48986 [details]
> Test case (Fortran, use 'gfortran -fopenacc" with nvptx offloading)
> 

With the test-case setup like this:
...
! { dg-do link }
! { dg-additional-options "-O2 -ftree-vectorize" }  
...
I run into the ICE, but with the fix for the ICE in place, I run into:
...
FAIL: libgomp.oacc-fortran/test.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -foffload=nvptx-none  -O  (test for excess errors)
Excess errors:
unresolved symbol two_
...

Can you post a test-case that doesn't fail during linking?

[Bug rtl-optimization/95696] regrename creates overlapping register allocations for vliw

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95696

--- Comment #4 from CVS Commits  ---
The master branch has been updated by Richard Sandiford :

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

commit r11-2507-gd1773f58f3a03e6c764373635fa079fa7526cfcf
Author: Yunde Zhong 
Date:   Mon Aug 3 15:05:02 2020 +0100

regrename: Avoid disrupting SMS schedule [PR95696]

SMS is performed before reload, and each insn in SMS schedule uses
pseudo-register.  After reload, regrename pass try to adjust the hard
registers with def/use chain created by build_def_use.  For now, regrename
pass isn't aware of VLIW bundles created by SMS, it may updated a register
which may not be really unused, which will causes invalid VLIW bundles.
Before the final schedule, we recheck the validation of VLIW bundles and
reschedule the conflicted insns to avoid the above issue.  Rescheduling
the conflicted insns will destroy SMS schedule of the kernel loop, which
would be harmful to performance.

2020-08-03  Yunde Zhong  

gcc/
PR rtl-optimization/95696
* regrename.c (regrename_analyze): New param include_all_block_p
with default value TRUE.  If set to false, avoid disrupting SMS
schedule.
* regrename.h (regrename_analyze): Adjust prototype.

[Bug rtl-optimization/31799] Failed to optimize out test instruction

2020-08-03 Thread david.bolvansky at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31799

--- Comment #6 from Dávid Bolvanský  ---
^ Posted by mistake. Sorry.

[Bug c/96433] Failed to optimize (A / N) * N <= A

2020-08-03 Thread david.bolvansky at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96433

--- Comment #1 from Dávid Bolvanský  ---
Codegen:
https://godbolt.org/z/7EvYj9

foo:
movabs  rdx, -6148914691236517205
mov rax, rdi
mul rdx
mov rax, rdx
and rdx, -2
shr rax
add rdx, rax
xor eax, eax
cmp rdi, rdx
setnb   al
ret
N:
.quad   3

Can be optimized to return true

[Bug rtl-optimization/31799] Failed to optimize out test instruction

2020-08-03 Thread david.bolvansky at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31799

Dávid Bolvanský  changed:

   What|Removed |Added

 CC||david.bolvansky at gmail dot 
com

--- Comment #5 from Dávid Bolvanský  ---
Codegen:
https://godbolt.org/z/7EvYj9

foo:
movabs  rdx, -6148914691236517205
mov rax, rdi
mul rdx
mov rax, rdx
and rdx, -2
shr rax
add rdx, rax
xor eax, eax
cmp rdi, rdx
setnb   al
ret
N:
.quad   3

Can be optimized to return true

[Bug c/96433] New: Failed to optimize (A / N) * N <= A

2020-08-03 Thread david.bolvansky at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96433

Bug ID: 96433
   Summary: Failed to optimize (A / N) * N <= A
   Product: gcc
   Version: tree-ssa
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: david.bolvansky at gmail dot com
  Target Milestone: ---

const __SIZE_TYPE__ N = 3;

int foo(__SIZE_TYPE__ len) {
__SIZE_TYPE__ newlen = (len / N) * N;
return newlen <= len;
}

[Bug target/96428] [nvptx] nvptx_gen_shuffle does not handle V2DI mode – Fails with an ICE

2020-08-03 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96428

--- Comment #1 from Tom de Vries  ---
Tentative patch:
...
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index d8a8fb2d55b..cf53a921e5b 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -1796,6 +1796,44 @@ nvptx_gen_shuffle (rtx dst, rtx src, rtx idx,
nvptx_shuffle_kind kind)
end_sequence ();
   }
   break;
+case E_V2SImode:
+  {
+   rtx src0 = gen_rtx_SUBREG (SImode, src, 0);
+   rtx src1 = gen_rtx_SUBREG (SImode, src, 4);
+   rtx dst0 = gen_rtx_SUBREG (SImode, dst, 0);
+   rtx dst1 = gen_rtx_SUBREG (SImode, dst, 4);
+   rtx tmp0 = gen_reg_rtx (SImode);
+   rtx tmp1 = gen_reg_rtx (SImode);
+   start_sequence ();
+   emit_insn (gen_movsi (tmp0, src0));
+   emit_insn (gen_movsi (tmp1, src1));
+   emit_insn (nvptx_gen_shuffle (tmp0, tmp0, idx, kind));
+   emit_insn (nvptx_gen_shuffle (tmp1, tmp1, idx, kind));
+   emit_insn (gen_movsi (dst0, tmp0));
+   emit_insn (gen_movsi (dst1, tmp1));
+   res = get_insns ();
+   end_sequence ();
+  }
+  break;
+case E_V2DImode:
+  {
+   rtx src0 = gen_rtx_SUBREG (DImode, src, 0);
+   rtx src1 = gen_rtx_SUBREG (DImode, src, 8);
+   rtx dst0 = gen_rtx_SUBREG (DImode, dst, 0);
+   rtx dst1 = gen_rtx_SUBREG (DImode, dst, 8);
+   rtx tmp0 = gen_reg_rtx (DImode);
+   rtx tmp1 = gen_reg_rtx (DImode);
+   start_sequence ();
+   emit_insn (gen_movdi (tmp0, src0));
+   emit_insn (gen_movdi (tmp1, src1));
+   emit_insn (nvptx_gen_shuffle (tmp0, tmp0, idx, kind));
+   emit_insn (nvptx_gen_shuffle (tmp1, tmp1, idx, kind));
+   emit_insn (gen_movdi (dst0, tmp0));
+   emit_insn (gen_movdi (dst1, tmp1));
+   res = get_insns ();
+   end_sequence ();
+  }
+  break;
 case E_BImode:
   {
rtx tmp = gen_reg_rtx (SImode);
...

[Bug ipa/96431] [11 regression] ipa-clone-2.c fails since r13cdbb6a97c3d853cd380e5a03be8e0d35966c1e

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96431

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |11.0
Version|10.0|11.0

[Bug fortran/96325] Unclassifiable statement with syntax similar to a type-bound procedure call is accepted

2020-08-03 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96325

Dominique d'Humieres  changed:

   What|Removed |Added

 CC||seurer at gcc dot gnu.org

--- Comment #21 from Dominique d'Humieres  ---
*** Bug 96432 has been marked as a duplicate of this bug. ***

[Bug testsuite/96432] New test case gfortran.dg/pr96325.f90 in r11-2487 fails to produce executable

2020-08-03 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96432

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #1 from Dominique d'Humieres  ---
Already reported in pr96325.

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

[Bug lto/96385] [8/9/10 Regression] GCC generates separate debug info with undefined symbols without relocations

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96385

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |8.5

[Bug lto/96385] [8/9/10 Regression] GCC generates separate debug info with undefined symbols without relocations

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96385

Richard Biener  changed:

   What|Removed |Added

Summary|[8/9/10/11 Regression] GCC  |[8/9/10 Regression] GCC
   |generates separate debug|generates separate debug
   |info with undefined symbols |info with undefined symbols
   |without relocations |without relocations
  Known to work||11.0

--- Comment #18 from Richard Biener  ---
So let's see whether HPUX or Solaris folks complain.

[Bug lto/96385] [8/9/10/11 Regression] GCC generates separate debug info with undefined symbols without relocations

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96385

--- Comment #17 from CVS Commits  ---
The master branch has been updated by Richard Biener :

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

commit r11-2506-gb32c5d0b72fda2588b4e170e75a9c64e4bf266c7
Author: Richard Biener 
Date:   Mon Aug 3 15:05:37 2020 +0200

lto/96385 - avoid unused global UNDEFs in debug objects

Unused global UNDEFs can have side-effects in some circumstances so
the following patch avoids them by treating them the same as other
to be discarded DEFs - make them local.

2020-08-03  Richard Biener  

PR lto/96385
libiberty/
* simple-object-elf.c
(simple_object_elf_copy_lto_debug_sections): Localize global
UNDEFs and reuse the prevailing name.

[Bug target/95766] Failure to directly use vpbroadcastd for _mm_set1_epi32 when passing unsigned short

2020-08-03 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95766

--- Comment #11 from Kirill Yukhin  ---
(In reply to Jakub Jelinek from comment #10)
> Kirill, any thoughts on that?

I'd prefer your variant, w/o unspecs.

[Bug testsuite/96432] New: New test case gfortran.dg/pr96325.f90 in r11-2487 fails to produce executable

2020-08-03 Thread seurer at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96432

Bug ID: 96432
   Summary: New test case gfortran.dg/pr96325.f90 in r11-2487
fails to produce executable
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

g:e41da82345fb01c4c2641c979a94a975d15312ab, r11-2487


make -k check-gcc-fortran RUNTESTFLAGS=dg.exp=gfortran.dg/pr96325.f90
...
# of expected passes12
# of unresolved testcases   6


spawn -ignore SIGHUP
/home/seurer/gcc/git/build/gcc-test/gcc/testsuite/gfortran/../../gfortran
-B/home/seurer/gcc/git/build/gcc-test/gcc/testsuite/gfortran/../../
-B/home/seurer/gcc/git/build/gcc-test/powerpc64-unknown-linux-gnu/./libgfortran/
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gfortran.dg/pr96325.f90
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never -fdiagnostics-urls=never -fno-diagnostics-show-caret
-fno-diagnostics-show-line-numbers -fdiagnostics-color=never
-fdiagnostics-urls=never -O0 -pedantic-errors
-B/home/seurer/gcc/git/build/gcc-test/powerpc64-unknown-linux-gnu/./libgfortran/.libs
-L/home/seurer/gcc/git/build/gcc-test/powerpc64-unknown-linux-gnu/./libgfortran/.libs
-L/home/seurer/gcc/git/build/gcc-test/powerpc64-unknown-linux-gnu/./libgfortran/.libs
-L/home/seurer/gcc/git/build/gcc-test/powerpc64-unknown-linux-gnu/./libatomic/.libs
-B/home/seurer/gcc/git/build/gcc-test/powerpc64-unknown-linux-gnu/./libquadmath/.libs
-L/home/seurer/gcc/git/build/gcc-test/powerpc64-unknown-linux-gnu/./libquadmath/.libs
-L/home/seurer/gcc/git/build/gcc-test/powerpc64-unknown-linux-gnu/./libquadmath/.libs
-lm -o ./pr96325.exe
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gfortran.dg/pr96325.f90:18:16:
Error: 'foo' at (1) is not an inquiry reference to an intrinsic type component
'r1'
compiler exited with status 1
PASS: gfortran.dg/pr96325.f90   -O0   (test for errors, line 18)
PASS: gfortran.dg/pr96325.f90   -O0  (test for excess errors)
UNRESOLVED: gfortran.dg/pr96325.f90   -O0  compilation failed to produce
executable
...etc...

[Bug debug/96354] [10/11 Regression] ICE in maybe_canonicalize_mem_ref_addr, at gimple-fold.c:4903 since r10-2271-gd81ab49d0586fca0

2020-08-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96354

--- Comment #22 from Richard Biener  ---
(In reply to Jakub Jelinek from comment #21)
> Created attachment 48987 [details]
> gcc11-pr96354.patch
> 
> So like this?

yes.

[Bug libstdc++/96416] address_of() is broken by static_assert in pointer_traits

2020-08-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96416

--- Comment #1 from Jonathan Wakely  ---
I think this is the "correct" behaviour.

The specification of pointer_traits::element_type says that if
Ptr::element_type isn't valid, and Ptr isn't a template that can be "rebound",
then "otherwise, the specialization is ill-formed."

This explicitly says "the specialization" (meaning pointer_traits itself).
Compare this with th rebind member which only says "the instantiation of rebind
is ill-formed".

[Bug ipa/96431] New: [11 regression] ipa-clone-2.c fails since r13cdbb6a97c3d853cd380e5a03be8e0d35966c1e

2020-08-03 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96431

Bug ID: 96431
   Summary: [11 regression] ipa-clone-2.c fails since
r13cdbb6a97c3d853cd380e5a03be8e0d35966c1e
   Product: gcc
   Version: 10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ipa
  Assignee: unassigned at gcc dot gnu.org
  Reporter: clyon at gcc dot gnu.org
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

Hi,

Since r13cdbb6a97c3d853cd380e5a03be8e0d35966c1e, I've noticed that
FAIL: gcc.dg/ipa/ipa-clone-2.c scan-ipa-dump-times cp "Creating a specialized
node of recur_fn/[0-9]*\\." 12

Seen on arm and aarch64, but also on several other targets according to
gcc-testresults.

Occurs since:
commit 13cdbb6a97c3d853cd380e5a03be8e0d35966c1e
Author: Jan Hubicka 
Date:   Sat Aug 1 17:02:24 2020 +0200

Cap frequency of recursive calls by 90%

* predict.c (estimate_bb_frequencies): Cap recursive calls by 90%.

[Bug target/96375] [11 regression] arm/lob[2-5].c fail on some configurations

2020-08-03 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96375

--- Comment #2 from Christophe Lyon  ---
(In reply to akrl from comment #1)
> Created attachment 48968 [details]
> pr96375 lob tests patch
> 
> Hi Christophe,
> 
> The following patch does the job for me.  Would you double check is
> effective for you too?
> 
> Thanks
>   Andrea

Hi,

It does fix the FAIL, thanks.
I suspect you also want to add -mthumb to
check_effective_target_arm_v8_1_lob_ok for consistency.

In practice, how do you exercise these tests given that with the arm-eabi
configurations I'm testing they are unsupported because I override -mcpu?

[Bug c++/96411] erroneous "trait used in its own initializer" error when using concepts in a requirement

2020-08-03 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96411

Patrick Palka  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE
 CC||ppalka at gcc dot gnu.org

--- Comment #1 from Patrick Palka  ---
Confirmed, this is a dup of PR96410 it seems.

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

[Bug c++/96410] A lambda with a template parameter list inside the template function using C++20 requires clauses is not usable in a constant expression

2020-08-03 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96410

Patrick Palka  changed:

   What|Removed |Added

 CC||barry.revzin at gmail dot com

--- Comment #3 from Patrick Palka  ---
*** Bug 96411 has been marked as a duplicate of this bug. ***

[Bug ipa/96430] New: internal compiler error: in verify_range, at value-range.cc:354

2020-08-03 Thread jozefl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96430

Bug ID: 96430
   Summary: internal compiler error: in verify_range, at
value-range.cc:354
   Product: gcc
   Version: 11.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ipa
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jozefl at gcc dot gnu.org
CC: marxin at gcc dot gnu.org
  Target Milestone: ---

The GCC selftest "range_tests" is failing for msp430-elf since

commit 4ba9fb0a3e65254cb5d8cb0a3bc67bbef8ed2fcf
Author: Aldy Hernandez 
Date:   Thu Jul 30 11:30:18 2020 +0200

Multi-range implementation for value_range (irange).

> ./gcc/xgcc -B./gcc/ -v

> Target: msp430-elf
> Configured with: ../configure --target=msp430-elf --enable-languages=c,c++

./gcc/xgcc -B./gcc/ -xc -nostdinc /dev/null -S -o /dev/null
-fself-test=../../gcc/testsuite/selftests
In function 'test_fn':
cc1: internal compiler error: in verify_range, at value-range.cc:354
0x6cbc39 irange::verify_range()
../../gcc/value-range.cc:354
0xffdb2b irange::irange_set(tree_node*, tree_node*)
../../gcc/value-range.cc:157
0xffdb2b irange::set(tree_node*, tree_node*, value_range_kind)
../../gcc/value-range.cc:211
0x141200b int_range<255u>::int_range(tree_node*, tree_node*, value_range_kind)
../../gcc/value-range.h:412
0x141200b operator_rshift::op1_range(irange&, tree_node*, irange const&, irange
const&) const
../../gcc/range-op.cc:1635
0x1414223 operator_tests
../../gcc/range-op.cc:3534
0x1419556 selftest::range_tests()
../../gcc/range-op.cc:3826
0x135513c test_ranges
../../gcc/function-tests.c:582
0x135513c selftest::function_tests_c_tests()
../../gcc/function-tests.c:690
0x14265ce selftest::run_tests()
../../gcc/selftest-run-tests.c:108
0xd19922 toplev::run_self_tests()
../../gcc/toplev.c:2391

[Bug c++/96410] A lambda with a template parameter list inside the template function using C++20 requires clauses is not usable in a constant expression

2020-08-03 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96410

Patrick Palka  changed:

   What|Removed |Added

   Last reconfirmed||2020-08-03
 Ever confirmed|0   |1
   Target Milestone|--- |10.3
 CC||ppalka at gcc dot gnu.org
 Status|UNCONFIRMED |NEW
  Known to fail||10.1.0, 10.2.0, 11.0

--- Comment #2 from Patrick Palka  ---
Confirmed on the 10 branch and trunk.

[Bug c++/96409] A lambda with a template parameter list inside the template function using C++20 nested requirements clauses occurs internal compiler error

2020-08-03 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96409

Patrick Palka  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
  Known to fail||10.1.0, 10.2.0, 11.0
 CC||ppalka at gcc dot gnu.org
   Last reconfirmed||2020-08-03
   Target Milestone|--- |10.3

--- Comment #3 from Patrick Palka  ---
Confirmed on the 10 branch and trunk.

[Bug lto/96385] [8/9/10/11 Regression] GCC generates separate debug info with undefined symbols without relocations

2020-08-03 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96385

--- Comment #16 from Alan Modra  ---
It looks fine to me, assuming you don't need to keep any of these undefined
symbols.

[Bug d/96429] d: Pointer subtraction uses TRUNC_DIV_EXPR

2020-08-03 Thread ibuclaw at gdcproject dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96429

--- Comment #1 from Iain Buclaw  ---
--- a/gcc/d/expr.cc
+++ b/gcc/d/expr.cc
@@ -620,6 +620,18 @@ public:
break;

   case TOKdiv:
+   /* Determine if the div expression is a lowered pointer diff operation.
+  The front-end rewrites `(p1 - p2)' into `(p1 - p2) / stride'.  */
+   if (MinExp *me = e->e1->isMinExp ())
+ {
+   if (me->e1->type->ty == Tpointer && me->e2->type->ty == Tpointer
+   && e->e2->op == TOKint64)
+ {
+   code = EXACT_DIV_EXPR;
+   break;
+ }
+ }
+
code = e->e1->type->isintegral ()
  ? TRUNC_DIV_EXPR : RDIV_EXPR;
break;

[Bug rtl-optimization/61494] -fsignaling-nans not taken into account for x - 0.0

2020-08-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61494

--- Comment #3 from CVS Commits  ---
The master branch has been updated by Roger Sayle :

https://gcc.gnu.org/g:919c9d4bd3db7da09061af3b6f2a9193bf7bae45

commit r11-2502-g919c9d4bd3db7da09061af3b6f2a9193bf7bae45
Author: Roger Sayle 
Date:   Mon Aug 3 13:15:58 2020 +0100

PR rtl-optimization 61494: Preserve x-0.0 with HONOR_SNANS.

The following patch avoids simplifying x-0.0 to x when -fsignaling-nans
is specified, which resolves PR rtl-optimization 61494.  Indeed, running
the test program attached to that PR now reports no failures.

2020-08-02  Roger Sayle  

gcc/ChangeLog
PR rtl-optimization/61494
* simplify-rtx.c (simplify_binary_operation_1) [MINUS]: Don't
simplify x - 0.0 with -fsignaling-nans.

[Bug target/96415] GCC produces incorrect code for loops with -O3 for skylake-avx512 and icelake-server

2020-08-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96415

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
Can't reproduce:
for i in .c -2.c; do /opt/notnfs/gcc-bisect/obj/gcc/cc1plus.r11-2464 -quiet -O3
-march=skylake-avx512 pr96415$i; done; g++ -o pr96415{,.s,-2.s}; ./pr96415
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 
Though, without -mprefer-vector-width=512 it doesn't even generate any
post-AVX2 insns, and with that can't reproduce either.
Maybe sde is buggy?

[Bug target/96402] [10/11 Regression] Wrong code with -moutline-atomics

2020-08-03 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96402

--- Comment #6 from ktkachov at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #5)
> Created attachment 48985 [details]
> gcc11-pr96402.patch
> 
> So, something like this then?  Then the SIZE 16 compare and swap matches
> what the 1/2/4/8 SIZE ones do.

Looks like it, yes. Ok if it passes bootstrap testing

  1   2   >