Skip to content

Commit 03460a1

Browse files
committed
Fix sema codes
Signed-off-by: Soumi Manna <[email protected]>
1 parent fdfbe19 commit 03460a1

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -863,8 +863,9 @@ class KernelObjVisitor {
863863

864864
// Base case, only calls these when filtered.
865865
template <typename... FilteredHandlers, typename ParentTy>
866-
void VisitUnion(FilteredHandlers &... handlers, const CXXRecordDecl *Owner,
867-
ParentTy &Parent, const CXXRecordDecl *Wrapper) {
866+
std::enable_if_t<(sizeof...(FilteredHandlers) > 0)>
867+
VisitUnion(FilteredHandlers &... handlers, const CXXRecordDecl *Owner,
868+
ParentTy &Parent, const CXXRecordDecl *Wrapper) {
868869
(void)std::initializer_list<int>{
869870
(handlers.enterUnion(Owner, Parent), 0)...};
870871
VisitRecordHelper(Wrapper, Wrapper->fields(), handlers...);
@@ -877,11 +878,10 @@ class KernelObjVisitor {
877878
void VisitUnion(const CXXRecordDecl *Owner, ParentTy &Parent,
878879
const CXXRecordDecl *Wrapper) {}
879880

880-
// Add overloads including the base case when
881-
// sizeof...(FilteredHandlers) > 0.
882881
template <typename... FilteredHandlers, typename ParentTy,
883882
typename CurHandler, typename... Handlers>
884-
std::enable_if_t<!CurHandler::VisitUnionBody>
883+
std::enable_if_t<!CurHandler::VisitUnionBody &&
884+
(sizeof...(FilteredHandlers) > 0)>
885885
VisitUnion(FilteredHandlers &... filtered_handlers,
886886
const CXXRecordDecl *Owner, ParentTy &Parent,
887887
const CXXRecordDecl *Wrapper, CurHandler &cur_handler,
@@ -892,7 +892,8 @@ class KernelObjVisitor {
892892

893893
template <typename... FilteredHandlers, typename ParentTy,
894894
typename CurHandler, typename... Handlers>
895-
std::enable_if_t<CurHandler::VisitUnionBody>
895+
std::enable_if_t<CurHandler::VisitUnionBody &&
896+
(sizeof...(FilteredHandlers) > 0)>
896897
VisitUnion(FilteredHandlers &... filtered_handlers,
897898
const CXXRecordDecl *Owner, ParentTy &Parent,
898899
const CXXRecordDecl *Wrapper, CurHandler &cur_handler,

0 commit comments

Comments
 (0)