diff options
Diffstat (limited to 'backendC/CleanCompilerSources/codegen3.c')
-rw-r--r-- | backendC/CleanCompilerSources/codegen3.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/backendC/CleanCompilerSources/codegen3.c b/backendC/CleanCompilerSources/codegen3.c index 8e88087..7a48e02 100644 --- a/backendC/CleanCompilerSources/codegen3.c +++ b/backendC/CleanCompilerSources/codegen3.c @@ -958,6 +958,20 @@ static void CodeNormalRootNode (Node root,NodeId rootid,int asp,int bsp,CodeGenN GenBuildString (rootsymb->symb_val); GenRtn (1, 0, OnAState); return; + case integer_denot: + GenPopA (asp); + GenPopB (bsp); + + GenPushZ (rootsymb->symb_val); + if (IsSimpleState (resultstate)){ + LabDef record_lab; + + ConvertSymbolToRLabel (&record_lab,BasicSymbolStates [integer_denot].state_record_symbol); + GenBuildR (&record_lab,1,1,0,0,True); + GenRtn (1,0,OnAState); + } else + GenRtn (1,1,resultstate); + return; default: if (rootsymb->symb_kind < Nr_Of_Basic_Types) FillRhsRoot (&BasicDescriptors[rootsymb->symb_kind], root, asp, bsp,code_gen_node_ids_p); |