I added support for the >>> operator to the constant propagation and ran a "make bootstrap". The good news is that all the code passed through the front end and all CFG validation tests. It got to the actual code generation stage and then we encountered a bug in the back-end.
If we're optimistic, all that's left is fixing bugs in the back-end and we should be able to say the bootstrap is complete. Realistically, there will probably be other bugs in other parts of the system, but those will only show up when we try to run our own code.
I will probably spend the rest of the afternoon adding more unit tests to try and make sure we really have our bases covered. Perhaps include some of our own code in a unit test, or try coding a simple parser, to have something more reflective of the code we actually run.
I should also add the /hir, /lir, /asm shell commands because they will probably be very useful debugging tools in the next few days.
- Maxime