Skip to content

Commit eead667

Browse files
Implemented review comments:
Changed 'check' function to return true on error. Changed diagnostic message. Signed-off-by: Elizabeth Andrews <[email protected]>
1 parent 9d07023 commit eead667

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10762,7 +10762,7 @@ def err_builtin_launder_invalid_arg : Error<
1076210762
def err_sycl_kernel_incorrectly_named : Error<
1076310763
"kernel %select{name is missing"
1076410764
"|needs to have a globally-visible name"
10765-
"|name cannot be templated using unscoped enum without fixed underlying type"
10765+
"|name is invalid. Unscoped enum requires fixed underlying type"
1076610766
"}0">;
1076710767
def err_sycl_restrict : Error<
1076810768
"SYCL kernel cannot "

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1644,9 +1644,9 @@ static bool checkEnumTemplateParameter(const EnumDecl *ED,
16441644
Diag.Report(KernelLocation, diag::err_sycl_kernel_incorrectly_named) << 2;
16451645
Diag.Report(ED->getSourceRange().getBegin(), diag::note_entity_declared_at)
16461646
<< ED;
1647-
return false;
1647+
return true;
16481648
}
1649-
return true;
1649+
return false;
16501650
}
16511651

16521652
// Emits a forward declaration
@@ -1794,7 +1794,7 @@ void SYCLIntegrationHeader::emitForwardClassDecls(
17941794
// Handle Kernel Name Type templated using enum type and value.
17951795
if (const auto *ET = T->getAs<EnumType>()) {
17961796
const EnumDecl *ED = ET->getDecl();
1797-
if (checkEnumTemplateParameter(ED, Diag, KernelLocation))
1797+
if (!checkEnumTemplateParameter(ED, Diag, KernelLocation))
17981798
emitFwdDecl(O, ED, KernelLocation);
17991799
} else if (Arg.getKind() == TemplateArgument::ArgKind::Type)
18001800
emitForwardClassDecls(O, T, KernelLocation, Printed);

clang/test/SemaSYCL/kernelname-enum.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class dummy_functor_1 {
3131
void operator()() {}
3232
};
3333

34-
// expected-error@+2 {{kernel name cannot be templated using unscoped enum without fixed underlying type}}
34+
// expected-error@+2 {{kernel name is invalid. Unscoped enum requires fixed underlying type}}
3535
template <unscoped_enum_no_type_set EnumType>
3636
class dummy_functor_2 {
3737
public:

0 commit comments

Comments
 (0)