Bug#1143808: gcc-defaults breaks glaze autopkgtest: ICE

"Carl Keinath" <[email protected]>
Newsgroups gmane.linux.debian.devel.bugs.rc
Message-ID <[email protected]>
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
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQTp6jme4PyL2nY0e/dfL7+YzefGkwUCaniPFgAKCRBfL7+YzefG
k8weAQCI5GjFOL7zEj7z5t5or2q/cX0cD9PtihkT4SBRkAZFRAEAryuOdFIyiC4C
4pePBI70/GENNH1JNqIeTz0mPzf7Ug0=
=/Kas
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.