public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/99809] New: ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack
@ 2021-03-29 7:15 hewillk at gmail dot com
2021-03-29 17:26 ` [Bug c++/99809] " mpolacek at gcc dot gnu.org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: hewillk at gmail dot com @ 2021-03-29 7:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99809
Bug ID: 99809
Summary: ICE: sorry, unimplemented: unexpected AST of kind
nontype_argument_pack
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hewillk at gmail dot com
Target Milestone: ---
https://godbolt.org/z/4dnnTTzMW
#include <concepts>
auto f(auto... args) {
return [](std::same_as<decltype(args)> auto) {};
}
int main() {
f(0)(0);
}
<source>:4:10: sorry, unimplemented: unexpected AST of kind
nontype_argument_pack
4 | return [](std::same_as<decltype(args)> auto) {};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<source>:4:10: internal compiler error: in potential_constant_expression_1, at
cp/constexpr.c:8854
0x1cfb7f9 internal_error(char const*, ...)
???:0
0x6ba871 fancy_abort(char const*, int, char const*)
???:0
0x72ac1e is_nondependent_constant_expression(tree_node*)
???:0
0x91465c instantiate_non_dependent_expr_sfinae(tree_node*, int)
???:0
0x98afc1 finish_decltype_type(tree_node*, bool, int)
???:0
0x915dc3 tsubst(tree_node*, tree_node*, int, tree_node*)
???:0
0x941bb6 tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
???:0
0x739946 tsubst_constraint(tree_node*, tree_node*, int, tree_node*)
???:0
0x949a91 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x91c84f instantiate_decl(tree_node*, bool, bool)
???:0
0x7c6c0e maybe_instantiate_decl(tree_node*)
???:0
0x7c8370 mark_used(tree_node*, int)
???:0
0x6de097 build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
???:0
0x980c6c finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
???:0
0x8e12ad c_parse_file()
???:0
0xa600a2 c_common_parse_file()
???:0
Please submit a full bug report,
with preprocessed source if appropriate.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/99809] ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack
2021-03-29 7:15 [Bug c++/99809] New: ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack hewillk at gmail dot com
@ 2021-03-29 17:26 ` mpolacek at gcc dot gnu.org
2021-03-29 17:31 ` hewillk at gmail dot com
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2021-03-29 17:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99809
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2021-03-29
CC| |mpolacek at gcc dot gnu.org
Keywords|ice-on-invalid-code |ice-on-valid-code
Ever confirmed|0 |1
--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Confirmed, clang++ compiles it. Reduced:
namespace std {
template <typename> bool is_same_v;
namespace __detail {
template <typename, typename _Up> concept __same_as = is_same_v<_Up>;
}
template <typename _Tp, typename _Up>
concept same_as = __detail::__same_as<_Up, _Tp>;
} // namespace std
void f(auto... args) {
[](std::same_as<decltype(args)> auto) {};
}
int main() { f(); }
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/99809] ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack
2021-03-29 7:15 [Bug c++/99809] New: ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack hewillk at gmail dot com
2021-03-29 17:26 ` [Bug c++/99809] " mpolacek at gcc dot gnu.org
@ 2021-03-29 17:31 ` hewillk at gmail dot com
2021-03-31 14:38 ` hewillk at gmail dot com
2021-04-16 8:17 ` hewillk at gmail dot com
3 siblings, 0 replies; 5+ messages in thread
From: hewillk at gmail dot com @ 2021-03-29 17:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99809
--- Comment #2 from 康桓瑋 <hewillk at gmail dot com> ---
I think this is not a valid code even if clang accepts it, since the parameter
packs args are not expanded.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/99809] ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack
2021-03-29 7:15 [Bug c++/99809] New: ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack hewillk at gmail dot com
2021-03-29 17:26 ` [Bug c++/99809] " mpolacek at gcc dot gnu.org
2021-03-29 17:31 ` hewillk at gmail dot com
@ 2021-03-31 14:38 ` hewillk at gmail dot com
2021-04-16 8:17 ` hewillk at gmail dot com
3 siblings, 0 replies; 5+ messages in thread
From: hewillk at gmail dot com @ 2021-03-31 14:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99809
--- Comment #3 from 康桓瑋 <hewillk at gmail dot com> ---
More reduced:
template <typename, typename>
concept C = true;
void f(auto... args) {
[](C<decltype(args)> auto) {};
}
int main() { f(); }
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/99809] ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack
2021-03-29 7:15 [Bug c++/99809] New: ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack hewillk at gmail dot com
` (2 preceding siblings ...)
2021-03-31 14:38 ` hewillk at gmail dot com
@ 2021-04-16 8:17 ` hewillk at gmail dot com
3 siblings, 0 replies; 5+ messages in thread
From: hewillk at gmail dot com @ 2021-04-16 8:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99809
--- Comment #4 from 康桓瑋 <hewillk at gmail dot com> ---
Hey, the following code (a small variation with PR 100109) triggers the same
ICE in cp/constexpr.c:8889 on gcc 8-11, so maybe this is a regression bug?
template <class... Ts>
void f(Ts... args) {
[=]{
enum { x = [=]{ args; }() };
};
}
template void f<>();
<source>: In instantiation of 'void f(Ts ...) [with Ts = {}]':
<source>:8:19: required from here
<source>:4:16: sorry, unimplemented: unexpected AST of kind
nontype_argument_pack
4 | enum { x = [=]{ args; }() };
| ^~~~~~~~~~~~
<source>:4:16: internal compiler error: in potential_constant_expression_1, at
cp/constexpr.c:8889
0x1d02fb9 internal_error(char const*, ...)
???:0
0x6bb4f9 fancy_abort(char const*, int, char const*)
???:0
0x72a64f potential_constant_expression(tree_node*)
???:0
0x7b11c5 finish_function(bool)
???:0
0x80714a finish_lambda_function(tree_node*)
???:0
0x94ba0b tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x92c502 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
???:0
0x91848d tsubst(tree_node*, tree_node*, int, tree_node*)
???:0
0x918537 tsubst(tree_node*, tree_node*, int, tree_node*)
???:0
0x94ba02 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x91e36f instantiate_decl(tree_node*, bool, bool)
???:0
0x96023b instantiate_pending_templates(int)
???:0
0x7cd659 c_parse_final_cleanups()
???:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-04-16 8:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-29 7:15 [Bug c++/99809] New: ICE: sorry, unimplemented: unexpected AST of kind nontype_argument_pack hewillk at gmail dot com
2021-03-29 17:26 ` [Bug c++/99809] " mpolacek at gcc dot gnu.org
2021-03-29 17:31 ` hewillk at gmail dot com
2021-03-31 14:38 ` hewillk at gmail dot com
2021-04-16 8:17 ` hewillk at gmail dot com
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).