diff options
Diffstat (limited to 'source/slang/slang-check-modifier.cpp')
| -rw-r--r-- | source/slang/slang-check-modifier.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/slang/slang-check-modifier.cpp b/source/slang/slang-check-modifier.cpp index 483ff0e18..705d0bb3b 100644 --- a/source/slang/slang-check-modifier.cpp +++ b/source/slang/slang-check-modifier.cpp @@ -842,6 +842,16 @@ namespace Slang else if (auto primalOfAttr = as<PrimalSubstituteOfAttribute>(attr)) primalOfAttr->funcExpr = attr->args[0]; } + else if (auto preferRecomputeAttr = as<PreferRecomputeAttribute>(attr)) + { + SLANG_ASSERT(attr->args.getCount() == 1); + SLANG_ASSERT(as<Decl>(attrTarget)); + + auto val = checkConstantIntVal(attr->args[0]); + if (!val) return false; + + preferRecomputeAttr->sideEffectBehavior = (PreferRecomputeAttribute::SideEffectBehavior) val->getValue(); + } else if (auto comInterfaceAttr = as<ComInterfaceAttribute>(attr)) { SLANG_ASSERT(attr->args.getCount() == 1); |
