diff options
author | Adrian Thurston <thurston@colm.net> | 2019-12-30 14:31:22 +0200 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2019-12-30 14:31:22 +0200 |
commit | 06fbe467c0b900ce20705ad3b4eb8e8454b4a56e (patch) | |
tree | 4fbd70496081758802910bc8d4fb68cc336cb9ea /colm/synthesis.cc | |
parent | d01f82860b3d7d4234726cd3e7d8c379e7a5633c (diff) | |
download | colm-06fbe467c0b900ce20705ad3b4eb8e8454b4a56e.tar.gz |
colm: implemented IN_SET_RHS_VAL_WC and stubbed related
Was not possible to set a named RHS element in a tree. Added the _WC version
and stubbed the others.
Diffstat (limited to 'colm/synthesis.cc')
-rw-r--r-- | colm/synthesis.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/colm/synthesis.cc b/colm/synthesis.cc index e1d192b6..17c2440a 100644 --- a/colm/synthesis.cc +++ b/colm/synthesis.cc @@ -760,6 +760,14 @@ void LangVarRef::setField( Compiler *pd, CodeVect &code, /* Maybe write out an offset. */ if ( el->useOffset() ) code.appendHalf( el->offset ); + else if ( el->isRhsGet() ) { + /* Need to place the array computing the val. */ + code.append( el->rhsVal.length() ); + for ( Vector<RhsVal>::Iter rg = el->rhsVal; rg.lte(); rg++ ) { + code.append( rg->prodEl->production->prodNum ); + code.append( rg->prodEl->pos ); + } + } } |