diff options
author | johnvg | 2013-08-22 12:26:28 +0000 |
---|---|---|
committer | johnvg | 2013-08-22 12:26:28 +0000 |
commit | 2a71e0ee26c37a67fd1112570a76331e9a23af07 (patch) | |
tree | c36ee38bcd8349379e7de0e6f887db9a8ecf7d50 /backendC/CleanCompilerSources | |
parent | prevent infinite loop when fusing trivial tail recursive functions (e.g. unde... (diff) |
bug fix: don't use jmp_eval_upd for record fields of an abstract type
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2285 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC/CleanCompilerSources')
-rw-r--r-- | backendC/CleanCompilerSources/codegen1.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/backendC/CleanCompilerSources/codegen1.c b/backendC/CleanCompilerSources/codegen1.c index 6ab9088..eaf9fbf 100644 --- a/backendC/CleanCompilerSources/codegen1.c +++ b/backendC/CleanCompilerSources/codegen1.c @@ -1065,7 +1065,11 @@ static void GenLazyFieldSelectorEntry (SymbDef field_def,StateS recstate,int tot GenRtn (1,0,OnAState); } else { if (IsLazyState (offfieldstate)){ - if (ExpectsResultNode (demfieldstate)) + if (ExpectsResultNode (demfieldstate) +#if ABSTRACT_OBJECT + && demfieldstate.state_object!=AbstractObj +#endif + ) GenJmpEvalUpdate (); else { GenJsrEval (0); |