* lib/g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.
* lib/target-supports.exp (check_effective_target_c++11): Now
means C++11 and up.
(check_effective_target_c++11_only): New.
(check_effective_target_c++11_down): New.
(check_effective_target_c++1y): New.
(check_effective_target_c++1y_only): New.
(check_effective_target_c++98_only): Rename from
check_effective_target_c++98.
* g++.dg/*: Use { target c++11 } instead of -std=c++11.
From-SVN: r208416
25 lines
630 B
C
25 lines
630 B
C
// PR c++/55573
|
|
// { dg-do compile { target c++11 } }
|
|
// { dg-options "" }
|
|
// Ignore warning on some powerpc-ibm-aix configurations.
|
|
// { dg-prune-output "non-standard ABI extension" }
|
|
|
|
template <typename T, int N>
|
|
struct ExtVecTraits {
|
|
typedef T __attribute__((vector_size (N * sizeof (T)))) type;
|
|
};
|
|
|
|
template <typename T>
|
|
using Vec4 = typename ExtVecTraits<T,4>::type;
|
|
|
|
template <typename T>
|
|
struct Rot3
|
|
{
|
|
typedef Vec4<T> Vec;
|
|
Vec axis[3];
|
|
constexpr Rot3 (Vec4<T> ix, Vec4<T> iy, Vec4<T> iz) : axis {ix, iy, iz} {}
|
|
};
|
|
|
|
typedef Vec4<float> Vec;
|
|
Rot3<float> r2 ((Vec) {0, 1, 0, 0}, (Vec){0, 0, 1, 0}, (Vec){1, 0, 0, 0});
|