@@ -2475,12 +2475,14 @@ class SyclKernelIntHeaderCreator : public SyclKernelFieldHandler {
24752475
24762476} // namespace
24772477
2478- class SYCLKernelNameTypeVisitor : public TypeVisitor <SYCLKernelNameTypeVisitor>,
2479- public ConstTemplateArgumentVisitor<SYCLKernelNameTypeVisitor> {
2478+ class SYCLKernelNameTypeVisitor
2479+ : public TypeVisitor<SYCLKernelNameTypeVisitor>,
2480+ public ConstTemplateArgumentVisitor<SYCLKernelNameTypeVisitor> {
24802481 Sema &S;
24812482 SourceLocation Loc;
24822483 using InnerTypeVisitor = TypeVisitor<SYCLKernelNameTypeVisitor>;
2483- using InnerTAVisitor = ConstTemplateArgumentVisitor<SYCLKernelNameTypeVisitor>;
2484+ using InnerTAVisitor =
2485+ ConstTemplateArgumentVisitor<SYCLKernelNameTypeVisitor>;
24842486
24852487public:
24862488 SYCLKernelNameTypeVisitor (Sema &S, SourceLocation Loc) : S(S), Loc(Loc) {}
@@ -2524,6 +2526,7 @@ class SYCLKernelNameTypeVisitor : public TypeVisitor<SYCLKernelNameTypeVisitor>,
25242526 bool UnnamedLambdaEnabled =
25252527 S.getASTContext ().getLangOpts ().SYCLUnnamedLambda ;
25262528 if (Tag && !Tag->getDeclContext ()->isTranslationUnit () &&
2529+ !dyn_cast_or_null<NamespaceDecl>(Tag->getDeclContext ()) &&
25272530 !UnnamedLambdaEnabled) {
25282531 const bool KernelNameIsMissing = Tag->getName ().empty ();
25292532 if (KernelNameIsMissing) {
@@ -2553,7 +2556,7 @@ class SYCLKernelNameTypeVisitor : public TypeVisitor<SYCLKernelNameTypeVisitor>,
25532556 }
25542557 return ;
25552558 }
2556-
2559+
25572560 void VisitIntegralTemplateArgument (const TemplateArgument &TA) {
25582561 QualType T = TA.getIntegralType ();
25592562 if (const EnumType *ET = T->getAs <EnumType>()) {
0 commit comments