From 57c7e94c8f8d456c1737bd7dd2bf5c6962003cd0 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Fri, 15 Oct 2010 22:09:09 -0700 Subject: Encode and decode tag types in dwarf properly. Add list module to std. Shift rustc to use std.util.option. Fix various dependent bugs. Closes #73. --- src/comp/front/ast.rs | 4 +--- src/comp/front/parser.rs | 7 ++++--- src/comp/middle/fold.rs | 8 ++++---- src/comp/middle/trans.rs | 6 +++--- src/comp/util/common.rs | 8 -------- 5 files changed, 12 insertions(+), 21 deletions(-) (limited to 'src/comp') diff --git a/src/comp/front/ast.rs b/src/comp/front/ast.rs index 1d3646f4..c89bba96 100644 --- a/src/comp/front/ast.rs +++ b/src/comp/front/ast.rs @@ -1,11 +1,9 @@ import util.common.option; import std.map.hashmap; +import std.util.option; import util.common.span; import util.common.spanned; -import util.common.option; -import util.common.some; -import util.common.none; type ident = str; diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs index a17414ee..733e61ea 100644 --- a/src/comp/front/parser.rs +++ b/src/comp/front/parser.rs @@ -1,11 +1,12 @@ import std._io; +import std.util.option; +import std.util.some; +import std.util.none; + import driver.session; import util.common; import util.common.span; import util.common.new_str_hash; -import util.common.option; -import util.common.some; -import util.common.none; state type parser = state obj { diff --git a/src/comp/middle/fold.rs b/src/comp/middle/fold.rs index bb0000a7..ed8cf998 100644 --- a/src/comp/middle/fold.rs +++ b/src/comp/middle/fold.rs @@ -1,13 +1,13 @@ import std.map.hashmap; +import std.util.option; +import std.util.some; +import std.util.none; + import util.common.new_str_hash; import util.common.spanned; import util.common.span; -import util.common.option; -import util.common.some; -import util.common.none; import util.common.ty_mach; - import front.ast; import front.ast.ident; import front.ast.name; diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index c90c817b..b43dff0e 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -3,6 +3,9 @@ import std._vec; import std._str.rustrt.sbuf; import std._vec.rustrt.vbuf; import std.map.hashmap; +import std.util.option; +import std.util.some; +import std.util.none; import front.ast; import driver.session; @@ -11,9 +14,6 @@ import back.abi; import util.common.istr; import util.common.new_str_hash; -import util.common.option; -import util.common.some; -import util.common.none; import lib.llvm.llvm; import lib.llvm.builder; diff --git a/src/comp/util/common.rs b/src/comp/util/common.rs index 51dbfbb1..cbf7aadf 100644 --- a/src/comp/util/common.rs +++ b/src/comp/util/common.rs @@ -5,14 +5,6 @@ type pos = rec(uint line, uint col); type span = rec(str filename, pos lo, pos hi); type spanned[T] = rec(T node, span span); -// FIXME: import std.util.option and use it here. -// import std.util.option; - -tag option[T] { - none; - some(T); -} - tag ty_mach { ty_i8; ty_i16; -- cgit v1.2.3