Steps to reproduce:
Host-Arch must be not x86_64

carlo@m2nux:~/dev/debian/glaze$ g++-16 -std=c++23 -freport-bug -c 
tests/jmespath/jmespath.cpp -I include
In file included from tests/jmespath/jmespath.cpp:4:
include/glaze/json/jmespath.hpp: In instantiation of ‘consteval auto 
glz::jmespath::tokenize_as_array() [with const std::string_view& expression = 
S]’:
include/glaze/json/jmespath.hpp:815:68:   required from ‘glz::error_ctx 
glz::read_jmespath(T&&, Buffer&&) [with string_literal<...auto...> Path = 
string_literal<8>{"address"}; auto Options = opts{10, true, false, true, true, 
false, false, false, false, 0}; T = std::__cxx11::basic_string<char>&; Buffer = 
std::__cxx11::basic_string<char>&]’
  815 |       static constexpr auto tokens = jmespath::tokenize_as_array<S>();
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
tests/jmespath/jmespath.cpp:57:41:   required from here
   57 |       ec = glz::read_jmespath<"address">(address, buffer);
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
include/glaze/json/jmespath.hpp:264:29:   in ‘constexpr’ expansion of 
‘0->glz::jmespath::tokenize_as_array<glz::read_jmespath<string_literal<8>{"address"}>(std::__cxx11::basic_string<char>&,
 std::__cxx11::basic_string<char>&)::S>()::<lambda()>()’
  264 |          constexpr auto N = [] {
      |                             ^~~~
  265 |             std::vector<std::string_view> tokens;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  266 |             auto err = tokenize_full_jmespath(expression, tokens);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  267 |             if (err != tokenization_error::none) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  268 |                std::abort();
      |                ~~~~~~~~~~~~~
  269 |             }
      |             ~
  270 |             return tokens.size();
      |             ~~~~~~~~~~~~~~~~~~~~~
  271 |          }();
      |          ~
include/glaze/json/jmespath.hpp:266:46:   in ‘constexpr’ expansion of 
‘glz::jmespath::tokenize_full_jmespath(S, tokens)’
  266 |             auto err = tokenize_full_jmespath(expression, tokens);
      |                        ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
include/glaze/json/jmespath.hpp:223:60:   in ‘constexpr’ expansion of 
‘glz::jmespath::tokenize_jmes_path(remaining)’
  223 |             tokenization_result result = tokenize_jmes_path(remaining);
      |                                          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
include/glaze/json/jmespath.hpp:223:60: internal compiler error: Segmentation 
fault
0x13387af internal_error(char const*, ...)
        ../../src/gcc/diagnostic-global-context.cc:787
0xb1272f crash_signal
        ../../src/gcc/toplev.cc:325
0x171723c contains_struct_check(tree_node*, tree_node_structure_enum, char 
const*, int, char const*)
        ../../src/gcc/tree.h:3925
0x171723c reduced_constant_expression_p(tree_node*, tree_node*)
        ../../src/gcc/cp/constexpr.cc:4807
0x17172f3 reduced_constant_expression_p(tree_node*, tree_node*)
        ../../src/gcc/cp/constexpr.cc:4764
0x1a205bb cxx_eval_call_expression
        ../../src/gcc/cp/constexpr.cc:4640
0x1710593 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:9391
0x1c24143 cxx_eval_store_expression
        ../../src/gcc/cp/constexpr.cc:8342
0x1710c43 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:9572
0x171060b cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:10113
0x17113e3 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:9617
0x1710f2b cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:9669
0x171169f cxx_eval_statement_list
        ../../src/gcc/cp/constexpr.cc:8668
0x171169f cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:10380
0x1711327 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:10389
0x28621cb cxx_eval_loop_expr(constexpr_ctx const*, tree_node*, bool*, bool*, 
tree_node**) [clone .isra.0]
        ../../src/gcc/cp/constexpr.cc:8756
0x171197b cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:10480
0x171169f cxx_eval_statement_list
        ../../src/gcc/cp/constexpr.cc:8668
0x171169f cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:10380
0x1711327 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, 
value_cat, bool*, bool*, tree_node**)
        ../../src/gcc/cp/constexpr.cc:10389
/usr/libexec/gcc/aarch64-linux-gnu/16/cc1plus -quiet -I include -imultiarch 
aarch64-linux-gnu -D_GNU_SOURCE tests/jmespath/jmespath.cpp -quiet -dumpbase 
jmespath.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -std=c++23 
-freport-bug -fasynchronous-unwind-tables -o /tmp/ccZa3Y2H.s
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-16/README.Bugs> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.

Best,
-- 
Carl

Attachment: signature.asc
Description: PGP signature

Reply via email to