diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/c-c++-common/opaque-vector.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/c-c++-common/opaque-vector.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/opaque-vector.c b/gcc-4.9/gcc/testsuite/c-c++-common/opaque-vector.c new file mode 100644 index 000000000..bac3497be --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/opaque-vector.c @@ -0,0 +1,22 @@ +#define B_TEST(TYPE) { TYPE v __attribute__((vector_size(16))); (void)((v < v) < v); } +#ifdef __cplusplus +#define T_TEST(TYPE) { TYPE s; TYPE v __attribute__((vector_size(16))); __typeof((v<v)[0]) iv __attribute__((vector_size(16))); (void)((iv ? s : s) < v); } +#else +#define T_TEST(TYPE) +#endif +#define T(TYPE) B_TEST(TYPE) T_TEST(TYPE) + +void f () +{ + T(short) + T(int) + T(long) + T(long long) + + T_TEST(float) + T_TEST(double) + /* Avoid trouble with non-power-of-two sizes. */ +#if !defined(__i386__) && !defined(__x86_64__) && !defined(__m68k__) && !defined(__ia64__) && !defined(__hppa__) + T_TEST(long double) +#endif +} |