summaryrefslogtreecommitdiff
path: root/source/slang/slang-parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-parser.cpp')
-rw-r--r--source/slang/slang-parser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp
index e0ffba53c..b89b93138 100644
--- a/source/slang/slang-parser.cpp
+++ b/source/slang/slang-parser.cpp
@@ -3232,6 +3232,9 @@ namespace Slang
inheritanceDecl->base = base;
AddMember(decl, inheritanceDecl);
+
+ if (parser->pendingModifiers->hasModifier<ExternModifier>())
+ addModifier(inheritanceDecl, parser->astBuilder->create<ExternModifier>());
} while (AdvanceIf(parser, TokenType::Comma));
}
@@ -4730,6 +4733,8 @@ namespace Slang
// We allow for an inheritance clause on a `struct`
// so that it can conform to interfaces.
parseOptionalInheritanceClause(this, rs);
+ if (AdvanceIf(this, TokenType::Semicolon))
+ return rs;
parseDeclBody(this, rs);
return rs;
});