@@ -907,6 +907,118 @@ void IntExprParsing() {
907907 // expected-error@+2{{invalid tag 'length' on 'worker' clause}}
908908 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
909909#pragma acc loop worker(length:returns_int())
910+ }
911+
912+ void device_type () {
913+ // expected-error@+2{{expected '('}}
914+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
915+ #pragma acc parallel device_type
916+ // expected-error@+2{{expected '('}}
917+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
918+ #pragma acc parallel dtype
919+
920+ // expected-error@+4{{expected identifier}}
921+ // expected-error@+3{{expected ')'}}
922+ // expected-note@+2{{to match this '('}}
923+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
924+ #pragma acc parallel device_type(
925+ // expected-error@+4{{expected identifier}}
926+ // expected-error@+3{{expected ')'}}
927+ // expected-note@+2{{to match this '('}}
928+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
929+ #pragma acc parallel dtype(
930+
931+ // expected-error@+2{{expected identifier}}
932+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
933+ #pragma acc parallel device_type()
934+ // expected-error@+2{{expected identifier}}
935+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
936+ #pragma acc parallel dtype()
937+
938+ // expected-error@+3{{expected ')'}}
939+ // expected-note@+2{{to match this '('}}
940+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
941+ #pragma acc parallel device_type(*
942+ // expected-error@+3{{expected ')'}}
943+ // expected-note@+2{{to match this '('}}
944+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
945+ #pragma acc parallel dtype(*
946+
947+ // expected-error@+3{{expected ')'}}
948+ // expected-note@+2{{to match this '('}}
949+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
950+ #pragma acc parallel device_type(ident
951+ // expected-error@+3{{expected ')'}}
952+ // expected-note@+2{{to match this '('}}
953+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
954+ #pragma acc parallel dtype(ident
955+
956+ // expected-error@+4{{expected ','}}
957+ // expected-error@+3{{expected ')'}}
958+ // expected-note@+2{{to match this '('}}
959+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
960+ #pragma acc parallel device_type(ident ident2
961+ // expected-error@+4{{expected ','}}
962+ // expected-error@+3{{expected ')'}}
963+ // expected-note@+2{{to match this '('}}
964+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
965+ #pragma acc parallel dtype(ident ident2
966+
967+ // expected-error@+3{{expected ')'}}
968+ // expected-note@+2{{to match this '('}}
969+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
970+ #pragma acc parallel device_type(ident, ident2
971+ // expected-error@+3{{expected ')'}}
972+ // expected-note@+2{{to match this '('}}
973+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
974+ #pragma acc parallel dtype(ident, ident2
975+
976+ // expected-error@+2{{expected identifier}}
977+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
978+ #pragma acc parallel device_type(ident, ident2,)
979+ // expected-error@+2{{expected identifier}}
980+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
981+ #pragma acc parallel dtype(ident, ident2,)
982+
983+ // expected-error@+3{{expected ')'}}
984+ // expected-note@+2{{to match this '('}}
985+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
986+ #pragma acc parallel device_type(*,)
987+ // expected-error@+3{{expected ')'}}
988+ // expected-note@+2{{to match this '('}}
989+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
990+ #pragma acc parallel dtype(*,)
991+
992+ // expected-error@+3{{expected ')'}}
993+ // expected-note@+2{{to match this '('}}
994+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
995+ #pragma acc parallel device_type(*,ident)
996+ // expected-error@+3{{expected ')'}}
997+ // expected-note@+2{{to match this '('}}
998+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
999+ #pragma acc parallel dtype(*,ident)
1000+
1001+ // expected-error@+2{{expected identifier}}
1002+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
1003+ #pragma acc parallel device_type(ident, *)
1004+ // expected-error@+2{{expected identifier}}
1005+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
1006+ #pragma acc parallel dtype(ident, *)
1007+
1008+ // expected-error@+2{{expected identifier}}
1009+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
1010+ #pragma acc parallel device_type("foo", 54)
1011+ // expected-error@+2{{expected identifier}}
1012+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
1013+ #pragma acc parallel dtype(31, "bar")
1014+
1015+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
1016+ #pragma acc parallel device_type(ident, auto, int, float)
1017+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
1018+ #pragma acc parallel dtype(ident, auto, int, float)
1019+
1020+ // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
1021+ #pragma acc parallel device_type(ident, auto, int, float) dtype(ident, auto, int, float)
9101022}
9111023
9121024 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
0 commit comments