diff options
| author | Cliff Click <cliffc@acm.org> | 2026-09-27 09:09:23 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-09-27 09:09:23 -0700 |
| commit | 3d226b49e1cd23b41fd9baf3917f751973c1ad11 (patch) | |
| tree | 5c59f2b2de102c1089e71e29f59c71357d3b5512 /chapter22/src/main/java/com/seaofnodes | |
| parent | 5f85f435aeece40e2c0770f89d7642f9af718531 (diff) | |
| download | Simple-3d226b49e1cd23b41fd9baf3917f751973c1ad11.tar.gz Simple-3d226b49e1cd23b41fd9baf3917f751973c1ad11.zip | |
minor fixes
Fix CI build
Backport ch 23 fix to ch 22.
Diffstat (limited to 'chapter22/src/main/java/com/seaofnodes')
| -rw-r--r-- | chapter22/src/main/java/com/seaofnodes/simple/Parser.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/chapter22/src/main/java/com/seaofnodes/simple/Parser.java b/chapter22/src/main/java/com/seaofnodes/simple/Parser.java index 72fe6a71..087fd1fd 100644 --- a/chapter22/src/main/java/com/seaofnodes/simple/Parser.java +++ b/chapter22/src/main/java/com/seaofnodes/simple/Parser.java @@ -236,8 +236,13 @@ public class Parser { last = parseStatement(); // Last expression is the return except for the top-level main - if( ctrl()._type==Type.CONTROL && fun.sig() != _code._main ) - fun.addReturn(ctrl(), _scope.mem().merge(), last); + if( ctrl()._type==Type.CONTROL ) + if( fun.sig() != _code._main ) + fun.addReturn(ctrl(), _scope.mem().merge(), last); + else { + fun.setDef(1,XCTRL); // Kill default main + _code.addAll(fun._outputs); + } // Pop off the inProgress node on the multi-exit Region merge assert r.inProgress(); |
