https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102553
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW --- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- REduced somewhat and yes clang compiles this just fine, still trying to reduce it further: struct scalar_flags{}; template<bool> inline constexpr scalar_flags dcmfloat_mani_flags_cache{}; template<scalar_flags flags> struct scalar_manip_t{}; template<typename T> struct precision_holder{ template<scalar_flags flags> using scalar_manip_precision_t = scalar_manip_t<flags>; auto general(int n) { return scalar_manip_precision_t<dcmfloat_mani_flags_cache<true>>{}; } };