https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110065
Bug ID: 110065 Summary: auto in template argument causes ICE, also accepts-invalid Product: gcc Version: 12.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stevenxia990430 at gmail dot com Target Milestone: --- The following program produces internal compiler error: Segmentation fault. Tested on GCC-trunk To quickly reproduce: https://gcc.godbolt.org/z/noY1qxK91 ``` #include <type_traits> #include <iostream> auto main() -> int { std::cout << std::is_scoped_enum_v<auto(&)(const int*) -> auto&>; return EXIT_SUCCESS; } ``` Note, if we remove the std::cout and produce the following code: ``` #include <type_traits> #include <iostream> auto main() -> int { std::is_scoped_enum_v<auto(&)(const int*) -> auto&>; return EXIT_SUCCESS; } ``` gcc compiles without any error, however this code is rejected by Clang (tested on Clang-trunk)