public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/107024] New: ICE in finish_expr_stmt, at cp/semantics.cc:872
@ 2022-09-24 4:06 alex at clmbng dot com
2022-09-26 11:45 ` [Bug c++/107024] " marxin at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: alex at clmbng dot com @ 2022-09-24 4:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107024
Bug ID: 107024
Summary: ICE in finish_expr_stmt, at cp/semantics.cc:872
Product: gcc
Version: 12.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: alex at clmbng dot com
Target Milestone: ---
Full code here: https://godbolt.org/z/6nnTonMjq
GCC seems to fail in certain situations involving lambdas in unevaluated
contexts. Here's a minimal example that triggers an ICE at the same spot:
https://godbolt.org/z/99jnqeeoG.
This is similar to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10569, but
triggers in a different location.
Using: GCC 12.2.0
Target: x86_64-linux-gnu
CL: -std=c++20
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/107024] ICE in finish_expr_stmt, at cp/semantics.cc:872
2022-09-24 4:06 [Bug c++/107024] New: ICE in finish_expr_stmt, at cp/semantics.cc:872 alex at clmbng dot com
@ 2022-09-26 11:45 ` marxin at gcc dot gnu.org
2022-09-26 12:27 ` marxin at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-09-26 11:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107024
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
CC| |marxin at gcc dot gnu.org
Last reconfirmed| |2022-09-26
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Please always include a test-case here and not via godbolt.
Confirmed.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/107024] ICE in finish_expr_stmt, at cp/semantics.cc:872
2022-09-24 4:06 [Bug c++/107024] New: ICE in finish_expr_stmt, at cp/semantics.cc:872 alex at clmbng dot com
2022-09-26 11:45 ` [Bug c++/107024] " marxin at gcc dot gnu.org
@ 2022-09-26 12:27 ` marxin at gcc dot gnu.org
2022-09-27 0:57 ` alex at clmbng dot com
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-09-26 12:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107024
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Test-case:
#include <iostream>
#include <utility>
#include <vector>
template <size_t...NN>
struct Integral_pack
{
static constexpr size_t data[sizeof...(NN)] = { NN... };
std::vector<size_t> vec { NN... };
};
template <size_t N, auto Exp, size_t...NN>
consteval auto apply_fold_impl(std::index_sequence<NN...>)
{
return Integral_pack<Exp(N, NN)...>{};
};
template <size_t N, auto Exp, size_t C>
consteval auto apply_fold()
{
return apply_fold_impl<N, Exp>(std::make_index_sequence<C>{});
}
template <size_t N, size_t C>
using left_shift
= decltype(apply_fold<N, [](size_t L, size_t R) { return (L << R); },
C>());
template <size_t N, size_t C>
auto ls_vec = left_shift<N, C>{}.vec;
template <size_t N, size_t C>
using right_shift
= decltype(apply_fold<N, [](size_t L, size_t R) { return (L >> R); },
C>());
template <size_t N, size_t C>
std::vector<size_t> rs_vec = right_shift<N, C>{}.vec;
int main()
{
for(auto& i : ls_vec<12351, 15>) std::cout << i << " ";
std::cout << "\n";
for(auto& i : rs_vec<12351, 15>) std::cout << i << " ";
std::cout << "\n";
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/107024] ICE in finish_expr_stmt, at cp/semantics.cc:872
2022-09-24 4:06 [Bug c++/107024] New: ICE in finish_expr_stmt, at cp/semantics.cc:872 alex at clmbng dot com
2022-09-26 11:45 ` [Bug c++/107024] " marxin at gcc dot gnu.org
2022-09-26 12:27 ` marxin at gcc dot gnu.org
@ 2022-09-27 0:57 ` alex at clmbng dot com
2022-09-27 8:15 ` marxin at gcc dot gnu.org
2024-04-13 20:44 ` pinskia at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: alex at clmbng dot com @ 2022-09-27 0:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107024
--- Comment #3 from alex at clmbng dot com ---
Minimal test-case:
struct A { int fun(); };
template <auto>
consteval auto aaa() { return A{}; }
template <int>
using aa = decltype(aaa<[]{}>());
template <int N>
A a = aa<N>{};
int main()
{
return a<42>.fun();
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/107024] ICE in finish_expr_stmt, at cp/semantics.cc:872
2022-09-24 4:06 [Bug c++/107024] New: ICE in finish_expr_stmt, at cp/semantics.cc:872 alex at clmbng dot com
` (2 preceding siblings ...)
2022-09-27 0:57 ` alex at clmbng dot com
@ 2022-09-27 8:15 ` marxin at gcc dot gnu.org
2024-04-13 20:44 ` pinskia at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-09-27 8:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107024
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|needs-reduction |
CC| |jakub at gcc dot gnu.org,
| |jason at gcc dot gnu.org
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r10-4303-gf968ef9b8df2bc22, was rejected before the revision.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/107024] ICE in finish_expr_stmt, at cp/semantics.cc:872
2022-09-24 4:06 [Bug c++/107024] New: ICE in finish_expr_stmt, at cp/semantics.cc:872 alex at clmbng dot com
` (3 preceding siblings ...)
2022-09-27 8:15 ` marxin at gcc dot gnu.org
@ 2024-04-13 20:44 ` pinskia at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-13 20:44 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107024
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Blocks| |107430
Keywords| |c++-lambda
Target Milestone|--- |14.0
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed on the trunk for GCC 14 by the recent lambda template patches.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107430
[Bug 107430] [meta-bug] lambda in decltype
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-04-13 20:44 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-24 4:06 [Bug c++/107024] New: ICE in finish_expr_stmt, at cp/semantics.cc:872 alex at clmbng dot com
2022-09-26 11:45 ` [Bug c++/107024] " marxin at gcc dot gnu.org
2022-09-26 12:27 ` marxin at gcc dot gnu.org
2022-09-27 0:57 ` alex at clmbng dot com
2022-09-27 8:15 ` marxin at gcc dot gnu.org
2024-04-13 20:44 ` pinskia at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).