summaryrefslogtreecommitdiff
path: root/source/slang/slang-type-layout.cpp
diff options
context:
space:
mode:
authorDarren Wihandi <65404740+fairywreath@users.noreply.github.com>2025-03-21 11:52:28 -0400
committerGitHub <noreply@github.com>2025-03-21 15:52:28 +0000
commit844d8d2212d11f3d28a55c81f234c99db2c26250 (patch)
treef541932dc6fca77f8b0f5ad869644a674d60fccf /source/slang/slang-type-layout.cpp
parent16ac0efa3e1e834e3b12af8ac34cf47a6418bb34 (diff)
Emit errors for missing returns on unsupported targets (#6633)
* initial wip * more WIP * preserve old lower behavior * remove unnecessary includes * add test * add no target case in test * fix broken test --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
Diffstat (limited to 'source/slang/slang-type-layout.cpp')
-rw-r--r--source/slang/slang-type-layout.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/source/slang/slang-type-layout.cpp b/source/slang/slang-type-layout.cpp
index e6729ca85..63bcd1ba2 100644
--- a/source/slang/slang-type-layout.cpp
+++ b/source/slang/slang-type-layout.cpp
@@ -2508,9 +2508,9 @@ bool isMetalTarget(TargetRequest* targetReq)
}
}
-bool isKhronosTarget(TargetRequest* targetReq)
+bool isKhronosTarget(CodeGenTarget target)
{
- switch (targetReq->getTarget())
+ switch (target)
{
default:
return false;
@@ -2522,6 +2522,11 @@ bool isKhronosTarget(TargetRequest* targetReq)
}
}
+bool isKhronosTarget(TargetRequest* targetReq)
+{
+ return isKhronosTarget(targetReq->getTarget());
+}
+
bool isCPUTarget(TargetRequest* targetReq)
{
return ArtifactDescUtil::isCpuLikeTarget(
@@ -2541,9 +2546,9 @@ bool isCUDATarget(TargetRequest* targetReq)
}
}
-bool isWGPUTarget(TargetRequest* targetReq)
+bool isWGPUTarget(CodeGenTarget target)
{
- switch (targetReq->getTarget())
+ switch (target)
{
default:
return false;
@@ -2555,6 +2560,11 @@ bool isWGPUTarget(TargetRequest* targetReq)
}
}
+bool isWGPUTarget(TargetRequest* targetReq)
+{
+ return isWGPUTarget(targetReq->getTarget());
+}
+
SourceLanguage getIntermediateSourceLanguageForTarget(TargetProgram* targetProgram)
{
// If we are emitting directly, there is no intermediate source language