diff --git a/src/mapleall/maple_me/include/alias_class.h b/src/mapleall/maple_me/include/alias_class.h index 97594707647855c1b221488b1e34472f432ea0f4..474762badd4fe85afaf61daa99ff9afbabd27309 100644 --- a/src/mapleall/maple_me/include/alias_class.h +++ b/src/mapleall/maple_me/include/alias_class.h @@ -45,6 +45,10 @@ class AliasElem { return ost; } + OriginalSt *GetOst() { + return &ost; + } + bool IsNotAllDefsSeen() const { return notAllDefsSeen; } diff --git a/src/mapleall/maple_me/src/alias_class.cpp b/src/mapleall/maple_me/src/alias_class.cpp index 43ceb930742bf570221b1af466cba0fcc197ac00..0e9718de645a764dd9e222c6672a86501ef694ed 100644 --- a/src/mapleall/maple_me/src/alias_class.cpp +++ b/src/mapleall/maple_me/src/alias_class.cpp @@ -172,7 +172,7 @@ AliasElem *AliasClass::FindOrCreateExtraLevAliasElem(BaseNode &expr, TyIdx tyIdx if (ainfo.ae == nullptr) { return nullptr; } - } else if (ainfo.ae == nullptr) { + } else if (ainfo.ae == nullptr || IsNullOrDummySymbolOst(ainfo.ae->GetOst())) { return FindOrCreateDummyNADSAe(); } OriginalSt *newOst = nullptr;