https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93989
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2020-03-02 Ever confirmed|0 |1 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- With -mavx2 the first error is indeed the quoted one (but not the last). The non-header part can be reduced to the following (you need to add #includes still), it produces exactly and only the quoted two errors. using C = char; static constexpr C c = 'a'; using traits = std::char_traits<C>; using __gnu_test::constexpr_allocator; consteval void test01() { typedef constexpr_allocator<C> alloc_type; typedef std::basic_string<C, traits, alloc_type> test_type; constexpr alloc_type a1(1); constexpr test_type v1(a1); } int main() { test01(); return 0; }