https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102553
Bug ID: 102553 Summary: internal compiler error: Segmentation fault for struct based parameter of template Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: unlvsur at live dot com Target Milestone: --- Created attachment 51531 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51531&action=edit Linux Preprocessor file x86_64-ubuntu-linux-gnu-g++ -c a.cc -I../../include -Ofast -std=c++20 -ffreestanding= In file included from ../../include/fast_io_core_impl/integers/integer.h:5, from ../../include/fast_io_core.h:63, from a.cc:1: ../../include/fast_io_core_impl/integers/impl.h: In substitution of 'template<fast_io::manipulators::scalar_flags flags, class T> using scalar_manip_precision_t = fast_io::manipulators::scalar_manip_t<((const fast_io::manipulators::scalar_flags)flags), fast_io::manipulators::precision_holder<T> > [with fast_io::manipulators::scalar_flags flags = dcmfloat_mani_flags_cache<uppercase, false, fast_io::manipulators::floating_format::general>; T = __float128]': ../../include/fast_io_core_impl/integers/impl.h:418:148: required from here ../../include/fast_io_core_impl/integers/impl.h:108:49: internal compiler error: Segmentation fault 108 | using scalar_manip_precision_t = scalar_manip_t<flags,precision_holder<T>>; Problem exists on other platforms too. You can just test preprocessor file since it is freestanding.