diff options
Diffstat (limited to 'clang/test/Parser')
| -rw-r--r-- | clang/test/Parser/altivec.c | 12 | ||||
| -rw-r--r-- | clang/test/Parser/cxx-altivec.cpp | 12 | ||||
| -rw-r--r-- | clang/test/Parser/vsx.c | 10 |
3 files changed, 22 insertions, 12 deletions
diff --git a/clang/test/Parser/altivec.c b/clang/test/Parser/altivec.c index a9b41b9b7ac..7adca6143bd 100644 --- a/clang/test/Parser/altivec.c +++ b/clang/test/Parser/altivec.c @@ -61,15 +61,15 @@ vector unsigned long v_ul; // expected-warning {{Use of 'long' with '__ vector long int v_li; // expected-warning {{Use of 'long' with '__vector' is deprecated}} vector signed long int v_sli; // expected-warning {{Use of 'long' with '__vector' is deprecated}} vector unsigned long int v_uli; // expected-warning {{Use of 'long' with '__vector' is deprecated}} -__vector long double vv_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}} -vector long double v_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}} +__vector long double vv_ld; // expected-error {{cannot use 'long double' with '__vector'}} +vector long double v_ld; // expected-error {{cannot use 'long double' with '__vector'}} vector bool v_b; // expected-warning {{type specifier missing, defaults to 'int'}} // These should have errors. -__vector double vv_d1; // expected-error {{cannot use 'double' with '__vector'}} -vector double v_d2; // expected-error {{cannot use 'double' with '__vector'}} -__vector long double vv_ld3; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}} -vector long double v_ld4; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}} +__vector double vv_d1; // expected-error {{use of 'double' with '__vector' requires VSX support to be enabled (available on the POWER7 or later)}} +vector double v_d2; // expected-error {{use of 'double' with '__vector' requires VSX support to be enabled (available on the POWER7 or later)}} +__vector long double vv_ld3; // expected-error {{cannot use 'long double' with '__vector'}} +vector long double v_ld4; // expected-error {{cannot use 'long double' with '__vector'}} vector bool float v_bf; // expected-error {{cannot use 'float' with '__vector bool'}} vector bool double v_bd; // expected-error {{cannot use 'double' with '__vector bool'}} vector bool pixel v_bp; // expected-error {{cannot use '__pixel' with '__vector bool'}} diff --git a/clang/test/Parser/cxx-altivec.cpp b/clang/test/Parser/cxx-altivec.cpp index 23a6acd86be..f2ba28b641a 100644 --- a/clang/test/Parser/cxx-altivec.cpp +++ b/clang/test/Parser/cxx-altivec.cpp @@ -61,14 +61,14 @@ vector unsigned long v_ul; // expected-warning {{Use of 'long' with '__ vector long int v_li; // expected-warning {{Use of 'long' with '__vector' is deprecated}} vector signed long int v_sli; // expected-warning {{Use of 'long' with '__vector' is deprecated}} vector unsigned long int v_uli; // expected-warning {{Use of 'long' with '__vector' is deprecated}} -__vector long double vv_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}} -vector long double v_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}} +__vector long double vv_ld; // expected-error {{cannot use 'long double' with '__vector'}} +vector long double v_ld; // expected-error {{cannot use 'long double' with '__vector'}} // These should have errors. -__vector double vv_d1; // expected-error {{cannot use 'double' with '__vector'}} -vector double v_d2; // expected-error {{cannot use 'double' with '__vector'}} -__vector long double vv_ld3; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}} -vector long double v_ld4; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}} +__vector double vv_d1; // expected-error {{use of 'double' with '__vector' requires VSX support to be enabled (available on the POWER7 or later)}} +vector double v_d2; // expected-error {{use of 'double' with '__vector' requires VSX support to be enabled (available on the POWER7 or later)}} +__vector long double vv_ld3; // expected-error {{cannot use 'long double' with '__vector'}} +vector long double v_ld4; // expected-error {{cannot use 'long double' with '__vector'}} vector bool v_b; // expected-error {{C++ requires a type specifier for all declarations}} vector bool float v_bf; // expected-error {{cannot use 'float' with '__vector bool'}} vector bool double v_bd; // expected-error {{cannot use 'double' with '__vector bool'}} diff --git a/clang/test/Parser/vsx.c b/clang/test/Parser/vsx.c new file mode 100644 index 00000000000..ead09814c8c --- /dev/null +++ b/clang/test/Parser/vsx.c @@ -0,0 +1,10 @@ +// RUN: %clang_cc1 -triple=powerpc64-unknown-linux-gnu -faltivec -target-feature +vsx -fsyntax-only -verify %s +// RUN: %clang_cc1 -triple=powerpc64le-unknown-linux-gnu -faltivec -target-feature +vsx -fsyntax-only -verify %s + +// Legitimate for VSX. +__vector double vv_d1; +vector double v_d2; + +// These should have errors. +__vector long double vv_ld3; // expected-error {{cannot use 'long double' with '__vector'}} +vector long double v_ld4; // expected-error {{cannot use 'long double' with '__vector'}} |

