diff options
author | Adrian Thurston <thurston@complang.org> | 2009-03-04 04:14:46 +0000 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2009-03-04 04:14:46 +0000 |
commit | 82123d34d3bc28bce9e75be756acc016e6560561 (patch) | |
tree | fa0522765c782c77a7f6727df294e270af14eec7 | |
parent | db51647c541b6a0827d2791e82232a55dc140aed (diff) | |
download | colm-82123d34d3bc28bce9e75be756acc016e6560561.tar.gz |
Bug fix: match_text was getting into the list of locals. It loaded with a
special bytecode and is not on the stack.
-rw-r--r-- | colm/compile.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/colm/compile.cpp b/colm/compile.cpp index d4d2f503..19f42293 100644 --- a/colm/compile.cpp +++ b/colm/compile.cpp @@ -2091,7 +2091,9 @@ void ParseData::findLocalTrees( CharSet &trees ) * the frame is is cleaned and so it must survive. */ for ( ObjFieldMap::Iter of = *curLocalFrame->objFieldMap; of.lte(); of++ ) { ObjField *el = of->value; - if ( !el->isLhsEl && el->beenReferenced ) { + /* FIXME: This test needs to be improved. Match_text was getting + * through before useOffset was tested. What will? */ + if ( el->useOffset && !el->isLhsEl && el->beenReferenced ) { UniqueType *ut = el->typeRef->lookupType( this ); if ( ut->typeId == TYPE_TREE || ut->typeId == TYPE_PTR ) trees.insert( el->offset ); |