Skip to content

Commit 8fe2846

Browse files
authored
[SYCL] Deny pragma spelling for SYCL-specific attributes (#1815)
Signed-off-by: Dmitry Sidorov <[email protected]>
1 parent c54c92e commit 8fe2846

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

clang/include/clang/Basic/Attr.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,6 +1125,7 @@ def SYCLDevice : InheritableAttr {
11251125
let Subjects = SubjectList<[Function]>;
11261126
let LangOpts = [SYCLIsDevice];
11271127
let Documentation = [SYCLDeviceDocs];
1128+
let PragmaAttributeSupport = 0;
11281129
}
11291130

11301131
def SYCLKernel : InheritableAttr {
@@ -1160,6 +1161,7 @@ def SYCLDeviceIndirectlyCallable : InheritableAttr {
11601161
let Subjects = SubjectList<[Function]>;
11611162
let LangOpts = [SYCLIsDevice];
11621163
let Documentation = [SYCLDeviceIndirectlyCallableDocs];
1164+
let PragmaAttributeSupport = 0;
11631165
}
11641166

11651167
def SYCLIntelKernelArgsRestrict : InheritableAttr {
@@ -1168,6 +1170,7 @@ def SYCLIntelKernelArgsRestrict : InheritableAttr {
11681170
let LangOpts = [ SYCLIsDevice, SYCLIsHost ];
11691171
let Documentation = [ SYCLIntelKernelArgsRestrictDocs ];
11701172
let SimpleHandler = 1;
1173+
let PragmaAttributeSupport = 0;
11711174
}
11721175

11731176
def SYCLIntelNumSimdWorkItems : InheritableAttr {
@@ -1266,6 +1269,7 @@ def IntelReqdSubGroupSize: InheritableAttr {
12661269
let Subjects = SubjectList<[Function, CXXMethod], ErrorDiag>;
12671270
let Documentation = [IntelReqdSubGroupSizeDocs];
12681271
let LangOpts = [OpenCL, SYCLIsDevice, SYCLIsHost];
1272+
let PragmaAttributeSupport = 0;
12691273
}
12701274

12711275
// This attribute is both a type attribute, and a declaration attribute (for

clang/test/Misc/pragma-attribute-supported-attributes-list.test

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@
6666
// CHECK-NEXT: IBAction (SubjectMatchRule_objc_method_is_instance)
6767
// CHECK-NEXT: IFunc (SubjectMatchRule_function)
6868
// CHECK-NEXT: InitPriority (SubjectMatchRule_variable)
69-
// CHECK-NEXT: IntelReqdSubGroupSize (SubjectMatchRule_function, SubjectMatchRule_function_is_member)
7069
// CHECK-NEXT: InternalLinkage (SubjectMatchRule_variable, SubjectMatchRule_function, SubjectMatchRule_record)
7170
// CHECK-NEXT: LTOVisibilityPublic (SubjectMatchRule_record)
7271
// CHECK-NEXT: LoaderUninitialized (SubjectMatchRule_variable_is_global)
@@ -141,9 +140,6 @@
141140
// CHECK-NEXT: ReturnTypestate (SubjectMatchRule_function, SubjectMatchRule_variable_is_parameter)
142141
// CHECK-NEXT: ReturnsNonNull (SubjectMatchRule_objc_method, SubjectMatchRule_function)
143142
// CHECK-NEXT: ReturnsTwice (SubjectMatchRule_function)
144-
// CHECK-NEXT: SYCLDevice (SubjectMatchRule_function)
145-
// CHECK-NEXT: SYCLDeviceIndirectlyCallable (SubjectMatchRule_function)
146-
// CHECK-NEXT: SYCLIntelKernelArgsRestrict (SubjectMatchRule_function)
147143
// CHECK-NEXT: ScopedLockable (SubjectMatchRule_record)
148144
// CHECK-NEXT: Section (SubjectMatchRule_function, SubjectMatchRule_variable_is_global, SubjectMatchRule_objc_method, SubjectMatchRule_objc_property)
149145
// CHECK-NEXT: SetTypestate (SubjectMatchRule_function_is_member)

0 commit comments

Comments
 (0)