diff --git a/util/ncgg/cgg.y b/util/ncgg/cgg.y index 2925b275b..2b82eb060 100644 --- a/util/ncgg/cgg.y +++ b/util/ncgg/cgg.y @@ -757,8 +757,6 @@ kills { $$ = 0; } | KILLS kill_list { $$ = $2; - if (optstack) - error("No sense in giving kills in this pattern"); } ; kill_list diff --git a/util/ncgg/output.c b/util/ncgg/output.c index 9091e706b..303613470 100644 --- a/util/ncgg/output.c +++ b/util/ncgg/output.c @@ -96,6 +96,7 @@ finishcode() { if (code_in_c) fprintf(ctable,"\n};\n\n"); + fprintf(ctable, "int allsetno = %d;\n", allsetno); if (tabledebug) { int fd; int sz; @@ -683,7 +684,7 @@ varinfo *kills,*allocates,*generates,*yields,*leaving; } else if (stackcoerc) code8nl(DO_COERC); if (optstack) { - code53(DO_REMOVE,0); + code53(DO_TOSTACK,0); codeint(allsetno); codenl(); }