diff options
author | johnvg | 2013-04-09 14:13:40 +0000 |
---|---|---|
committer | johnvg | 2013-04-09 14:13:40 +0000 |
commit | fa65e3028e0268ad32b005cd379bccf9a7b547b9 (patch) | |
tree | 259ff2d516cc1f69bc7e4fc8576726a1a4627719 /backendC/CleanCompilerSources | |
parent | increase heap size of the compiler (diff) |
in lazy record selector offsets for the garbage collector, swap the offsets,
because the code generator swaps the fields in a FILE node
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2230 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC/CleanCompilerSources')
-rw-r--r-- | backendC/CleanCompilerSources/instructions.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/backendC/CleanCompilerSources/instructions.c b/backendC/CleanCompilerSources/instructions.c index 2a97654..6234be1 100644 --- a/backendC/CleanCompilerSources/instructions.c +++ b/backendC/CleanCompilerSources/instructions.c @@ -3328,6 +3328,14 @@ static void print_result_descriptor_and_offsets (StateS field_state,int a_pos,in } else offset2=0; + if (field_state.state_object==FileObj){ + /* the code generator stores the fields in a FILE node in reversed order */ + int old_offset1; + + old_offset1=offset1; + offset1=offset2; + offset2=old_offset1; + } FPrintF (OutFile, "%s %d %d ",result_descriptor_name,offset1,offset2); } } |