From 004f6e30b5df3a3df2c26fe5c4a5e78c49f71166 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 9 Nov 2022 19:19:17 -0800 Subject: Add `[ForwardDerivativeOf]` attribute. (#2501) * Add [ForwardDerivativeOf] attribute. * Fix handling around phi nodes. * Fixes. * Remove IR opcode for ForwardDerivativeOfDecoration. Co-authored-by: Yong He --- source/slang/slang-ast-support-types.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'source/slang/slang-ast-support-types.cpp') diff --git a/source/slang/slang-ast-support-types.cpp b/source/slang/slang-ast-support-types.cpp index 7133f2a65..1f30e0238 100644 --- a/source/slang/slang-ast-support-types.cpp +++ b/source/slang/slang-ast-support-types.cpp @@ -14,4 +14,24 @@ QualType::QualType(Type* type) } } +void removeModifier(ModifiableSyntaxNode* syntax, Modifier* toRemove) +{ + Modifier* prev = nullptr; + for (auto modifier = syntax->modifiers.first; modifier; modifier = modifier->next) + { + if (modifier == toRemove) + { + if (prev) + { + prev->next = modifier->next; + } + else + { + syntax->modifiers.first = syntax->modifiers.first->next; + } + break; + } + prev = modifier; + } +} } -- cgit v1.2.3