diff options
author | Joao Saffran <joaosaffranllvm@gmail.com> | 2025-09-10 12:13:09 -0700 |
---|---|---|
committer | Joao Saffran <joaosaffranllvm@gmail.com> | 2025-09-10 12:13:09 -0700 |
commit | a660f455c3406682674dfe5fba5fe0c239acaa14 (patch) | |
tree | 53cab44d44a0a9662bef02a7653951ee9aa67cca | |
parent | 3b35627bb64ff82e671799004419a6b182382083 (diff) | |
download | llvm-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.cpp | 4 |
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)) { |