.
[mu.git] / misc_checks
blob91384ea359c4cace7f013e644df0ae809c0b8653
1 #!/bin/sh
2 # Hackily check for certain kinds of errors.
4 # We still rely exclusively on linux/bootstrap/bootstrap for some static
5 # checks on bare SubX code that aren't implemented yet in the self-hosted
6 # translator phases.
8 # However, boot.subx uses instructions that bootstrap doesn't recognize. So we
9 # won't check it.
11 set -e
13 cat $* [0-9]*.mu |linux/mu > a.subx
15 cat misc_checks.subx mu-init.subx [0-9]*.subx a.subx |linux/braces > a.braces
16 cat a.braces |linux/calls > a.calls
17 cat a.calls |linux/sigils > a.sigils
19 CXXFLAGS=-g linux/bootstrap/bootstrap --debug translate a.sigils -o a.elf
20 # Translation will never succeed,
21 # but if we get to "missing reference to global" errors, they're expected and
22 # we've gotten to the end of what bootstrap can check for us.