From 5c6417ad9cf60ce46d8144c792e7d91a93f3914c Mon Sep 17 00:00:00 2001 From: Damyan Pepper Date: Sat, 25 Apr 2026 18:49:48 -0700 Subject: [PATCH 1/2] Fix building when SPIRV is disabled. Fixes build break introduced by ec9d97a98 (#8365), which referenced hlsl::GetVKBufferPointerAlignment and m_vkBufferPointerTemplateDecl unconditionally. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tools/clang/lib/Sema/SemaHLSL.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/clang/lib/Sema/SemaHLSL.cpp b/tools/clang/lib/Sema/SemaHLSL.cpp index 67ff2c47c7..e953758bd3 100644 --- a/tools/clang/lib/Sema/SemaHLSL.cpp +++ b/tools/clang/lib/Sema/SemaHLSL.cpp @@ -7443,6 +7443,7 @@ bool HLSLExternalSource::MatchArguments( if (i == 0 && (builtinOp == hlsl::IntrinsicOp::IOP_Vkreinterpret_pointer_cast || builtinOp == hlsl::IntrinsicOp::IOP_Vkstatic_pointer_cast)) { +#ifdef ENABLE_SPIRV_CODEGEN if (functionTemplateTypeArg.isNull()) { badArgIdx = std::min(badArgIdx, i); continue; @@ -7482,6 +7483,10 @@ bool HLSLExternalSource::MatchArguments( pNewType = m_context->getTemplateSpecializationType( TemplateName(m_vkBufferPointerTemplateDecl), TemplateArgs, 2, m_context->getTypeDeclType(Spec)); +#else + // The IOP_Vk* opcodes are only reachable when ENABLE_SPIRV_CODEGEN is defined. + llvm_unreachable("vk:: pointer cast intrinsics require SPIR-V codegen"); +#endif // ENABLE_SPIRV_CODEGEN } else { badArgIdx = std::min(badArgIdx, i); } From 3dd164799ff6a501d1838072be57f41b0069ce3e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 26 Apr 2026 01:56:01 +0000 Subject: [PATCH 2/2] chore: autopublish 2026-04-26T01:56:01Z --- tools/clang/lib/Sema/SemaHLSL.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/clang/lib/Sema/SemaHLSL.cpp b/tools/clang/lib/Sema/SemaHLSL.cpp index e953758bd3..7df68f5a11 100644 --- a/tools/clang/lib/Sema/SemaHLSL.cpp +++ b/tools/clang/lib/Sema/SemaHLSL.cpp @@ -7484,7 +7484,8 @@ bool HLSLExternalSource::MatchArguments( TemplateName(m_vkBufferPointerTemplateDecl), TemplateArgs, 2, m_context->getTypeDeclType(Spec)); #else - // The IOP_Vk* opcodes are only reachable when ENABLE_SPIRV_CODEGEN is defined. + // The IOP_Vk* opcodes are only reachable when ENABLE_SPIRV_CODEGEN is + // defined. llvm_unreachable("vk:: pointer cast intrinsics require SPIR-V codegen"); #endif // ENABLE_SPIRV_CODEGEN } else {