aboutsummaryrefslogtreecommitdiff
path: root/src/comp/driver/session.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-11-22 16:27:00 -0800
committerGraydon Hoare <[email protected]>2010-11-22 16:27:00 -0800
commitd3cb25d5d1ede9d9ef06db6c30cd8448ed425127 (patch)
tree51c12e7f2c5396f7af8e57d2d4e77bbf5a9d2373 /src/comp/driver/session.rs
parentFix type disagreements in lowering typeck.ty to llvm TypeRefs, enable complex... (diff)
downloadrust-d3cb25d5d1ede9d9ef06db6c30cd8448ed425127.tar.xz
rust-d3cb25d5d1ede9d9ef06db6c30cd8448ed425127.zip
Check and translate 'as' cast-operator, lower target-specific types, reindent rustc.rs, enable uint test.
Diffstat (limited to 'src/comp/driver/session.rs')
-rw-r--r--src/comp/driver/session.rs31
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;