// PR c++/115897 // { dg-do compile { target c++11 } } template struct is_same { static constexpr bool value = __is_same(T, U); }; #if __cpp_variable_templates template constexpr bool is_same_v = __is_same(T, U); #endif template using A [[gnu::vector_size(16)]] = T; template void f() { using B = A; static_assert(!is_same::value, ""); #if __cpp_variable_templates static_assert(!is_same_v, ""); #endif }; template void g() { using C = A; static_assert(!is_same::value, ""); #if __cpp_variable_templates static_assert(!is_same_v, ""); #endif }; template void f(); template void g();