Bug ID | 1193659 |
---|---|
Summary | g++ internal compiler error: in is_this_parameter, at cp/semantics.c:10672 |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | x86-64 |
OS | openSUSE Tumbleweed |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Development |
Assignee | screening-team-bugs@suse.de |
Reporter | geurt.vos@outerplane.nl |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
Build Identifier:
Compiling the following code results in an internal compiler error since g++
(SUSE Linux) 11.2.1 20211124 at any optimization level except -O0.
---
#include <coroutine>
#include <string_view>
struct awaitable {
struct promise_type {
auto initial_suspend() noexcept { return std::suspend_never(); }
auto final_suspend() noexcept { return std::suspend_never(); }
void return_void();
void unhandled_exception() noexcept;
awaitable get_return_object() noexcept;
};
};
struct coro_test {
std::string_view s_;
awaitable f()
{
if (s_.empty()) {
co_return;
}
}
};
---
Reproducible: Always
Steps to Reproduce:
> g++ -std=c++20 -O1 -c test.cpp
Actual Results:
test.cpp: In function ���������void
coro_test::f(coro_test::f()::_ZN9coro_test1fEv.Frame*)���������:
test.cpp:22:9: internal compiler error: in is_this_parameter, at
cp/semantics.c:10672
22 | }
| ^
0xeaf047 internal_error(char const*, ...)
???:0
0xea55a6 fancy_abort(char const*, int, char const*)
???:0
0x10c1745 maybe_constant_value(tree_node*, tree_node*, bool)
???:0
0x10c23c4 cp_fold_maybe_rvalue(tree_node*, bool)
???:0
0xfe436f walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0xfe451e walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0xfe47a7 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0xfe451e walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0xfe485f walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0xfe4831 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0x10d202e cp_fold_function(tree_node*)
???:0
0x15a485b c_parse_file()
???:0
0x15950e6 c_common_parse_file()
???:0