[Bug c++/95117] New: Segmentation fault with static await_ready() or await_resume()

2020-05-13 Thread oficsu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95117

Bug ID: 95117
   Summary: Segmentation fault with static await_ready() or
await_resume()
   Product: gcc
   Version: 10.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: oficsu at gmail dot com
  Target Milestone: ---

Created attachment 48527
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48527&action=edit
Minimal example

The attached archive contains a minimal example and a command that leads to an
internal compiler error in GCC 10 and later

Also, you can see the error on godbolt for gcc 10.1.0:
https://godbolt.org/z/CsJ4nG
The same error is reproducing in trunk version from godbolt:
https://godbolt.org/z/CsJ4nG


Working Draft contains the following definitions:
await-ready is the expression e.await_­ready(), contextually converted to bool.
...
await-suspend is the expression e.await_­suspend(h), which shall be a prvalue
of type void, bool, or std​::​coroutine_­handle for some type Z.
...
await-resume is the expression e.await_­resume().

Most likely the definition await_ready() and await_resume() as static is
ill-formed and should lead to a compilation error, but not to an segmentation
fault. BUT, please note that await-suspend is defined in the same way, but this
is compiled fine, so I'm not sure which behavior is right

[Bug c++/93295] ICE in alias_ctad_tweaks

2020-07-29 Thread oficsu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93295

ofee oficsu  changed:

   What|Removed |Added

 CC||oficsu at gmail dot com

--- Comment #7 from ofee oficsu  ---
I think there is another example of the same bug. This can be pretty common
code in C++20:

#include 

template
using p = std::pair;

auto x = p{int{}, int{}};

[Bug c/66918] Disable "inline function declared but never defined" warning

2021-11-14 Thread oficsu at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66918

Ofee Oficsu  changed:

   What|Removed |Added

 CC||oficsu at gmail dot com

--- Comment #11 from Ofee Oficsu  ---
There's another example. A bit suspicious as it's related to loopholes, but GCC
produces too many warning on my example and there's no way to suppress them:
https://godbolt.org/z/PbnM8cfc1

[Bug c++/95117] Segmentation fault with static await_ready() or await_resume()

2021-11-14 Thread oficsu at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95117

Ofee Oficsu  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #1 from Ofee Oficsu  ---
There's no ICE since GCC 10.2

[Bug c++/109978] New: ICE in tsubst, at cp/pt.cc:15869: alias template + c array size deduction + lambda

2023-05-25 Thread oficsu at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109978

Bug ID: 109978
   Summary: ICE in tsubst, at cp/pt.cc:15869: alias template + c
array size deduction + lambda
   Product: gcc
   Version: 12.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: oficsu at gmail dot com
  Target Milestone: ---

Created attachment 55162
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55162&action=edit
A minimal reproducible example

Lambdas in unevaluated contexts combined with an alias template to a c-style
array causes ICE when it's used to deduce the size of an array passed to a
function template, MRE:

template
using array = int[N];

template
void foo(array&&) {}

int main() {
  foo({1, 2, 3});
}

I've used a system GCC to generate the bug report, but other versions
(including trunk releases) affected also. See more on Compiler Explorer:
https://godbolt.org/z/zW6KETaYn