Changed freeing symbol relations, cosmetic changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@2610 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -111,6 +111,11 @@ static void FreeExprNode (ExprNode* E)
|
|||||||
/* Free a node */
|
/* Free a node */
|
||||||
{
|
{
|
||||||
if (E) {
|
if (E) {
|
||||||
|
if (E->Op == EXPR_SYMBOL) {
|
||||||
|
/* Remove the symbol reference */
|
||||||
|
SymDelRef (E->V.Sym, E);
|
||||||
|
}
|
||||||
|
/* Place the symbol into the free nodes list if possible */
|
||||||
if (FreeNodeCount < MAX_FREE_NODES) {
|
if (FreeNodeCount < MAX_FREE_NODES) {
|
||||||
/* Remember this node for later */
|
/* Remember this node for later */
|
||||||
E->Left = FreeExprNodes;
|
E->Left = FreeExprNodes;
|
||||||
@@ -951,10 +956,6 @@ void FreeExpr (ExprNode* Root)
|
|||||||
if (Root) {
|
if (Root) {
|
||||||
FreeExpr (Root->Left);
|
FreeExpr (Root->Left);
|
||||||
FreeExpr (Root->Right);
|
FreeExpr (Root->Right);
|
||||||
if (Root->Op == EXPR_SYMBOL) {
|
|
||||||
/* Remove the symbol reference */
|
|
||||||
SymDelRef (Root->V.Sym, Root);
|
|
||||||
}
|
|
||||||
FreeExprNode (Root);
|
FreeExprNode (Root);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user