aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Saffran <joaosaffranllvm@gmail.com>2025-09-10 12:13:09 -0700
committerJoao Saffran <joaosaffranllvm@gmail.com>2025-09-10 12:13:09 -0700
commita660f455c3406682674dfe5fba5fe0c239acaa14 (patch)
tree53cab44d44a0a9662bef02a7653951ee9aa67cca
parent3b35627bb64ff82e671799004419a6b182382083 (diff)
downloadllvm-users/joaosaffran/154631.zip
llvm-users/joaosaffran/154631.tar.gz
llvm-users/joaosaffran/154631.tar.bz2
making extractEnumValue stricterusers/joaosaffran/154631
-rw-r--r--llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp b/llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
index fdb5c52..f29f2c7 100644
--- a/llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
+++ b/llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
@@ -52,7 +52,9 @@ static std::optional<StringRef> extractMdStringValue(MDNode *Node,
return NodeText->getString();
}
-template <typename T, std::enable_if_t<std::is_enum_v<T>, int> = 0>
+template <typename T, typename = std::enable_if_t<
+ std::is_enum_v<T> &&
+ std::is_same_v<std::underlying_type_t<T>, uint32_t>>>
Expected<T> extractEnumValue(MDNode *Node, unsigned int OpId, StringRef ErrText,
llvm::function_ref<bool(uint32_t)> VerifyFn) {
if (std::optional<uint32_t> Val = extractMdIntValue(Node, OpId)) {