// Test specialization for UTF-8 literals when -fchar8_t is enabled. // { dg-do compile } // { dg-options "-std=c++17 -fchar8_t" } template struct ct { static constexpr int dm = 1; }; template<> struct ct<'x'> { static constexpr int dm = 2; }; template<> struct ct { static constexpr int dm = 3; }; static_assert(ct<'x'>::dm == 2, "Error"); static_assert(ct::dm == 3, "Error"); template struct ct2 { static constexpr int dm = 4; }; template struct ct2 { static constexpr int dm = 5; }; template struct ct2 { static constexpr int dm = 6; }; constexpr const char s[] = "x"; constexpr const char8_t s8[] = u8"x"; static_assert(ct2::dm == 5, "Error"); static_assert(ct2::dm == 6, "Error");