[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / Parser / cxx-altivec-bool-128.cpp
blobfd92c3a961cbcb72aaa475bf0a85b1ce8ac64f20
1 // RUN: %clang_cc1 -triple=powerpc64-unknown-linux-gnu \
2 // RUN: -target-feature +altivec -fsyntax-only -verify -std=c++11 %s
3 // RUN: %clang_cc1 -triple=powerpc64le-unknown-linux-gnu \
4 // RUN: -target-feature +altivec -fsyntax-only -verify -std=c++11 %s
5 // RUN: %clang_cc1 -triple=powerpc64le-unknown-linux-gnu -target-cpu pwr10 \
6 // RUN: -target-feature +altivec -target-feature -vsx \
7 // RUN: -target-feature -power10-vector -fsyntax-only -verify %s
9 #include <altivec.h>
11 // Test 'vector bool __int128' type.
13 // These should have errors.
14 __vector bool __int128 v1_bi128; // expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
15 __vector __bool __int128 v2_bi128; // expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
16 vector bool __int128 v3_bi128; // expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
17 vector __bool __int128 v4_bi128; // expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
18 __vector bool unsigned __int128 v5_bi128; // expected-error {{cannot use 'unsigned' with '__vector bool'}} expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
19 __vector bool signed __int128 v6_bi128; // expected-error {{cannot use 'signed' with '__vector bool'}} expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
20 vector bool unsigned __int128 v7_bi128; // expected-error {{cannot use 'unsigned' with '__vector bool'}} expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
21 vector bool signed __int128 v8_bi128; // expected-error {{cannot use 'signed' with '__vector bool'}} expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
22 __vector __bool signed __int128 v9_bi128; // expected-error {{cannot use 'signed' with '__vector bool'}} expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}
23 vector __bool signed __int128 v10_bi128; // expected-error {{cannot use 'signed' with '__vector bool'}} expected-error {{use of '__int128' with '__vector' requires extended Altivec support (available on POWER8 or later)}} expected-error {{use of '__int128' with '__vector bool' requires VSX support enabled (on POWER10 or later)}}