Comment 9 for bug 1620681

Revision history for this message
Iain Buclaw (iainb) wrote :

There's a small circle going on. Initial semantic analysis has completed, and compiler is now lowering to gcc, however certain spots may encounter symbols that haven't been analysed (won't be emitted, but benefits debugging if we pass their complete symbol information to gcc).

And so it stops to run the semantic passes, however these may call back into the code generator for some requests. And because the codegen stage thinks that it is in the middle of generating trees, it proceeds to compile the unfinished AST.

There are two places where this happens, in both cases, the current module being compiled should be stashed to let the code generator know that we've paused compiling for the moment.

(Tested on upstream master).

Iain.