summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-check-modifier.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-modifier.cpp')
-rw-r--r--source/slang/slang-check-modifier.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/source/slang/slang-check-modifier.cpp b/source/slang/slang-check-modifier.cpp
index aebfe3b96..05eb978bc 100644
--- a/source/slang/slang-check-modifier.cpp
+++ b/source/slang/slang-check-modifier.cpp
@@ -752,18 +752,15 @@ Modifier* SemanticsVisitor::validateAttribute(
{
auto& arg = attr->args[paramIndex];
bool typeChecked = false;
- if (auto basicType = as<BasicExpressionType>(paramDecl->getType()))
+ if (isValidCompileTimeConstantType(paramDecl->getType()))
{
- if (basicType->getBaseType() == BaseType::Int)
+ if (auto cint = checkConstantIntVal(arg))
{
- if (auto cint = checkConstantIntVal(arg))
- {
- for (Index ci = attr->intArgVals.getCount(); ci < paramIndex + 1; ci++)
- attr->intArgVals.add(nullptr);
- attr->intArgVals[(uint32_t)paramIndex] = cint;
- }
- typeChecked = true;
+ for (Index ci = attr->intArgVals.getCount(); ci < paramIndex + 1; ci++)
+ attr->intArgVals.add(nullptr);
+ attr->intArgVals[(uint32_t)paramIndex] = cint;
}
+ typeChecked = true;
}
if (!typeChecked)
{