Skip to content

Commit e32411c

Browse files
committed
---
yaml --- r: 96250 b: refs/heads/dist-snap c: ce45bb7 h: refs/heads/master v: v3
1 parent d57d25a commit e32411c

File tree

20 files changed

+608
-412
lines changed

20 files changed

+608
-412
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: b052f28fd69ac641a71987cb1ca6f9e7d9840585
9+
refs/heads/dist-snap: ce45bb7f4448fc810b35961c23bc23a27d685754
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/mk/platform.mk

Lines changed: 66 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -300,12 +300,14 @@ CFG_LDPATH_arm-linux-androideabi :=
300300
CFG_RUN_arm-linux-androideabi=
301301
CFG_RUN_TARG_arm-linux-androideabi=
302302
RUSTC_FLAGS_arm-linux-androideabi :=--android-cross-path=$(CFG_ANDROID_CROSS_PATH)
303+
RUSTC_CROSS_FLAGS_arm-linux-androideabi :=--android-cross-path=$(CFG_ANDROID_CROSS_PATH)
303304

304305
# arm-unknown-linux-gnueabihf configuration
305-
CC_arm-unknown-linux-gnueabihf=arm-linux-gnueabihf-gcc
306-
CXX_arm-unknown-linux-gnueabihf=arm-linux-gnueabihf-g++
307-
CPP_arm-unknown-linux-gnueabihf=arm-linux-gnueabihf-gcc -E
308-
AR_arm-unknown-linux-gnueabihf=arm-linux-gnueabihf-ar
306+
CROSS_PREFIX_arm-unknown-linux-gnueabihf=arm-linux-gnueabihf-
307+
CC_arm-unknown-linux-gnueabihf=gcc
308+
CXX_arm-unknown-linux-gnueabihf=g++
309+
CPP_arm-unknown-linux-gnueabihf=gcc -E
310+
AR_arm-unknown-linux-gnueabihf=ar
309311
CFG_LIB_NAME_arm-unknown-linux-gnueabihf=lib$(1).so
310312
CFG_STATIC_LIB_NAME_arm-unknown-linux-gnueabihf=lib$(1).a
311313
CFG_LIB_GLOB_arm-unknown-linux-gnueabihf=lib$(1)-*.so
@@ -324,15 +326,17 @@ CFG_WINDOWSY_arm-unknown-linux-gnueabihf :=
324326
CFG_UNIXY_arm-unknown-linux-gnueabihf := 1
325327
CFG_PATH_MUNGE_arm-unknown-linux-gnueabihf := true
326328
CFG_LDPATH_arm-unknown-linux-gnueabihf :=
327-
CFG_RUN_arm-unknown-linux-gnueabihf=
328-
CFG_RUN_TARG_arm-unknown-linux-gnueabihf=
329-
RUSTC_FLAGS_arm-unknown-linux-gnueabihf := --linker=$(CC_arm-unknown-linux-gnueabihf)
329+
CFG_RUN_arm-unknown-linux-gnueabihf=$(2)
330+
CFG_RUN_TARG_arm-unknown-linux-gnueabihf=$(call CFG_RUN_arm-unknown-linux-gnueabihf,,$(2))
331+
RUSTC_FLAGS_arm-unknown-linux-gnueabihf :=
332+
RUSTC_CROSS_FLAGS_arm-unknown-linux-gnueabihf := --linker=$(CROSS_PREFIX_arm-unknown-linux-gnueabihf)$(CXX_arm-unknown-linux-gnueabihf)
330333

331334
# arm-unknown-linux-gnueabi configuration
332-
CC_arm-unknown-linux-gnueabi=arm-linux-gnueabi-gcc
333-
CXX_arm-unknown-linux-gnueabi=arm-linux-gnueabi-g++
334-
CPP_arm-unknown-linux-gnueabi=arm-linux-gnueabi-gcc -E
335-
AR_arm-unknown-linux-gnueabi=arm-linux-gnueabi-ar
335+
CROSS_PREFIX_arm-unknown-linux-gnueabi=arm-linux-gnueabi-
336+
CC_arm-unknown-linux-gnueabi=gcc
337+
CXX_arm-unknown-linux-gnueabi=g++
338+
CPP_arm-unknown-linux-gnueabi=gcc -E
339+
AR_arm-unknown-linux-gnueabi=ar
336340
CFG_LIB_NAME_arm-unknown-linux-gnueabi=lib$(1).so
337341
CFG_STATIC_LIB_NAME_arm-unknown-linux-gnueabi=lib$(1).a
338342
CFG_LIB_GLOB_arm-unknown-linux-gnueabi=lib$(1)-*.so
@@ -351,9 +355,10 @@ CFG_WINDOWSY_arm-unknown-linux-gnueabi :=
351355
CFG_UNIXY_arm-unknown-linux-gnueabi := 1
352356
CFG_PATH_MUNGE_arm-unknown-linux-gnueabi := true
353357
CFG_LDPATH_arm-unknown-linux-gnueabi :=
354-
CFG_RUN_arm-unknown-linux-gnueabi=
355-
CFG_RUN_TARG_arm-unknown-linux-gnueabi=
356-
RUSTC_FLAGS_arm-unknown-linux-gnueabi := --linker=$(CC_arm-unknown-linux-gnueabi)
358+
CFG_RUN_arm-unknown-linux-gnueabi=$(2)
359+
CFG_RUN_TARG_arm-unknown-linux-gnueabi=$(call CFG_RUN_arm-unknown-linux-gnueabi,,$(2))
360+
RUSTC_FLAGS_arm-unknown-linux-gnueabi :=
361+
RUSTC_CROSS_FLAGS_arm-unknown-linux-gnueabi := --linker=$(CROSS_PREFIX_arm-unknown-linux-gnueabi)$(CXX_arm-unknown-linux-gnueabi)
357362

358363
# mips-unknown-linux-gnu configuration
359364
CC_mips-unknown-linux-gnu=mips-linux-gnu-gcc
@@ -399,7 +404,7 @@ CFG_GCCISH_PRE_LIB_FLAGS_i686-pc-mingw32 :=
399404
CFG_GCCISH_POST_LIB_FLAGS_i686-pc-mingw32 :=
400405
CFG_DEF_SUFFIX_i686-pc-mingw32 := .mingw32.def
401406
CFG_INSTALL_NAME_i686-pc-mingw32 =
402-
CFG_LIBUV_LINK_FLAGS_i686-pc-mingw32 := -lWs2_32 -lpsapi -liphlpapi
407+
CFG_LIBUV_LINK_FLAGS_i686-pc-mingw32 := -lws2_32 -lpsapi -liphlpapi
403408
CFG_LLVM_BUILD_ENV_i686-pc-mingw32 := CPATH=$(CFG_SRC_DIR)src/etc/mingw-fix-include
404409
CFG_EXE_SUFFIX_i686-pc-mingw32 := .exe
405410
CFG_WINDOWSY_i686-pc-mingw32 := 1
@@ -437,31 +442,61 @@ CFG_LDPATH_i586-mingw32msvc :=
437442
CFG_RUN_i586-mingw32msvc=
438443
CFG_RUN_TARG_i586-mingw32msvc=
439444

445+
# i686-w64-mingw32 configuration
446+
CROSS_PREFIX_i686-w64-mingw32=i686-w64-mingw32-
447+
CC_i686-w64-mingw32=gcc
448+
CXX_i686-w64-mingw32=g++
449+
CPP_i686-w64-mingw32=gcc -E
450+
AR_i686-w64-mingw32=ar
451+
CFG_LIB_NAME_i686-w64-mingw32=$(1).dll
452+
CFG_STATIC_LIB_NAME_i686-w64-mingw32=$(1).lib
453+
CFG_LIB_GLOB_i686-w64-mingw32=$(1)-*.dll
454+
CFG_LIB_DSYM_GLOB_i686-w64-mingw32=$(1)-*.dylib.dSYM
455+
CFG_GCCISH_CFLAGS_i686-w64-mingw32 := -Wall -Werror -g -m32 -D_WIN32_WINNT=0x0600
456+
CFG_GCCISH_CXXFLAGS_i686-w64-mingw32 := -fno-rtti
457+
CFG_GCCISH_LINK_FLAGS_i686-w64-mingw32 := -shared -g -m32
458+
CFG_GCCISH_DEF_FLAG_i686-w64-mingw32 :=
459+
CFG_GCCISH_PRE_LIB_FLAGS_i686-w64-mingw32 :=
460+
CFG_GCCISH_POST_LIB_FLAGS_i686-w64-mingw32 :=
461+
CFG_DEF_SUFFIX_i686-w64-mingw32 := .mingw32.def
462+
CFG_INSTALL_NAME_i686-w64-mingw32 =
463+
CFG_LIBUV_LINK_FLAGS_i686-w64-mingw32 := -lws2_32 -lpsapi -liphlpapi
464+
CFG_EXE_SUFFIX_i686-w64-mingw32 := .exe
465+
CFG_WINDOWSY_i686-w64-mingw32 := 1
466+
CFG_UNIXY_i686-w64-mingw32 :=
467+
CFG_PATH_MUNGE_i686-w64-mingw32 :=
468+
CFG_LDPATH_i686-w64-mingw32 :=$(CFG_LDPATH_i686-w64-mingw32):$(PATH)
469+
CFG_RUN_i686-w64-mingw32=PATH="$(CFG_LDPATH_i686-w64-mingw32):$(1)" $(2)
470+
CFG_RUN_TARG_i686-w64-mingw32=$(call CFG_RUN_i686-w64-mingw32,$(HLIB$(1)_H_$(CFG_BUILD)),$(2))
471+
RUSTC_CROSS_FLAGS_i686-w64-mingw32 := --linker=$(CROSS_PREFIX_i686-w64-mingw32)$(CXX_i686-w64-mingw32)
472+
440473
# x86_64-w64-mingw32 configuration
441-
CC_x86_64-w64-mingw32=$(CC)
442-
CXX_x86_64-w64-mingw32=$(CXX)
443-
CPP_x86_64-w64-mingw32=$(CPP)
444-
AR_x86_64-w64-mingw32=$(AR)
474+
CROSS_PREFIX_x86_64-w64-mingw32=x86_64-w64-mingw32-
475+
CC_x86_64-w64-mingw32=gcc
476+
CXX_x86_64-w64-mingw32=g++
477+
CPP_x86_64-w64-mingw32=gcc -E
478+
AR_x86_64-w64-mingw32=ar
445479
CFG_LIB_NAME_x86_64-w64-mingw32=$(1).dll
446480
CFG_STATIC_LIB_NAME_x86_64-w64-mingw32=$(1).lib
447481
CFG_LIB_GLOB_x86_64-w64-mingw32=$(1)-*.dll
448482
CFG_LIB_DSYM_GLOB_x86_64-w64-mingw32=$(1)-*.dylib.dSYM
449483
CFG_GCCISH_CFLAGS_x86_64-w64-mingw32 := -Wall -Werror -g -m64 -D_WIN32_WINNT=0x0600
450484
CFG_GCCISH_CXXFLAGS_x86_64-w64-mingw32 := -fno-rtti
451-
CFG_GCCISH_LINK_FLAGS_x86_64-w64-mingw32 := -shared -fPIC -g -m64
485+
CFG_GCCISH_LINK_FLAGS_x86_64-w64-mingw32 := -shared -g -m64
452486
CFG_GCCISH_DEF_FLAG_x86_64-w64-mingw32 :=
453487
CFG_GCCISH_PRE_LIB_FLAGS_x86_64-w64-mingw32 :=
454488
CFG_GCCISH_POST_LIB_FLAGS_x86_64-w64-mingw32 :=
455489
CFG_DEF_SUFFIX_x86_64-w64-mingw32 := .mingw32.def
456490
CFG_INSTALL_NAME_x86_64-w64-mingw32 =
457-
CFG_LIBUV_LINK_FLAGS_x86_64-w64-mingw32 := -lWs2_32 -lpsapi -liphlpapi
491+
CFG_LIBUV_LINK_FLAGS_x86_64-w64-mingw32 := -lws2_32 -lpsapi -liphlpapi
458492
CFG_EXE_SUFFIX_x86_64-w64-mingw32 := .exe
459493
CFG_WINDOWSY_x86_64-w64-mingw32 := 1
460494
CFG_UNIXY_x86_64-w64-mingw32 :=
461495
CFG_PATH_MUNGE_x86_64-w64-mingw32 :=
462496
CFG_LDPATH_x86_64-w64-mingw32 :=$(CFG_LDPATH_x86_64-w64-mingw32):$(PATH)
463497
CFG_RUN_x86_64-w64-mingw32=PATH="$(CFG_LDPATH_x86_64-w64-mingw32):$(1)" $(2)
464498
CFG_RUN_TARG_x86_64-w64-mingw32=$(call CFG_RUN_x86_64-w64-mingw32,$(HLIB$(1)_H_$(CFG_BUILD)),$(2))
499+
RUSTC_CROSS_FLAGS_x86_64-w64-mingw32 := --linker=$(CROSS_PREFIX_x86_64-w64-mingw32)$(CXX_x86_64-w64-mingw32)
465500

466501
# x86_64-unknown-freebsd configuration
467502
CC_x86_64-unknown-freebsd=$(CC)
@@ -499,6 +534,16 @@ ifdef CFG_CCACHE_BASEDIR
499534
endif
500535

501536
define CFG_MAKE_TOOLCHAIN
537+
# Prepend the tools with their prefix if cross compiling
538+
ifneq ($(CFG_BUILD),$(1))
539+
CC_$(1)=$(CROSS_PREFIX_$(1))$(CC_$(1))
540+
CXX_$(1)=$(CROSS_PREFIX_$(1))$(CXX_$(1))
541+
CPP_$(1)=$(CROSS_PREFIX_$(1))$(CPP_$(1))
542+
AR_$(1)=$(CROSS_PREFIX_$(1))$(AR_$(1))
543+
544+
RUSTC_FLAGS_$(1)=$(RUSTC_CROSS_FLAGS_$(1))
545+
endif
546+
502547
CFG_COMPILE_C_$(1) = $$(CC_$(1)) \
503548
$$(CFG_GCCISH_CFLAGS) \
504549
$$(CFG_GCCISH_CFLAGS_$(1)) \

branches/dist-snap/mk/rt.mk

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,6 @@
2323
# fit the experimental data (i.e., I was able to get the system
2424
# working under these assumptions).
2525

26-
# Hack for passing flags into LIBUV, see below.
27-
LIBUV_FLAGS_i386 = -m32 -fPIC -I$(S)src/etc/mingw-fix-include
28-
LIBUV_FLAGS_x86_64 = -m64 -fPIC
29-
ifeq ($(OSTYPE_$(1)), linux-androideabi)
30-
LIBUV_FLAGS_arm = -fPIC -DANDROID -std=gnu99
31-
else ifeq ($(OSTYPE_$(1)), apple-darwin)
32-
ifeq ($(HOST_$(1)), arm)
33-
IOS_SDK := $(shell xcrun --show-sdk-path -sdk iphoneos 2>/dev/null)
34-
LIBUV_FLAGS_arm := -fPIC -std=gnu99 -I$(IOS_SDK)/usr/include -I$(IOS_SDK)/usr/include/c++/4.2.1
35-
else
36-
LIBUV_FLAGS_arm := -fPIC -std=gnu99
37-
endif
38-
else
39-
LIBUV_FLAGS_arm = -fPIC -std=gnu99
40-
endif
41-
LIBUV_FLAGS_mips = -fPIC -mips32r2 -msoft-float -mabi=32
42-
4326
# when we're doing a snapshot build, we intentionally degrade as many
4427
# features in libuv and the runtime as possible, to ease portability.
4528

@@ -209,6 +192,9 @@ LIBUV_LIB_$(1) := $$(RT_OUTPUT_DIR_$(1))/libuv/$$(LIBUV_NAME_$(1))
209192

210193
LIBUV_MAKEFILE_$(1) := $$(CFG_BUILD_DIR)$$(RT_OUTPUT_DIR_$(1))/libuv/Makefile
211194

195+
# libuv triggers a few warnings on some platforms
196+
LIBUV_CFLAGS_$(1) := $(subst -Werror,,$(CFG_GCCISH_CFLAGS_$(1)))
197+
212198
$$(LIBUV_MAKEFILE_$(1)): $$(LIBUV_DEPS)
213199
(cd $(S)src/libuv/ && \
214200
$$(CFG_PYTHON) ./gyp_uv.py -f make -Dtarget_arch=$$(LIBUV_ARCH_$(1)) \
@@ -222,15 +208,17 @@ $$(LIBUV_MAKEFILE_$(1)): $$(LIBUV_DEPS)
222208
ifdef CFG_WINDOWSY_$(1)
223209
$$(LIBUV_LIB_$(1)): $$(LIBUV_DEPS)
224210
$$(Q)$$(MAKE) -C $$(S)src/libuv -f Makefile.mingw \
225-
CC="$$(CC) $$(CFG_GCCISH_CFLAGS) $$(LIBUV_FLAGS_$$(HOST_$(1))) $$(SNAP_DEFINES)" \
211+
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS_$(1))" \
212+
CC="$$(CC_$(1)) $$(LIBUV_CFLAGS_$(1)) $$(SNAP_DEFINES)" \
213+
CXX="$$(CXX_$(1))" \
226214
AR="$$(AR_$(1))" \
227215
V=$$(VERBOSE)
228216
$$(Q)cp $$(S)src/libuv/libuv.a $$@
229217
else
230218
$$(LIBUV_LIB_$(1)): $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1))
231219
$$(Q)$$(MAKE) -C $$(@D) \
232-
CFLAGS="$$(CFG_GCCISH_CFLAGS) $$(LIBUV_FLAGS_$$(HOST_$(1))) $$(SNAP_DEFINES)" \
233-
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS) $$(LIBUV_FLAGS_$$(HOST_$(1)))" \
220+
CFLAGS="$$(LIBUV_CFLAGS_$(1)) $$(SNAP_DEFINES)" \
221+
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS_$(1))" \
234222
CC="$$(CC_$(1))" \
235223
CXX="$$(CXX_$(1))" \
236224
AR="$$(AR_$(1))" \

branches/dist-snap/src/librustc/back/link.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,6 +1072,13 @@ pub fn link_args(sess: Session,
10721072
args.push("-L" + path.as_str().unwrap().to_owned());
10731073
}
10741074

1075+
if sess.targ_cfg.os == abi::OsLinux {
1076+
// GNU-style linkers will use this to omit linking to libraries which don't actually fulfill
1077+
// any relocations, but only for libraries which follow this flag. Thus, use it before
1078+
// specifing libraries to link to.
1079+
args.push(~"-Wl,--as-needed");
1080+
}
1081+
10751082
// The names of the extern libraries
10761083
let used_libs = cstore::get_used_libraries(cstore);
10771084
for l in used_libs.iter() { args.push(~"-l" + *l); }
@@ -1091,6 +1098,12 @@ pub fn link_args(sess: Session,
10911098
// On linux librt and libdl are an indirect dependencies via rustrt,
10921099
// and binutils 2.22+ won't add them automatically
10931100
if sess.targ_cfg.os == abi::OsLinux {
1101+
// GNU-style linkers supports optimization with -O. --gc-sections removes metadata and
1102+
// potentially other useful things, so don't include it.
1103+
if sess.opts.optimize == session::Default || sess.opts.optimize == session::Aggressive {
1104+
args.push(~"-Wl,-O");
1105+
}
1106+
10941107
args.push_all([~"-lrt", ~"-ldl"]);
10951108

10961109
// LLVM implements the `frem` instruction as a call to `fmod`,

branches/dist-snap/src/librustc/driver/driver.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,16 @@ pub fn default_configuration(sess: Session) ->
8585
abi::Mips => (@"big", @"mips", @"32")
8686
};
8787

88+
let fam = match sess.targ_cfg.os {
89+
abi::OsWin32 => @"windows",
90+
_ => @"unix"
91+
};
92+
8893
let mk = attr::mk_name_value_item_str;
8994
return ~[ // Target bindings.
90-
attr::mk_word_item(os::FAMILY.to_managed()),
95+
attr::mk_word_item(fam),
9196
mk(@"target_os", tos),
92-
mk(@"target_family", os::FAMILY.to_managed()),
97+
mk(@"target_family", fam),
9398
mk(@"target_arch", arch),
9499
mk(@"target_endian", end),
95100
mk(@"target_word_size", wordsz),

branches/dist-snap/src/librustc/middle/typeck/infer/region_inference/mod.rs

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ use middle::graph::{Direction, NodeIndex};
2424
use util::common::indenter;
2525
use util::ppaux::{Repr};
2626

27-
use std::cell::Cell;
2827
use std::hashmap::{HashMap, HashSet};
2928
use std::uint;
3029
use std::vec;
@@ -106,16 +105,15 @@ pub struct RegionVarBindings {
106105
undo_log: ~[UndoLogEntry],
107106

108107
// This contains the results of inference. It begins as an empty
109-
// cell and only acquires a value after inference is complete.
110-
// We use a cell vs a mutable option to circumvent borrowck errors.
111-
values: Cell<~[VarValue]>,
108+
// option and only acquires a value after inference is complete.
109+
values: Option<~[VarValue]>,
112110
}
113111

114112
pub fn RegionVarBindings(tcx: ty::ctxt) -> RegionVarBindings {
115113
RegionVarBindings {
116114
tcx: tcx,
117115
var_origins: ~[],
118-
values: Cell::new_empty(),
116+
values: None,
119117
constraints: HashMap::new(),
120118
lubs: HashMap::new(),
121119
glbs: HashMap::new(),
@@ -226,7 +224,7 @@ impl RegionVarBindings {
226224
constraint: Constraint,
227225
origin: SubregionOrigin) {
228226
// cannot add constraints once regions are resolved
229-
assert!(self.values.is_empty());
227+
assert!(self.values.is_none());
230228

231229
debug!("RegionVarBindings: add_constraint({:?})", constraint);
232230

@@ -242,7 +240,7 @@ impl RegionVarBindings {
242240
sub: Region,
243241
sup: Region) {
244242
// cannot add constraints once regions are resolved
245-
assert!(self.values.is_empty());
243+
assert!(self.values.is_none());
246244

247245
debug!("RegionVarBindings: make_subregion({:?}, {:?})", sub, sup);
248246
match (sub, sup) {
@@ -277,7 +275,7 @@ impl RegionVarBindings {
277275
b: Region)
278276
-> Region {
279277
// cannot add constraints once regions are resolved
280-
assert!(self.values.is_empty());
278+
assert!(self.values.is_none());
281279

282280
debug!("RegionVarBindings: lub_regions({:?}, {:?})", a, b);
283281
match (a, b) {
@@ -300,7 +298,7 @@ impl RegionVarBindings {
300298
b: Region)
301299
-> Region {
302300
// cannot add constraints once regions are resolved
303-
assert!(self.values.is_empty());
301+
assert!(self.values.is_none());
304302

305303
debug!("RegionVarBindings: glb_regions({:?}, {:?})", a, b);
306304
match (a, b) {
@@ -319,14 +317,14 @@ impl RegionVarBindings {
319317
}
320318

321319
pub fn resolve_var(&mut self, rid: RegionVid) -> ty::Region {
322-
if self.values.is_empty() {
323-
self.tcx.sess.span_bug(
320+
let v = match self.values {
321+
None => self.tcx.sess.span_bug(
324322
self.var_origins[rid.to_uint()].span(),
325323
format!("Attempt to resolve region variable before values have \
326-
been computed!"));
327-
}
324+
been computed!")),
325+
Some(ref values) => values[rid.to_uint()]
326+
};
328327

329-
let v = self.values.with_ref(|values| values[rid.to_uint()]);
330328
debug!("RegionVarBindings: resolve_var({:?}={})={:?}",
331329
rid, rid.to_uint(), v);
332330
match v {
@@ -482,7 +480,7 @@ impl RegionVarBindings {
482480
debug!("RegionVarBindings: resolve_regions()");
483481
let mut errors = opt_vec::Empty;
484482
let v = self.infer_variable_values(&mut errors);
485-
self.values.put_back(v);
483+
self.values = Some(v);
486484
errors
487485
}
488486
}

branches/dist-snap/src/librustuv/uvll.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -724,5 +724,5 @@ extern {
724724
extern {}
725725

726726
#[cfg(target_os = "win32")]
727-
#[link_args = "-lWs2_32 -lpsapi -liphlpapi"]
727+
#[link_args = "-lws2_32 -lpsapi -liphlpapi"]
728728
extern {}

0 commit comments

Comments
 (0)