Repository navigation
[GNATS 26937] Static assert with vector size fails or internal assertion at templates.c in check_new_class_instantiation #152
jhsedg
started this conversation in
Issue Triage - General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Customer bug ID
qvm/test/vec_traits_gnuc_test.test/vec_traits_gnuc_test.cpp, preprocessed test in 26937.C, reduced test is in 26937a.C
Description
The reduced test case is:
//options_all:--c++20 --gnu_version=120100 -w -tused
template struct is_vec;
template <>
struct is_vec<float attribute((vector_size(sizeof(float) * 2)))> {
enum { value = true };
};
typedef float v2sf attribute((vector_size(8)));
static_assert(is_vec::value, "Boost QVM static assertion failure");
cpfe -DTEST_NUMBER=1 --c++20 --gnu_version=120100 -w -tused Test_name.c
check_new_class_instantiation:
existing list: <typeref vector of float (size = 8UL )>
new list:
"Test_name.c", line 8: internal error: assertion failed at: "templates.c", line
in check_new_class_instantiation
static_assert(is_vec::value, "Boost QVM static assertion failure");
^
1 catastrophic error detected in the compilation of "Test_name.c".
Compilation aborted.
Aborted
eccp: front end returned an exit status of 134
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /mds/gnu/build/gcc-12.2.0/lib64/l
ibstdc++.so.6]
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /mds/gnu/build/gcc-12.2.0/lib64/l
ibgcc_s.so.1]
warning: File "/mds/gnu/build/gcc-12.2.0/lib64/libstdc++.so.6.0.30-gdb.py" auto-loading has been declined by your `auto-load sa
fe-path' set to "$debugdir:$datadir/auto-load:/usr/bin/mono-gdb.py".
-----> Context in check_new_class_instantiation ( ):
db_template_arg_list(old_list);
fprintf(f_debug, "\n new list: ");
db_template_arg_list(template_arg_list);
fprintf(f_debug, "\n");
#endif /* DEBUG */
unexpected_condition();
-----> Abbreviated stack trace:
assertion_failed
check_new_class_instantiation
create_partial_instantiation_of_class
find_template_class
coalesce_template_class_reference
coalesce_template_id
f_is_generalized_identifier_start
scan_expr_full
scan_bool_constant_expression
static_assert_declaration
check_special_declaration_form
-----> assertion_failed crash signatures: 2fcfb0ad34fa47e3c773457aaebd08fb from f4ccd58411099bff0ad80d70ed7bc4ee
With DEBUG turned off the static_assert fails.
All reactions