summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-serialize-container.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2023-09-26 15:40:22 -0400
committerGitHub <noreply@github.com>2023-09-26 12:40:22 -0700
commita18dca27392b257ba2cc58ceabdf15471f34ee25 (patch)
treee76ed8fa4fbdc3f9fa3e0ea4f1b45bde64b57eab /source/slang/slang-serialize-container.cpp
parent6c991942ac4ec2e2abf6abe73a2429183172af84 (diff)
Fix for epoch/ASTBuilder* nullptr issue (#3240)
* Fix issue with failing tests tests/serialization/serialized-module-test.slang tests/serialization/extern/extern-test.slang * Fix issue with session destruction order on Session. * Improve comment.
Diffstat (limited to 'source/slang/slang-serialize-container.cpp')
-rw-r--r--source/slang/slang-serialize-container.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/slang/slang-serialize-container.cpp b/source/slang/slang-serialize-container.cpp
index 263abf465..175f970c9 100644
--- a/source/slang/slang-serialize-container.cpp
+++ b/source/slang/slang-serialize-container.cpp
@@ -390,6 +390,9 @@ static List<ExtensionDecl*>& _getCandidateExtensionList(
astBuilder = new ASTBuilder(options.sharedASTBuilder, buf.produceString());
}
+ /// We need to make the current ASTBuilder available for access via thread_local global.
+ SetASTBuilderContextRAII astBuilderRAII(astBuilder);
+
DefaultSerialObjectFactory objectFactory(astBuilder);
SerialReader reader(serialClasses, &objectFactory);