// 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 using B = T; template using C [[gnu::vector_size(16)]] = B; template void f() { static_assert(!is_same>::value, ""); static_assert(is_same, A>::value, ""); #if __cpp_variable_templates static_assert(!is_same_v>, ""); static_assert(is_same_v, A>, ""); #endif }; template void f();