[Bug tree-optimization/117113] ICE on valid code at -O3 with "-fno-tree-dce -fno-inline" on x86_64-linux-gnu: verify_ssa failed

2024-10-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117113

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
   Last reconfirmed||2024-10-13
   Keywords||ice-checking

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

[Bug preprocessor/117124] New: Header file contents get modified when macro defined before header file inclusion

2024-10-13 Thread akhil.k.joyson at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117124

Bug ID: 117124
   Summary: Header file contents get modified when macro defined
before header file inclusion
   Product: gcc
   Version: 11.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
  Assignee: unassigned at gcc dot gnu.org
  Reporter: akhil.k.joyson at gmail dot com
  Target Milestone: ---

Created attachment 59338
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59338&action=edit
Also try with custom header

Hi team,

If I #define with any macro which is also available in the header files, then
the header file data is also getting changed/corrupted. I was not expecting the
header file content to be modified since the header file is either from std lib
or user-defined lib.

Please check into this issue.
If required I can explain with further Images/explanations.

Regards,
Akhil

[Bug preprocessor/117124] Header file contents get modified when macro defined before header file inclusion

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117124

Sam James  changed:

   What|Removed |Added

 CC||sjames at gcc dot gnu.org

--- Comment #1 from Sam James  ---
It's UB to redefine keywords like that. The standard headers are free to
clobber.

Also, please use text rather than screenshots as they're not accessible.

You should be able to do inspection with gcc -E or -save-temps and resultant
.i.

[Bug preprocessor/117124] Header file contents get modified when macro defined before header file inclusion

2024-10-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117124

Andrew Pinski  changed:

   What|Removed |Added

 Resolution|--- |INVALID
   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=109994
 Status|UNCONFIRMED |RESOLVED

--- Comment #3 from Andrew Pinski  ---
C++ warning is recorded as PR 109994 .

C I think is not undefined but just not specified.

[Bug preprocessor/117124] Header file contents get modified when macro defined before header file inclusion

2024-10-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117124

--- Comment #2 from Andrew Pinski  ---
>If I #define with any macro which is also available in the header files, 

Yes that is expected and the behavior that the C standard preprocessor does.

For define extern, GCC should most likely warn about that case.

[Bug preprocessor/117124] Header file contents get modified when macro defined before header file inclusion

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117124

--- Comment #4 from Sam James  ---
"If the program defines a reserved identifier or attribute token described in
6.7.12.1 as a macro name,
or removes (with #undef) any macro definition of an identifier in the first
group listed above or
attribute token described in 6.7.12.1, the behavior is undefined."

[Bug preprocessor/117125] No error by if it terminating comment only provided

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117125

--- Comment #2 from Sam James  ---
Please keep in mind the comment I made wrt screenshots. It's OK if they're
complementary but please try to avoid them by themselves.

[Bug c/117126] New: GCC 14 generates redundant movq xmm1, xmm1 instructions with -O2 optimization, leading to code bloat (regression from GCC 13.x)

2024-10-13 Thread peter.fors at mindkiller dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117126

Bug ID: 117126
   Summary: GCC 14 generates redundant movq xmm1, xmm1
instructions with -O2 optimization, leading to code
bloat (regression from GCC 13.x)
   Product: gcc
   Version: 14.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: peter.fors at mindkiller dot com
  Target Milestone: ---

This is a regression from GCC 13.x to GCC 14. The generated code contains
redundant movq xmm1, xmm1 and movq xmm0, xmm0 instructions when using -O2
optimization. The issue occurs in all GCC 14 releases, including the current
trunk.

Steps to Reproduce: Compile the following code using gcc -O2:

Example code:
#include 

float velocityX = 0;
float velocityY = 0;
const float maxSpeed = 3.0;
const float rampSpeed = 4.0;

float velocity[2] = {0.0f, 0.0f} ;
float position[2] = {0.0f, 0.0f};

void update(float analog[2], float deltaTime) {
   float targetVelocity[2] = {analog[0] * maxSpeed, analog[1] * maxSpeed};

   velocity[0] += (targetVelocity[0] - velocity[0]) * rampSpeed * deltaTime;
   velocity[1] += (targetVelocity[1] - velocity[1]) * rampSpeed * deltaTime;
   position[0] += velocity[0] * deltaTime;
   position[1] += velocity[1] * deltaTime;
}

Godbolt Example: https://godbolt.org/z/j5xKxbasf  (same code as above with
gcc14.1 and 13.3 assembly output set up with -O2).

Expected Behavior: The code should not contain redundant movq xmm1, xmm1 and
movq xmm0, xmm0 instructions.

Actual Behavior: GCC 14 generates redundant move-to-self instructions (movq
xmm1, xmm1 and movq xmm0, xmm0) around functional instructions.

Regression Window:

Last tested GCC 13.1 13.2 13.3 (no issue)
First release of GCC 14 shows the issue
Issue persists in all GCC 14 versions including trunk

Additional Info: Using -march=native reduces the number of redundant
instructions, but they are still present.

[Bug preprocessor/117118] [12/13/14/15 Regression] ICE with pragma message and raw strings

2024-10-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117118

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
Summary|internal compiler error:|[12/13/14/15 Regression]
   |Segmentation fault in   |ICE with pragma message and
   |c_lex_with_flags(tree_node* |raw strings
   |*, unsigned int*, unsigned  |
   |char*, int) |
   Target Milestone|--- |12.5
   Last reconfirmed||2024-10-13

--- Comment #1 from Andrew Pinski  ---
Reduced down to just:
```
#pragma message R""
```

[Bug target/117116] [15 regression] error: unrecognizable insn: with -march=znver3

2024-10-13 Thread dcb314 at hotmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117116

David Binderman  changed:

   What|Removed |Added

 CC||rguenther at suse dot de

--- Comment #1 from David Binderman  ---
trunk $ git bisect bad b3221b838ee7
b3221b838ee7ae7848e7194603acb18294b3 is the first bad commit
commit b3221b838ee7ae7848e7194603acb18294b3 (HEAD)
Author: Richard Biener 
Date:   Wed Oct 9 15:31:59 2024 +0200

Allow SLP store of mixed external and constant

Adding Richard for their best advice.

[Bug preprocessor/117125] New: No error by if it terminating comment only provided

2024-10-13 Thread akhil.k.joyson at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117125

Bug ID: 117125
   Summary: No error by if it terminating comment only provided
   Product: gcc
   Version: 11.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
  Assignee: unassigned at gcc dot gnu.org
  Reporter: akhil.k.joyson at gmail dot com
  Target Milestone: ---

Created attachment 59339
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59339&action=edit
Preprocessor throwing error only when the Terminating comment in missing.

Hi team,

Expecting error similarly when there is no terminating comment present and only
staring comment present.

Thanks and regards,
Akhil

[Bug libstdc++/106676] [C++20] Automatic iterator_category detection misbehaves when `::reference` is an rvalue reference, refuses to accept a forward iterator

2024-10-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106676

Jonathan Wakely  changed:

   What|Removed |Added

 Status|REOPENED|ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org

[Bug preprocessor/117125] No error by if it terminating comment only provided

2024-10-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117125

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #1 from Andrew Pinski  ---
* / are 2 valid tokens and not related to comments which only start with the
`/*` token.

[Bug target/117126] GCC 14 generates redundant movq xmm1, xmm1 instructions with -O2 optimization, leading to code bloat (regression from GCC 13.x)

2024-10-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117126

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||missed-optimization
   Severity|normal  |enhancement

--- Comment #1 from Andrew Pinski  ---
>GCC 14 generates redundant move-to-self instructions
They are not exactly move-to-self instructions, they zero out the upper half
64bit of the SSE registers.

This is expected as you need to zero out the upper half of the SSE registers
otherwise you might get some traps/fp exceptions (due to NaNs).

Use -fno-trapping-math if you don't want that behavior and you will see the
movqs are gone.

Though I wonder if the backend could do a slightly better job of tracking where
the zeroing of the upper half is needed.

[Bug rtl-optimization/116488] [15 Regression] wrong code at -O{s,2,3} with "-fno-forward-propagate" on x86_64-linux-gnu

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116488

Sam James  changed:

   What|Removed |Added

   Last reconfirmed|2024-10-01 00:00:00 |2024-10-13

--- Comment #4 from Sam James  ---
Reproduced on trunk.

[Bug libstdc++/106676] [C++20] Automatic iterator_category detection misbehaves when `::reference` is an rvalue reference, refuses to accept a forward iterator

2024-10-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106676

--- Comment #7 from Jonathan Wakely  ---
(In reply to Avi Kivity from comment #5)
> I believe this is causing application of std::views::transform() not to
> model the underlying view's category, since its iterators can't return an
> lvalue.

No, your code just has a bug, see
https://eel.is/c++draft/range.transform.iterator#2.sentence-1
"The member typedef-name iterator_category is defined if and only if Base
models forward_range."

So transform_view's iterator has no iterator_category for an input range.

[Bug preprocessor/117124] Header file contents get modified when macro defined before header file inclusion

2024-10-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117124

--- Comment #5 from Jonathan Wakely  ---
Keywords are not reserved identifiers, so for some reason C doesn't say this is
undefined.

I suppose you just get what you deserve when you replace 'extern' with
something that makes the program ill-formed.

[Bug preprocessor/117124] Header file contents get modified when macro defined before header file inclusion

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117124

--- Comment #6 from Sam James  ---
But the functions he redefines are, right?

[Bug c++/117127] New: Feature request: Warning on useless 'const' in a function declaration

2024-10-13 Thread rdiez-2006 at rd10 dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117127

Bug ID: 117127
   Summary: Feature request: Warning on useless 'const' in a
function declaration
   Product: gcc
   Version: 14.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rdiez-2006 at rd10 dot de
  Target Milestone: ---

Sometimes, I forget to remove useless 'const' modifiers in function
declarations  in header files when copying the function prototype from the .cpp
file. A simplified example is:

file.h:

// Non-defining function declaration ("prototype" in C terminology).
int f ( const int a );  // 'const' is useless here.


file.cpp:

// Function definition.
int f ( const int a )  // 'const' does make sense here.
{
   return a;
}

I would like GCC to issue warnings for such useless 'const' modifiers in
function declarations (not definitions). At the very least, it would save some
head scratching during code reviews.

Apparently, clang-tidy has option 'readability-avoid-const-params-in-decls' for
such a warning:

https://clang.llvm.org/extra/clang-tidy/checks/readability/avoid-const-params-in-decls.html

There was a recent discussion about this in the mailing list:
Warning on useless 'const' in a function declaration
Mon Oct 7 14:24:38 GMT 2024
https://gcc.gnu.org/pipermail/gcc-help/2024-October/143768.html

[Bug c++/116954] [13/14/15 Regression] format attribute is being lost for function template with a depedent type argument and decl merging since r13-4160-g2efb237ffc68ec

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116954

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c++/116914] [15 regression] ICE when building plasma-nm-6.1.5 (gimplify_var_or_parm_decl, at gimplify.cc:3309)

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116914

Richard Biener  changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #5 from Richard Biener  ---
The reduced testcase passes for me, the unreduced has weird errors about

/usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/numbers:230:58: error:
unable to find numeric literal operator ‘operator""Q’

[Bug c++/116914] [15 regression] ICE when building plasma-nm-6.1.5 (gimplify_var_or_parm_decl, at gimplify.cc:3309)

2024-10-13 Thread arsen at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116914

--- Comment #6 from Arsen Arsenović  ---
You need -fext-numeric-literals or a GNU C++ -std - the original was built with
-std=gnu++20.

[Bug bootstrap/117110] [15 Regression] Bootstrap broken on FreeBSD with build/genmatch

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117110

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug bootstrap/117109] [15 Regression] "make gcc.pot" fails with "emit_diagnostic used incompatibly" since r15-4081-g385a232229a5b4 (diagnostics: bulletproof opening of SARIF output)

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117109

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/117108] [12/13/14/15 Regression] internal compiler error: error reporting routines re-entered at build_c_cast(unsigned int, tree_node*, cp_expr)

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117108

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P4
Version|unknown |15.0

[Bug tree-optimization/117112] missed vectorization opportunity: "not vectorized: no grouped stores in basic block"

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117112

Richard Biener  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |WAITING
 CC||rguenth at gcc dot gnu.org
   Keywords||missed-optimization
   Last reconfirmed||2024-10-13

--- Comment #1 from Richard Biener  ---
I'm not sure whether you think the bug is that the compiler doesn't see arr1[i]
is equal to 1 and thus arr2[i] equal to 2 and k equal to 0.  I don't think
that's a very useful bugreport.

For the generic

int data[20];
void f(int * __restrict arr1, int * __restrict arr2)
{
  for(int i = 0; i < 20; i++){
  arr2[i] = 2 * arr1[i];
  int k = arr2[i] % arr1[i];
  data[i] = data[i - k] + 1;
  }
}

the data[i-k] access does not have an affine evolution and thus needs to
be vectorized with gather but the data[i] store might conflict and we do
not yet have support for handling conflicts of gather/scatter at runtime
say via maintaining evaluation by using a variable effective vector length
via masking.

[Bug middle-end/116510] [15 Regression] ice in decompose, at wide-int.h:1049

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116510

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

--- Comment #11 from Richard Biener  ---
Andi, can you fix this please?

[Bug rtl-optimization/116488] [15 Regression] wrong code at -O{s,2,3} with "-fno-forward-propagate" on x86_64-linux-gnu

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116488

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/116506] [15 Regression] Destructors of temporary awaitables are executed too early

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116506

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug target/116833] [12/13/14/15 Regression] Symbian: incorrect configuration for crtfastmath.o

2024-10-13 Thread fedor_qd at mail dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116833

--- Comment #6 from Fiodar  ---
I look for floating modes in symbian SDK docs.

Here link(now that site and webarchive down) -
https://docs.huihoo.com/symbian/nokia-symbian3-developers-library-v0.8/GUID-D525B9A9-6B32-535B-A282-60C85A48D3FB.html

Citate from local docs:

Symbian OS supports the use of VFPv2 on platforms where the required hardware
is present in both RunFast mode and in IEEE-without-exceptions mode. See ARM's
Vector Floating-point Coprocessor Technical reference Manual for more details
on the coprocessor, its architecture, and its execution modes.

Note that Symbian OS does not support floating point exceptions in any mode.

An application can set (and check) the execution mode at run time by calling
User::SetFloatingPointMode(), and passing one of the TFloatingPointMode enum
values, which represent the possible modes.

Description
Sets the hardware floating point mode for the current thread. This does not
affect software floating point calculations. The rounding mode can also be set.
New threads created by this thread will inherit the mode, thus to set the mode
for a whole process, call this method before you create any new threads.

That class member has declaration:
static IMPORT_C TInt SetFloatingPointMode(TFloatingPointMode aMode,
TFloatingPointRoundingMode aRoundingMode=EFpRoundToNearest);

Return value:
KErrNone if successful, KErrNotSupported if the hardware does not support the
chosen mode, or there is no floating point hardware present.

TFloatingPointMode declares two states: EFpModeRunFast and
EFpModeIEEENoExceptions.

EFpModeRunFast - Run in the fastest mode available - results of calculations
may not be exactly as the IEEE standard in some cases. On ARM VFPv2 hardware
this corresponds to RunFast mode.

EFpModeIEEENoExceptions - Perform all calculations as specified in the IEEE
standard, but do not generate floating point exceptions. This is compatible
with the Java floating point model. This is the default.

TFloatingPointRoundingMode declares four states:EFpRoundToNearest,
EFpRoundToPlusInfinity, EFpRoundToMinusInfinity, EFpRoundToZero.

[Bug ipa/111613] [12/13 Regression] Bit field stores can be incorrectly optimized away when -fstore-merging is in effect since r12-5383-g22c242342e38eb

2024-10-13 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111613

--- Comment #12 from GCC Commits  ---
The releases/gcc-14 branch has been updated by Sam James :

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

commit r14-10780-gd8ac855f796b0cf47d80c713d2f01943dffec0b7
Author: Sam James 
Date:   Mon Jul 29 21:47:16 2024 +0100

testsuite: fix PR111613 test

PR ipa/111613
* gcc.c-torture/pr111613.c: Rename to..
* gcc.c-torture/execute/pr111613.c: ...this.

(cherry picked from commit 5e5d7a88932b132437069f716160f8b20862890b)

[Bug libstdc++/117094] ranges::fill misses std::move for output_iterator

2024-10-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117094

Jonathan Wakely  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Ever confirmed|0   |1
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2024-10-13

[Bug ipa/111613] [12/13 Regression] Bit field stores can be incorrectly optimized away when -fstore-merging is in effect since r12-5383-g22c242342e38eb

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111613

--- Comment #13 from Sam James  ---
richi or honza: can I test and queue backports for the IPA fixes (the slew from
the other month, inc. this one) at least for 13, possibly 12 but don't mind
waiting more there?

[Bug libstdc++/115444] std::copy_n generates more code than needed

2024-10-13 Thread alfredo.correa at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115444

--- Comment #8 from Alfredo Correa  ---
FWIIW, this is the origin of the problem,
https://gitlab.com/correaa/boost-multi#broadcast-infinite-views, implementing
an iterator type that supports stride == 0. 
This doesn't form a proper random access iterator, however there is no reason
why a simple implementation of `copy_n` shouldn't work.

[Bug c++/92900] Cannot use member of packed struct in constexpr

2024-10-13 Thread egallager at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92900

--- Comment #5 from Eric Gallager  ---
(In reply to Eric Gallager from comment #1)
> possibly related to bug 60972

...and, from the other direction, bug 68160 and bug 36566

[Bug c++/116914] [15 regression] ICE when building plasma-nm-6.1.5 (gimplify_var_or_parm_decl, at gimplify.cc:3309) with -std=gnu++20

2024-10-13 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116914

--- Comment #18 from Iain Sandoe  ---
Created attachment 59340
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59340&action=edit
patch under test

The coroutines implementation (intentionally) did not include support for ({})
which is an extension... however, it seems that we now use this internally to
the compiler (and end user also) - so we're working on support for it.

This is the first part of that support - and I think is enough to resolve this
bug - you might need the patch on PR116506 as well.

[Bug middle-end/116884] [13/14/15 Regression] Bogus strcpy -Warray-bounds warning following memset of destination after r13-455

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116884

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug middle-end/116891] [12/13/14/15 Regression] invalid optimization of -fma(-x,x,-z) when -03 and -frounding-math are used

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116891

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug tree-optimization/116855] [14/15 Regression] Unsafe early-break vectorization

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116855

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug target/116833] [12/13/14/15 Regression] Symbian: incorrect configuration for crtfastmath.o

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116833

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P4

[Bug target/116822] [15 regression] RISC-V: ICE in compute_nregs_for_mode, at config/riscv/riscv-vector-costs.cc

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116822

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug tree-optimization/116835] [12/13/14/15 Regression] phiprop will prop back into a loop

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116835

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c++/116880] [15 Regression] too early coroutine destruction of co_await on nix-2.24.8

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116880

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug rtl-optimization/116783] [14/15 Regression] Wrong code at -O2 with late pair fusion pass (wrong alias analysis)

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116783

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug middle-end/116753] [13/14/15 Regression] GCC trunk (-O3) can't fold a loop into a constant

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116753

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug tree-optimization/116747] [12/13/14/15 Regression] ICE on valid code at -O3 on x86_64-linux-gnu: Segmentation fault

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116747

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c++/116682] [12/13/14/15 Regression] ICE with enum definition inside a generic lamda (inside a template function) argument converting to an int with constexpr

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116682

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c/116726] [14/15 Regression] compiler segfault when using certain struct redefinitions

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116726

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #11 from Richard Biener  ---
I assume fixed.

[Bug target/116627] [14/15 Regression] armv6l: ICE in kernel's net/ipv4/ipmr.c

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116627

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #9 from Richard Biener  ---
Fixed then I guess.

[Bug rtl-optimization/116645] [13/14/15 regression] Huge performance loss after 13.2.0 compiler upgrade; reload CSE regs has scalability issues

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116645

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c++/117114] [15 Regression] -Woverloaded-virtual false positives on multiple inheritance since r15-4282-g60163c85730e6b

2024-10-13 Thread simartin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117114

--- Comment #4 from Simon Martin  ---
Submitted https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665222.html to
restore the rust front-end build.

[Bug target/116600] [12/13/14/15 Regression] internal compiler error: in maybe_record_trace_start, at dwarf2cfi.cc:2584 since r7-5127-g827ab47ab1f

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116600

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug target/116587] [14/15 Regression] ICE: in lra_split_hard_reg_for, at lra-assigns.cc:1868 (unable to find a register to spill) {*andndi3_doubleword_bmi} with custom flags

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116587

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug target/116589] [15 regression] vectorization regressions on aarch64 since r15-1575-gea8061f46a30

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116589

--- Comment #6 from Richard Biener  ---
What's remaining?

[Bug target/116564] [12/13/14/15 Regression] aarch64: gcc hangs when compiling vst2_f64 instrinsic at -O1 and above since r12-4910-g66f206b853

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116564

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug rtl-optimization/116541] [14/15 Regression] Inefficient missing use of reg+reg addressing modes since g:db4e496aadf1d7ab1c5af24410394d1551ddd3f0

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116541

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug ipa/116526] [12/13/14/15 Regression] ICE: in get_partitioning_class, at symtab.cc:2190 with -O -fopenacc -fprofile-generate -flto

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116526

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
 CC||hubicka at gcc dot gnu.org

[Bug target/117116] New: error: unrecognizable insn: with -march=znver3

2024-10-13 Thread dcb314 at hotmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117116

Bug ID: 117116
   Summary: error: unrecognizable insn: with -march=znver3
   Product: gcc
   Version: 15.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

This C code:

typedef int (*StmFct)();
typedef struct {
  StmFct fct_getc;
  StmFct fct_putc;
  StmFct fct_flush;
  StmFct fct_close
} StmInf;
StmInf TTY_Getc_pstm;
int TTY_Getc() {
  TTY_Getc_pstm.fct_getc = TTY_Getc;
  TTY_Getc_pstm.fct_putc = TTY_Getc_pstm.fct_flush = TTY_Getc_pstm.fct_close =
  (StmFct)1;
}

when compiled by recent gcc trunk, does this:

cvise $ /home/dcb40b/gcc/results.20241009.asan.ubsan/bin/gcc -c -w -O2
-march=znver3 bug1053.c
cvise $ /home/dcb40b/gcc/results.20241010.asan.ubsan/bin/gcc -c -w -O2
-march=znver3 bug1053.c
bug1053.c: In function ‘TTY_Getc’:
bug1053.c:13:1: error: unrecognizable insn:
   13 | }
  | ^
(insn 8 7 9 2 (set (reg:V2DI 103)
(vec_merge:V2DI (vec_duplicate:V2DI (symbol_ref:DI ("TTY_Getc") [flags
0x3] ))
(reg:V2DI 103)
(const_int 1 [0x1]))) "bug1053.c":10:26 -1
 (nil))
during RTL pass: vregs
bug1053.c:13:1: internal compiler error: in extract_insn, at recog.cc:2882
0x22f36ad internal_error(char const*, ...)

Git hashes are g:4f97411c0d45dc3d and g:a17a9bdcb3f749b8.

[Bug rtl-optimization/116244] [15 Regression] reload ICE building libstdc++ for coldfire

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116244

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug tree-optimization/116083] [14/15 Regression] Re-surfacing SLP vectorization slowness for gcc.dg/pr87985.c

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116083

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug ipa/116068] [15 Regression] ICE: in bitmap_alloc, at bitmap.cc:785 with -Os -flto -ffat-lto-objects -floop-parallelize-all

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116068

Richard Biener  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org
   Priority|P3  |P1

[Bug testsuite/116061] [15 regression] new test case gcc.dg/pr116034.c from r15-2220-gb9cefd67a2a464 fails execution on BE

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116061

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #9 from Richard Biener  ---
Fixed(?)

[Bug tree-optimization/116481] [12/13/14/15 Regression] `arrays of functions are not meaningful` error message happens with -W -Wall -O2 even though there are no arrays of function types used

2024-10-13 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116481

--- Comment #12 from GCC Commits  ---
The master branch has been updated by Richard Biener :

https://gcc.gnu.org/g:1506027347776a2f6ec5b92d56ef192e85944e2e

commit r15-4299-g1506027347776a2f6ec5b92d56ef192e85944e2e
Author: Richard Biener 
Date:   Sun Oct 13 11:42:27 2024 +0200

tree-optimization/116481 - avoid building function_type[]

The following avoids building an array type with function or method
element type during diagnosing an array bound violation as this
will result in an error, rejecting a program with a not too useful
error message.  Instead build such array type manually.

PR tree-optimization/116481
* pointer-query.cc (build_printable_array_type):
Build an array types with function or method element type
manually to avoid bogus diagnostic.

* gcc.dg/pr116481.c: New testcase.

[Bug tree-optimization/116481] [12/13/14 Regression] `arrays of functions are not meaningful` error message happens with -W -Wall -O2 even though there are no arrays of function types used

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116481

Richard Biener  changed:

   What|Removed |Added

Summary|[12/13/14/15 Regression]|[12/13/14 Regression]
   |`arrays of functions are|`arrays of functions are
   |not meaningful` error   |not meaningful` error
   |message happens with -W |message happens with -W
   |-Wall -O2 even though there |-Wall -O2 even though there
   |are no arrays of function   |are no arrays of function
   |types used  |types used
  Known to work||15.0
   Priority|P3  |P2

[Bug tree-optimization/116213] [14/15 regression] -Wmaybe-uninitialized in tree-ssa-loop-niter.cc since r14-3460-gabf915193fbf72

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116213

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c++/116064] [15 Regression] SPEC 2017 523.xalancbmk_r failed to build

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116064

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #10 from Richard Biener  ---
So - fixed?

[Bug middle-end/116065] [13/14 Regression] Function attribute optimize() might make ISA target attribute broken

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116065

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
 Target||aarch64 x86_64-*-*
  Known to work||15.0
Summary|[13/14/15 Regression]   |[13/14 Regression] Function
   |Function attribute  |attribute optimize() might
   |optimize() might make ISA   |make ISA target attribute
   |target attribute broken |broken

--- Comment #13 from Richard Biener  ---
Fixed on trunk sofar(?)

[Bug middle-end/26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163
Bug 26163 depends on bug 116064, which changed state.

Bug 116064 Summary: [15 Regression] SPEC 2017 523.xalancbmk_r failed to build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116064

   What|Removed |Added

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

[Bug target/116059] [14/15 Regression] Miscompile at -O2 since r14-6420-g85c5efcffed

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116059

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug rtl-optimization/116053] [14/15 Regression] during RTL pass: cprop_hardreg ICE: verify_flow_info failed: missing REG_EH_REGION note at the end of bb 2 with -O1 -finstrument-functions -fno-forward

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116053

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug target/116030] [15 regression] ICE "could not split insn" in final_scan_insn_1, at final.cc on power pc since r15-1576-g6274f10318d053

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116030

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug tree-optimization/115895] [15 Regression] FAIL: gcc.dg/vect/pr115385.c execution test with -march=znver4 --param partial-vector-usage=2

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115895

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug rtl-optimization/115933] [15 Regression] wrong code at -O1 with "-fno-tree-loop-optimize -ftree-vrp -fno-tree-ch -fgcse" on x86_64-linux-gnu

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115933

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug ipa/115815] [13/14 Regression] ICE: in purge_all_uses, at ipa-param-manipulation.cc:632 with -O2 -flto and incorrect usage of attribute destructor

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115815

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
  Known to work||15.0
Summary|[13/14/15 Regression] ICE:  |[13/14 Regression] ICE: in
   |in purge_all_uses, at   |purge_all_uses, at
   |ipa-param-manipulation.cc:6 |ipa-param-manipulation.cc:6
   |32 with -O2 -flto and   |32 with -O2 -flto and
   |incorrect usage of  |incorrect usage of
   |attribute destructor|attribute destructor

[Bug target/115777] [12/13/14/15 regression] Severe performance regression on insertion sort at -O2 or above

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115777

Richard Biener  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Priority|P3  |P2

--- Comment #4 from Richard Biener  ---
Mine.

[Bug tree-optimization/115869] [13/14/15 Regression] Wrong constant evaluation with vector of struct due to loop interchange

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115869

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug tree-optimization/115825] [12/13/14/15 Regression] Loop unrolling increases code size with -Os

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115825

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug tree-optimization/116585] [12/13/14 Regression] SSA corruption with -O3

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116585

Richard Biener  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||12.4.1, 13.3.1, 14.2.1
 Resolution|--- |FIXED

--- Comment #11 from Richard Biener  ---
Fixed.

[Bug tree-optimization/117112] missed vectorization opportunity: "not vectorized: no grouped stores in basic block"

2024-10-13 Thread 652023330028 at smail dot nju.edu.cn via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117112

--- Comment #2 from Yi <652023330028 at smail dot nju.edu.cn> ---
(In reply to Richard Biener from comment #1)

Thank you very much for your reply.

> I'm not sure whether you think the bug is that the compiler doesn't see
> arr1[i] is equal to 1 and thus arr2[i] equal to 2 and k equal to 0.

Yes, when the value of arr1 is within a certain range, the value of k is always
equal to 0.

In addition, when the size of the array is 16, the compiler seems to see that k
is equal to 0. (https://godbolt.org/z/Yhxa75765)
Is there a limit to what the compiler can do when the array size is large?

[Bug target/117095] [13/14/15 Regression] Wrong code since r13-5103-g7c9f20fcfdc2d8

2024-10-13 Thread stefansf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117095

--- Comment #3 from Stefan Schulze Frielinghaus  
---
Calling cse_insn() for

(insn 99 98 100 12 (set (reg:SI 138)
(const_int 1 [0x1])) "t.c":9:31 1507 {*movsi_zarch}
 (nil))

results in a call to insert_regs() where we have

(gdb) call debug_rtx(x)
(reg:SI 138)
(gdb) call dump_class(classp)
Equivalence chain for (const_int 1 [0x1]): 
(const_int 1 [0x1])
(reg:SI 165)

So indeed cse2 decided that pseudo 165 holds constant 1.  I didn't spot the
point where cse2 decides this.  Any idea where to start?

[Bug target/117095] [13/14/15 Regression] Wrong code since r13-5103-g7c9f20fcfdc2d8

2024-10-13 Thread stefansf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117095

--- Comment #4 from Stefan Schulze Frielinghaus  
---
Created attachment 59331
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59331&action=edit
cse2 dump

[Bug tree-optimization/117112] missed vectorization opportunity: "not vectorized: no grouped stores in basic block"

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117112

Richard Biener  changed:

   What|Removed |Added

 Status|WAITING |NEW

[Bug tree-optimization/117112] missed vectorization opportunity: "not vectorized: no grouped stores in basic block"

2024-10-13 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117112

--- Comment #3 from rguenther at suse dot de  ---
On Sun, 13 Oct 2024, 652023330028 at smail dot nju.edu.cn wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117112
> 
> --- Comment #2 from Yi <652023330028 at smail dot nju.edu.cn> ---
> (In reply to Richard Biener from comment #1)
> 
> Thank you very much for your reply.
> 
> > I'm not sure whether you think the bug is that the compiler doesn't see
> > arr1[i] is equal to 1 and thus arr2[i] equal to 2 and k equal to 0.
> 
> Yes, when the value of arr1 is within a certain range, the value of k is 
> always
> equal to 0.
> 
> In addition, when the size of the array is 16, the compiler seems to see that 
> k
> is equal to 0. (https://godbolt.org/z/Yhxa75765)
> Is there a limit to what the compiler can do when the array size is large?

There's a limit on the maximum number of iterations a loop is fully
peeled - we can only see the value is one when we peel.  This is
controlled by --param max-completely-peel-times and it's default is 16.

[Bug tree-optimization/117079] [15 Regression] FAIL: gcc.target/i386/pr105493.c since r15-2820-gab18785840d7b8

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117079

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug target/117081] [15 Regression] FAIL: gcc.target/i386/pr91384.c since r15-1619-g3b9b8d6cfdf593

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117081

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug target/117072] [15 Regression] FAIL: gcc.target/i386/cond_op_fma_{float,double,_Float16}-1.c since r15-3509-gd34cda72098867

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117072

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/117054] [14/15 Regression] checking ICE on generic lambda inside a template containing constexpr-if containing instantiation of template with a NTTP defaulted to a lambda

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117054

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug tree-optimization/117050] [15 Regression] ice in vect_build_slp_tree_2

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117050

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #7 from Richard Biener  ---
Fixed.

[Bug c++/109918] [12/13/14 Regression] Unexpected -Woverloaded-virtual with virtual conversion operators

2024-10-13 Thread schwab--- via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109918

--- Comment #9 from Andreas Schwab  ---
This breaks building the rust compiler.

In file included from ../../gcc/rust/typecheck/rust-tyty.h:28,
 from ../../gcc/rust/backend/rust-mangle.h:21,
 from ../../gcc/rust/backend/rust-mangle.cc:19:
../../gcc/rust/typecheck/rust-tyty-subst.h:408:21: error: 'virtual
Rust::TyTy::BaseType*
Rust::TyTy::SubstitutionRef::handle_substitions(Rust::TyTy::Substitut\
ionArgumentMappings&)' was hidden [-Werror=overloaded-virtual=]
  408 |   virtual BaseType *handle_substitions (SubstitutionArgumentMappings
&mappings)
  | ^~
../../gcc/rust/typecheck/rust-tyty.h:761:3: note:   by 'virtual
Rust::TyTy::ADTType*
Rust::TyTy::ADTType::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
  761 |   handle_substitions (SubstitutionArgumentMappings &mappings) override
final;
  |   ^~
../../gcc/rust/typecheck/rust-tyty-subst.h:408:21: error: 'virtual
Rust::TyTy::BaseType*
Rust::TyTy::SubstitutionRef::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
was hidden [-Werror=overloaded-virtual=]
  408 |   virtual BaseType *handle_substitions (SubstitutionArgumentMappings
&mappings)
  | ^~
../../gcc/rust/typecheck/rust-tyty.h:873:3: note:   by 'virtual
Rust::TyTy::FnType*
Rust::TyTy::FnType::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
  873 |   handle_substitions (SubstitutionArgumentMappings &mappings) override
final;
  |   ^~
../../gcc/rust/typecheck/rust-tyty-subst.h:408:21: error: 'virtual
Rust::TyTy::BaseType*
Rust::TyTy::SubstitutionRef::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
was hidden [-Werror=overloaded-virtual=]
  408 |   virtual BaseType *handle_substitions (SubstitutionArgumentMappings
&mappings)
  | ^~
../../gcc/rust/typecheck/rust-tyty.h:1033:3: note:   by 'virtual
Rust::TyTy::ClosureType*
Rust::TyTy::ClosureType::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
 1033 |   handle_substitions (SubstitutionArgumentMappings &mappings) override
final;
  |   ^~
../../gcc/rust/typecheck/rust-tyty-subst.h:408:21: error: 'virtual
Rust::TyTy::BaseType*
Rust::TyTy::SubstitutionRef::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
was hidden [-Werror=overloaded-virtual=]
  408 |   virtual BaseType *handle_substitions (SubstitutionArgumentMappings
&mappings)
  | ^~
../../gcc/rust/typecheck/rust-tyty.h:1576:3: note:   by 'virtual
Rust::TyTy::ProjectionType*
Rust::TyTy::ProjectionType::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
 1576 |   handle_substitions (SubstitutionArgumentMappings &mappings) override
final;
  |   ^~
cc1plus: all warnings being treated as errors
make[3]: *** [../../gcc/rust/Make-lang.in:433: rust/rust-mangle.o] Error 1

[Bug c++/117117] New: [15 regression] rust build fails

2024-10-13 Thread schwab--- via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117117

Bug ID: 117117
   Summary: [15 regression] rust build fails
   Product: gcc
   Version: 15.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sch...@linux-m68k.org
Blocks: 109918
  Target Milestone: ---

r15-4282-g60163c85730e6b breaks the build of the rust compiler.

In file included from ../../gcc/rust/typecheck/rust-tyty.h:28,
 from ../../gcc/rust/backend/rust-mangle.h:21,
 from ../../gcc/rust/backend/rust-mangle.cc:19:
../../gcc/rust/typecheck/rust-tyty-subst.h:408:21: error: 'virtual
Rust::TyTy::BaseType*
Rust::TyTy::SubstitutionRef::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
was hidden [-Werror=overloaded-virtual=]
  408 |   virtual BaseType *handle_substitions (SubstitutionArgumentMappings
&mappings)
  | ^~
../../gcc/rust/typecheck/rust-tyty.h:761:3: note:   by 'virtual
Rust::TyTy::ADTType*
Rust::TyTy::ADTType::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
  761 |   handle_substitions (SubstitutionArgumentMappings &mappings) override
final;
  |   ^~
../../gcc/rust/typecheck/rust-tyty-subst.h:408:21: error: 'virtual
Rust::TyTy::BaseType*
Rust::TyTy::SubstitutionRef::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
was hidden [-Werror=overloaded-virtual=]
  408 |   virtual BaseType *handle_substitions (SubstitutionArgumentMappings
&mappings)
  | ^~
../../gcc/rust/typecheck/rust-tyty.h:873:3: note:   by 'virtual
Rust::TyTy::FnType*
Rust::TyTy::FnType::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
  873 |   handle_substitions (SubstitutionArgumentMappings &mappings) override
final;
  |   ^~
../../gcc/rust/typecheck/rust-tyty-subst.h:408:21: error: 'virtual
Rust::TyTy::BaseType*
Rust::TyTy::SubstitutionRef::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
was hidden [-Werror=overloaded-virtual=]
  408 |   virtual BaseType *handle_substitions (SubstitutionArgumentMappings
&mappings)
  | ^~
../../gcc/rust/typecheck/rust-tyty.h:1033:3: note:   by 'virtual
Rust::TyTy::ClosureType*
Rust::TyTy::ClosureType::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
 1033 |   handle_substitions (SubstitutionArgumentMappings &mappings) override
final;
  |   ^~
../../gcc/rust/typecheck/rust-tyty-subst.h:408:21: error: 'virtual
Rust::TyTy::BaseType*
Rust::TyTy::SubstitutionRef::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
was hidden [-Werror=overloaded-virtual=]
  408 |   virtual BaseType *handle_substitions (SubstitutionArgumentMappings
&mappings)
  | ^~
../../gcc/rust/typecheck/rust-tyty.h:1576:3: note:   by 'virtual
Rust::TyTy::ProjectionType*
Rust::TyTy::ProjectionType::handle_substitions(Rust::TyTy::SubstitutionArgumentMappings&)'
 1576 |   handle_substitions (SubstitutionArgumentMappings &mappings) override
final;
  |   ^~
cc1plus: all warnings being treated as errors
make[3]: *** [../../gcc/rust/Make-lang.in:433: rust/rust-mangle.o] Error 1


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109918
[Bug 109918] [12/13/14 Regression] Unexpected -Woverloaded-virtual with virtual
conversion operators

[Bug c++/117117] [15 regression] rust build fails

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117117

Sam James  changed:

   What|Removed |Added

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

--- Comment #1 from Sam James  ---
Dupe.

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

[Bug c++/117114] [15 Regression] -Woverloaded-virtual false positives on multiple inheritance since r15-4282-g60163c85730e6b

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117114

Sam James  changed:

   What|Removed |Added

 CC||sch...@linux-m68k.org

--- Comment #5 from Sam James  ---
*** Bug 117117 has been marked as a duplicate of this bug. ***

[Bug c++/109918] [12/13/14 Regression] Unexpected -Woverloaded-virtual with virtual conversion operators

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109918

Sam James  changed:

   What|Removed |Added

 Depends on||117114
 CC||sjames at gcc dot gnu.org

--- Comment #10 from Sam James  ---
(In reply to Andreas Schwab from comment #9)
> This breaks building the rust compiler.
> 

That's PR117114.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117114
[Bug 117114] [15 Regression] -Woverloaded-virtual false positives on multiple
inheritance since r15-4282-g60163c85730e6b

[Bug c++/109918] [12/13/14 Regression] Unexpected -Woverloaded-virtual with virtual conversion operators

2024-10-13 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109918
Bug 109918 depends on bug 117117, which changed state.

Bug 117117 Summary: [15 regression] rust build fails
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117117

   What|Removed |Added

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

[Bug tree-optimization/116213] [14/15 regression] -Wmaybe-uninitialized in tree-ssa-loop-niter.cc since r14-3460-gabf915193fbf72

2024-10-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116213

--- Comment #7 from Andrew Pinski  ---
(In reply to Sam James from comment #3)
> In this case, I suspect the warning might be legit, but bisected to
> r14-3460-gabf915193fbf72 anyway.

Was this with the reduced testcase or the original one?

With the reduced testcase at least it could be store merging is able to merge
the stores across the clobber (comment #4) before the patch while after it does
not as the clobbers were removed before store merging beforehand.

E.g.:
  NEXT_PASS (pass_fold_builtins);
  NEXT_PASS (pass_optimize_widening_mul);
  NEXT_PASS (pass_store_merging);

[Bug middle-end/117123] New: [12/13/14/15 regression] Generated code at -Os on trunk is larger than GCC 14.4

2024-10-13 Thread dccitaliano at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117123

Bug ID: 117123
   Summary: [12/13/14/15 regression] Generated code at -Os on
trunk is larger than GCC 14.4
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dccitaliano at gmail dot com
  Target Milestone: ---

https://godbolt.org/z/ern8cbPzr

Inline code:

struct Potato { 
  int size; 
  bool isMashed;
};  

int dont_be_here(); 

int patatino(int a) {
  if (a > 5 && a % 2 == 0 && a != 10) {
return a * 2;
  } else {
Potato spud;
spud.size = a;
spud.isMashed = false;

for (int i = 0; i < 10; i++) {
  if (i > 10 && i < 5 && a == -1) {
for (int j = 0; j < 5; j++) {
  spud.size += j;
}
  }
}

// Added a loop that never gets executed with a complex condition and
statement inside
for (int k = 0; k < 10 && a == -100 && spud.size > 1000; k++) {
  for (int l = 0; l < 5; l++) {
spud.size += l * k;
  }
}

// Modified to add a loop that never gets executed with a call to
dont_be_here()
for (int m = 0; m < 10 && a == -1000 && spud.size < -1000; m++) {
  dont_be_here();
}

// Modified function with added conditional statement
if (a > 1 && spud.size < -1) {
  spud.size *= 2;
}

// Added another loop that never gets executed with a complex condition and
statement inside
for (int n = 0; n < 10 && a == -2000 && spud.size > 2000; n++) {
  for (int o = 0; o < 5; o++) {
spud.size -= o * n;
  }
}

return spud.size;
  }
}

[Bug libstdc++/106676] [C++20] Automatic iterator_category detection misbehaves when `::reference` is an rvalue reference, refuses to accept a forward iterator

2024-10-13 Thread avi at scylladb dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106676

--- Comment #6 from Avi Kivity  ---
My reproducer:



#include 
#include 
#include 
#include 
#include 

void f() {
auto stream = std::stringstream("aaa bbb");
auto src = std::ranges::subrange(std::istream_iterator(stream),
std::istream_iterator());
static_assert(std::ranges::input_range);
static_assert(std::same_as::iterator_category,
std::input_iterator_tag>);
auto plus1 = src | std::views::transform(std::bind_front(std::plus<>(),
1));
static_assert(std::same_as::iterator_category,
std::input_iterator_tag>);
static_assert(std::ranges::input_range);
}


https://godbolt.org/z/3a1WPjzP3

[Bug libstdc++/106676] [C++20] Automatic iterator_category detection misbehaves when `::reference` is an rvalue reference, refuses to accept a forward iterator

2024-10-13 Thread avi at scylladb dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106676

Avi Kivity  changed:

   What|Removed |Added

 CC||avi at scylladb dot com

--- Comment #5 from Avi Kivity  ---
I believe this is causing application of std::views::transform() not to model
the underlying view's category, since its iterators can't return an lvalue.

[Bug tree-optimization/116481] [12/13/14/15 Regression] `arrays of functions are not meaningful` error message happens with -W -Wall -O2 even though there are no arrays of function types used

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116481

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #11 from Richard Biener  ---
I'm testing a patch.

[Bug tree-optimization/116985] [15 Regression] ICE in vectorizer with --param=vect-partial-vector-usage=2 -mavx512vbmi2 since r15-2097-gdb3c8c9726d0ba

2024-10-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116985

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #4 from Richard Biener  ---
Fixed.

  1   2   3   >