From 7b447bdad29c828b49ba63cefacc677bd7c58b28 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Fri, 9 Jul 2021 16:29:23 -0400 Subject: Make Scope non ref counted (#1904) * Add debug symbols for release build. * Hack to try and capture failing compilation. * Typo fix for capture hack. * Specify return type on lambdas. * Added const. * Try breakpoint. * Up count * Let's capture everything so we can valgrind. * Disable always writing repros. * Make Scope non RefCounted. * Fix issue with not serializing Scope. * More comments around changes to Scope. Remove Scope* from serialization. * Remove code used for testing original issue. --- source/slang/slang-ast-expr.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'source/slang/slang-ast-expr.h') diff --git a/source/slang/slang-ast-expr.h b/source/slang/slang-ast-expr.h index d79982b5d..81bed9264 100644 --- a/source/slang/slang-ast-expr.h +++ b/source/slang/slang-ast-expr.h @@ -13,14 +13,16 @@ class DeclRefExpr: public Expr { SLANG_ABSTRACT_AST_CLASS(DeclRefExpr) - // The scope in which to perform lookup - RefPtr scope; - + // The declaration of the symbol being referenced DeclRef declRef; // The name of the symbol being referenced - Name* name; + Name* name = nullptr; + + SLANG_UNREFLECTED + // The scope in which to perform lookup + Scope* scope = nullptr; }; class VarExpr : public DeclRefExpr @@ -287,7 +289,9 @@ class ParenExpr: public Expr class ThisExpr: public Expr { SLANG_AST_CLASS(ThisExpr) - RefPtr scope; + + SLANG_UNREFLECTED + Scope* scope = nullptr; }; // An expression that binds a temporary variable in a local expression context @@ -322,7 +326,9 @@ class TaggedUnionTypeExpr: public Expr class ThisTypeExpr: public Expr { SLANG_AST_CLASS(ThisTypeExpr) - RefPtr scope; + + SLANG_UNREFLECTED + Scope* scope = nullptr; }; /// A type expression of the form `Left & Right`. -- cgit v1.2.3