diff options
Diffstat (limited to 'source/slang/slang-check-modifier.cpp')
| -rw-r--r-- | source/slang/slang-check-modifier.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/slang/slang-check-modifier.cpp b/source/slang/slang-check-modifier.cpp index 56d905063..b8ff1a116 100644 --- a/source/slang/slang-check-modifier.cpp +++ b/source/slang/slang-check-modifier.cpp @@ -212,10 +212,14 @@ namespace Slang attrDecl->nameAndLoc.loc = structDecl->nameAndLoc.loc; attrDecl->loc = structDecl->loc; - AttributeTargetModifier* targetModifier = m_astBuilder->create<AttributeTargetModifier>(); - targetModifier->syntaxClass = attrUsageAttr->targetSyntaxClass; - targetModifier->loc = attrUsageAttr->loc; - addModifier(attrDecl, targetModifier); + while(attrUsageAttr) + { + AttributeTargetModifier* targetModifier = m_astBuilder->create<AttributeTargetModifier>(); + targetModifier->syntaxClass = attrUsageAttr->targetSyntaxClass; + targetModifier->loc = attrUsageAttr->loc; + addModifier(attrDecl, targetModifier); + attrUsageAttr = as<AttributeUsageAttribute>(attrUsageAttr->next); + } // Every attribute declaration is associated with the type // of syntax nodes it constructs (via reflection/RTTI). |
