diff options
Diffstat (limited to 'src/comp/driver/session.rs')
| -rw-r--r-- | src/comp/driver/session.rs | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs index 831c6439..e23dbeed 100644 --- a/src/comp/driver/session.rs +++ b/src/comp/driver/session.rs @@ -1,7 +1,31 @@ import util.common.span; +import util.common.ty_mach; import std._uint; -obj session() { +tag os { + os_win32; + os_macos; + os_linux; +} + +tag arch { + arch_x86; + arch_x64; + arch_arm; +} + +type cfg = rec(os os, + arch arch, + ty_mach int_type, + ty_mach uint_type, + ty_mach float_type); + +obj session(cfg targ) { + + fn get_targ_cfg() -> cfg { + ret targ; + } + fn span_err(span sp, str msg) { log #fmt("%s:%u:%u:%u:%u: error: %s", sp.filename, @@ -16,6 +40,11 @@ obj session() { fail; } + fn bug(str msg) { + log #fmt("error: internal compiler error %s", msg); + fail; + } + fn unimpl(str msg) { log #fmt("error: unimplemented %s", msg); fail; |