[Bug c++/127232] New: ICE when extracting reflection of reference function parameter
eczbek.void at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Sep 6 19:49:44 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127232
Bug ID: 127232
Summary: ICE when extracting reflection of reference function
parameter
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: eczbek.void at gmail dot com
Target Milestone: ---
https://godbolt.org/z/jvY776sjG
```
#include <meta>
void f(int const& x) {
constexpr std::meta::info y = ^^x;
consteval {
std::meta::extract<int const&>(y);
}
}
```
```
<source>: In function 'void f(const int&)':
<source>:7:2: in 'constexpr' expansion of 'f(const int&)::<lambda()>
static()'
7 | }
| ^
<source>:6:47: internal compiler error: tree check: did not expect class
'type', have 'type' (reference_type) in recompute_tree_invariant_for_addr_expr,
at tree.cc:5186
6 | std::meta::extract<int const&>(y);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
0x2bde978 diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*,
__va_list_tag (*) [1], diagnostics::kind)
???:0
0x2bd35bb internal_error(char const*, ...)
???:0
0xa41712 tree_not_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
???:0
0x19435d0 build1(tree_code, tree_node*, tree_node*)
???:0
0x114c1e8 build_fold_addr_expr_with_type_loc(unsigned long, tree_node*,
tree_node*)
???:0
0xe8d0d7 build_address(tree_node*)
???:0
0xe2c98c process_metafunction(constexpr_ctx const*, tree_node*, tree_node*,
bool*, bool*, tree_node**)
???:0
0xbb8d21 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*,
value_cat, bool*, bool*, tree_node**)
???:0
0xbb82b2 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*,
value_cat, bool*, bool*, tree_node**)
???:0
0xbb8ea2 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*,
value_cat, bool*, bool*, tree_node**)
???:0
0xbb8b98 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*,
value_cat, bool*, bool*, tree_node**)
???:0
0xbb88d8 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*,
value_cat, bool*, bool*, tree_node**)
???:0
0xbb8d21 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*,
value_cat, bool*, bool*, tree_node**)
???:0
0xbb872f cxx_eval_constant_expression(constexpr_ctx const*, tree_node*,
value_cat, bool*, bool*, tree_node**)
???:0
0xbcb1d3 cxx_constant_value(tree_node*, tree_node*, int)
???:0
0xe4fa4e finish_static_assert(tree_node*, tree_node*, unsigned long, bool,
bool, bool)
???:0
0xda2383 c_parse_file()
???:0
0xf35b69 c_common_parse_file()
???:0
/cefs/5d/5db0e07b14c59ff34f47a0ce_gcc-trunk-20260906/bin/../libexec/gcc/x86_64-linux-gnu/17.0.0/cc1plus
-quiet -imultiarch x86_64-linux-gnu -iprefix
/cefs/5d/5db0e07b14c59ff34f47a0ce_gcc-trunk-20260906/bin/../lib/gcc/x86_64-linux-gnu/17.0.0/
-D_GNU_SOURCE <source> -quiet -dumpdir /app/ -dumpbase output.cpp -dumpbase-ext
.cpp -masm=intel -mtune=generic -march=x86-64 -g -std=c++26
-fdiagnostics-color=always -fno-verbose-asm -freflection -o /app/output.s
```
More information about the Gcc-bugs
mailing list