From 401d8cdb12ae69aeb216c80c9bb90240d8359649 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 23 Feb 2024 16:39:46 -0800 Subject: Add slangc interface to compile and use ir modules. (#3615) * Add slangc interface to compile and use ir modules. * Fix glsl scalar layout settings not copied to target. * Fix. * Cleanups. --- source/slang/slang-check-decl.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'source/slang/slang-check-decl.cpp') diff --git a/source/slang/slang-check-decl.cpp b/source/slang/slang-check-decl.cpp index 28db66c45..25f535825 100644 --- a/source/slang/slang-check-decl.cpp +++ b/source/slang/slang-check-decl.cpp @@ -1712,7 +1712,7 @@ namespace Slang { if (auto varDeclRefType = as(varDecl->type.type)) { - parentAggTypeDecl->unionTagsWith(getTypeTags(varDecl->type.type)); + parentAggTypeDecl->unionTagsWith(getTypeTags(varDeclRefType)); } } @@ -9321,20 +9321,21 @@ namespace Slang else if (as(modifier)) return DeclVisibility::Private; } - // Interface members will always have the same visibility as the interface itself. if (auto interfaceDecl = findParentInterfaceDecl(decl)) { return getDeclVisibility(interfaceDecl); } - else if (as(decl)) + auto defaultVis = DeclVisibility::Default; + if (auto parentModule = getModuleDecl(decl)) + defaultVis = parentModule->isInLegacyLanguage ? DeclVisibility::Public : DeclVisibility::Internal; + + // Members of other agg type decls will have their default visibility capped to the parents'. + if (as(decl)) { return DeclVisibility::Public; } - if (auto parentModule = getModuleDecl(decl)) - return parentModule->isInLegacyLanguage ? DeclVisibility::Public : DeclVisibility::Internal; - - return DeclVisibility::Default; + return defaultVis; } void diagnoseCapabilityProvenance(DiagnosticSink* sink, Decl* decl, CapabilityAtom missingAtom) -- cgit v1.2.3