Skip to content

Commit 1f698e3

Browse files
committed
---
yaml --- r: 146366 b: refs/heads/try2 c: 894c1f6 h: refs/heads/master v: v3
1 parent 48f9866 commit 1f698e3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1146
-976
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: c874e64aa65255e928248d704d362a8fd202dc0d
8+
refs/heads/try2: 894c1f6398648c273043ca385f5185e49dccea08
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/configure

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -400,11 +400,6 @@ valopt infodir "${CFG_PREFIX}/share/info" "install additional info"
400400
valopt mandir "${CFG_PREFIX}/share/man" "install man pages in PATH"
401401
valopt libdir "${CFG_PREFIX}/lib" "install libraries"
402402

403-
#Deprecated opts to keep compatibility
404-
valopt build-triple "${DEFAULT_BUILD}" "LLVM build triple"
405-
valopt host-triples "${CFG_BUILD}" "LLVM host triples"
406-
valopt target-triples "${CFG_HOST}" "LLVM target triples"
407-
408403
# Validate Options
409404
step_msg "validating $CFG_SELF args"
410405
validate_opt
@@ -601,7 +596,6 @@ then
601596
fi
602597

603598
# a little post-processing of various config values
604-
605599
CFG_PREFIX=${CFG_PREFIX%/}
606600
CFG_MANDIR=${CFG_MANDIR%/}
607601
CFG_HOST="$(echo $CFG_HOST | tr ',' ' ')"
@@ -616,26 +610,6 @@ do
616610
done
617611
CFG_TARGET=$V_TEMP
618612

619-
# copy host-triples to target-triples so that hosts are a subset of targets
620-
# XXX: remove deprecated variables here
621-
V_TEMP=""
622-
for i in $CFG_HOST_TRIPLES $CFG_TARGET_TRIPLES;
623-
do
624-
echo "$V_TEMP" | grep -qF $i || V_TEMP="$V_TEMP${V_TEMP:+ }$i"
625-
done
626-
CFG_TARGET_TRIPLES=$V_TEMP
627-
628-
# XXX: Support for deprecated syntax, should be dropped.
629-
if [ ! -z "$CFG_BUILD_TRIPLE" ]; then
630-
CFG_BUILD=${CFG_BUILD_TRIPLE}
631-
fi
632-
if [ ! -z "$CFG_HOST_TRIPLES" ]; then
633-
CFG_HOST=${CFG_HOST_TRIPLES}
634-
fi
635-
if [ ! -z "$CFG_TARGET_TRIPLES" ]; then
636-
CFG_TARGET=${CFG_TARGET_TRIPLES}
637-
fi
638-
639613
# check target-specific tool-chains
640614
for i in $CFG_TARGET
641615
do
@@ -670,6 +644,13 @@ do
670644
fi
671645
;;
672646

647+
arm-apple-darwin)
648+
if [ $CFG_OSTYPE != apple-darwin ]
649+
then
650+
err "The iOS target is only supported on Mac OS X"
651+
fi
652+
;;
653+
673654
*)
674655
;;
675656
esac

branches/try2/doc/rust.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,7 @@ This requirement most often affects name-designator pairs when they occur at the
568568
* `log_syntax!` : print out the arguments at compile time
569569
* `trace_macros!` : supply `true` or `false` to enable or disable macro expansion logging
570570
* `stringify!` : turn the identifier argument into a string literal
571+
* `concat!` : concatenates a comma-separated list of literals
571572
* `concat_idents!` : create a new identifier by concatenating the arguments
572573

573574
# Crates and source files

branches/try2/mk/platform.mk

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,35 @@ CFG_LDPATH_i686-unknown-linux-gnu :=
193193
CFG_RUN_i686-unknown-linux-gnu=$(2)
194194
CFG_RUN_TARG_i686-unknown-linux-gnu=$(call CFG_RUN_i686-unknown-linux-gnu,,$(2))
195195

196+
# arm-apple-darwin configuration
197+
ifeq ($(CFG_OSTYPE),apple-darwin)
198+
CFG_IOS_SDK = $(shell xcrun --show-sdk-path -sdk iphoneos)
199+
CFG_IOS_FLAGS = -target arm-apple-darwin -isysroot $(CFG_IOS_SDK) -I $(CFG_IOS_SDK)/usr/include -I $(CFG_IOS_SDK)/usr/include/c++/4.2.1 -I /usr/include
200+
CC_arm-apple-darwin = $(shell xcrun -find -sdk iphoneos clang)
201+
CXX_arm-apple-darwin = $(shell xcrun -find -sdk iphoneos clang++)
202+
CPP_arm-apple-darwin = $(shell xcrun -find -sdk iphoneos clang++)
203+
AR_arm-apple-darwin = $(shell xcrun -find -sdk iphoneos ar)
204+
CFG_LIB_NAME_arm-apple-darwin = lib$(1).dylib
205+
CFG_LIB_GLOB_arm-apple-darwin = lib$(1)-*.dylib
206+
CFG_LIB_DSYM_GLOB_arm-apple-darwin = lib$(1)-*.dylib.dSYM
207+
CFG_GCCISH_CFLAGS_arm-apple-darwin := -Wall -Werror -g -fPIC $(CFG_IOS_FLAGS)
208+
CFG_GCCISH_CXXFLAGS_arm-apple-darwin := -fno-rtti $(CFG_IOS_FLAGS)
209+
CFG_GCCISH_LINK_FLAGS_arm-apple-darwin := -dynamiclib -lpthread -framework CoreServices -Wl,-no_compact_unwind
210+
CFG_GCCISH_DEF_FLAG_arm-apple-darwin := -Wl,-exported_symbols_list,
211+
CFG_GCCISH_PRE_LIB_FLAGS_arm-apple-darwin :=
212+
CFG_GCCISH_POST_LIB_FLAGS_arm-apple-darwin :=
213+
CFG_DEF_SUFFIX_arm-apple-darwin := .darwin.def
214+
CFG_INSTALL_NAME_arm-apple-darwin = -Wl,-install_name,@rpath/$(1)
215+
CFG_LIBUV_LINK_FLAGS_arm-apple-darwin =
216+
CFG_EXE_SUFFIX_arm-apple-darwin :=
217+
CFG_WINDOWSY_arm-apple-darwin :=
218+
CFG_UNIXY_arm-apple-darwin := 1
219+
CFG_PATH_MUNGE_arm-apple-darwin := true
220+
CFG_LDPATH_arm-apple-darwin :=
221+
CFG_RUN_arm-apple-darwin = $(2)
222+
CFG_RUN_TARG_arm-apple-darwin = $(call CFG_RUN_arm-apple-darwin,,$(2))
223+
endif
224+
196225
# x86_64-apple-darwin configuration
197226
CC_x86_64-apple-darwin=$(CC)
198227
CXX_x86_64-apple-darwin=$(CXX)

branches/try2/mk/stage0.mk

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ $(HLIB0_H_$(CFG_BUILD))/$(CFG_EXTRALIB_$(CFG_BUILD)): \
4242
| $(HLIB0_H_$(CFG_BUILD))/
4343
$(Q)touch $@
4444

45-
$(HLIB0_H_$(CFG_BUILD_TRIPLE))/$(CFG_LIBRUSTUV_$(CFG_BUILD)): \
46-
$(HBIN0_H_$(CFG_BUILD_TRIPLE))/rustc$(X_$(CFG_BUILD)) \
47-
| $(HLIB0_H_$(CFG_BUILD_TRIPLE))/
45+
$(HLIB0_H_$(CFG_BUILD))/$(CFG_LIBRUSTUV_$(CFG_BUILD)): \
46+
$(HBIN0_H_$(CFG_BUILD))/rustc$(X_$(CFG_BUILD)) \
47+
| $(HLIB0_H_$(CFG_BUILD))/
4848
$(Q)touch $@
4949

50-
$(HLIB0_H_$(CFG_BUILD_TRIPLE))/$(CFG_LIBRUSTC_$(CFG_BUILD)): \
51-
$(HBIN0_H_$(CFG_BUILD_TRIPLE))/rustc$(X_$(CFG_BUILD)) \
52-
| $(HLIB0_H_$(CFG_BUILD_TRIPLE))/
50+
$(HLIB0_H_$(CFG_BUILD))/$(CFG_LIBRUSTC_$(CFG_BUILD)): \
51+
$(HBIN0_H_$(CFG_BUILD))/rustc$(X_$(CFG_BUILD)) \
52+
| $(HLIB0_H_$(CFG_BUILD))/
5353
$(Q)touch $@
5454

5555
$(HLIB0_H_$(CFG_BUILD))/$(CFG_RUSTLLVM_$(CFG_BUILD)): \
@@ -124,5 +124,5 @@ endef
124124

125125
# Use stage1 to build other architectures: then you don't have to wait
126126
# for stage2, but you get the latest updates to the compiler source.
127-
$(foreach t,$(NON_BUILD_HOSTS), \
127+
$(foreach t,$(NON_BUILD_HOST), \
128128
$(eval $(call BOOTSTRAP_STAGE0,$(t),1,$(CFG_BUILD))))

branches/try2/mk/tests.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ $(info check: android device test dir $(CFG_ADB_TEST_DIR) ready \
164164
$(CFG_ADB_TEST_DIR)) \
165165
$(shell adb push $(TLIB2_T_arm-linux-androideabi_H_$(CFG_BUILD))/$(EXTRALIB_GLOB_arm-linux-androideabi) \
166166
$(CFG_ADB_TEST_DIR)) \
167-
$(shell adb push $(TLIB2_T_arm-linux-androideabi_H_$(CFG_BUILD_TRIPLE))/$(LIBRUSTUV_GLOB_arm-linux-androideabi) \
167+
$(shell adb push $(TLIB2_T_arm-linux-androideabi_H_$(CFG_BUILD))/$(LIBRUSTUV_GLOB_arm-linux-androideabi) \
168168
$(CFG_ADB_TEST_DIR)) \
169169
)
170170
else
@@ -471,8 +471,8 @@ define DEF_RUSTPKG_STACK_FIX
471471
$$(call TEST_OK_FILE,$(1),$(2),$(3),rustpkg): export RUST_MIN_STACK=8000000
472472
endef
473473

474-
$(foreach host,$(CFG_HOST_TRIPLES), \
475-
$(foreach target,$(CFG_TARGET_TRIPLES), \
474+
$(foreach host,$(CFG_HOST), \
475+
$(foreach target,$(CFG_TARGET), \
476476
$(foreach stage,$(STAGES), \
477477
$(eval $(call DEF_RUSTPKG_STACK_FIX,$(stage),$(target),$(host))))))
478478

branches/try2/src/etc/ziggurat_tables.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import random
2020

2121
# The order should match the return value of `tables`
22-
TABLE_NAMES = ['X', 'F', 'F_DIFF']
22+
TABLE_NAMES = ['X', 'F']
2323

2424
# The actual length of the table is 1 more, to stop
2525
# index-out-of-bounds errors. This should match the bitwise operation
@@ -43,13 +43,10 @@ def tables(r, v, f, f_inv):
4343

4444
# cache the f's
4545
fvec = [0]*(TABLE_LEN+1)
46-
fdiff = [0]*(TABLE_LEN+1)
4746
for i in range(TABLE_LEN+1):
4847
fvec[i] = f(xvec[i])
49-
if i > 0:
50-
fdiff[i] = fvec[i] - fvec[i-1]
5148

52-
return xvec, fvec, fdiff
49+
return xvec, fvec
5350

5451
# Distributions
5552
# N(0, 1)

branches/try2/src/libextra/test.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,10 @@ pub fn run_test(force_ignore: bool,
869869
do task::spawn {
870870
let mut task = task::task();
871871
task.unlinked();
872+
task.name(match desc.name {
873+
DynTestName(ref name) => SendStrOwned(name.clone()),
874+
StaticTestName(name) => SendStrStatic(name),
875+
});
872876
let result_future = task.future_result();
873877
task.spawn(testfn_cell.take());
874878

branches/try2/src/librustc/front/feature_gate.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,12 @@ impl Visitor<()> for Context {
140140

141141
},
142142
ast::ty_box(_) => {
143-
self.gate_feature("managed_boxes", t.span, "The managed box syntax may be replaced \
144-
by a library type, and a garbage \
145-
collector is not yet implemented. \
146-
Consider using the `std::rc` module \
147-
as it performs much better as a \
148-
reference counting implementation.");
143+
self.gate_feature("managed_boxes", t.span,
144+
"The managed box syntax will be replaced \
145+
by a library type, and a garbage \
146+
collector is not yet implemented. \
147+
Consider using the `std::rc::Rc` type \
148+
for reference counted pointers.");
149149
}
150150
_ => {}
151151
}

branches/try2/src/librustc/middle/trans/base.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,8 @@ pub fn decl_fn(llmod: ModuleRef, name: &str, cc: lib::llvm::CallConv, ty: Type)
182182
};
183183

184184
lib::llvm::SetFunctionCallConv(llfn, cc);
185+
// Function addresses in Rust are never significant, allowing functions to be merged.
186+
lib::llvm::SetUnnamedAddr(llfn, true);
185187
return llfn;
186188
}
187189

branches/try2/src/librustc/middle/ty.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4560,14 +4560,14 @@ pub fn count_traits_and_supertraits(tcx: ctxt,
45604560
}
45614561

45624562
pub fn get_tydesc_ty(tcx: ctxt) -> Result<t, ~str> {
4563-
do tcx.lang_items.require(TyDescStructLangItem).map_move |tydesc_lang_item| {
4563+
do tcx.lang_items.require(TyDescStructLangItem).map |tydesc_lang_item| {
45644564
tcx.intrinsic_defs.find_copy(&tydesc_lang_item)
45654565
.expect("Failed to resolve TyDesc")
45664566
}
45674567
}
45684568

45694569
pub fn get_opaque_ty(tcx: ctxt) -> Result<t, ~str> {
4570-
do tcx.lang_items.require(OpaqueStructLangItem).map_move |opaque_lang_item| {
4570+
do tcx.lang_items.require(OpaqueStructLangItem).map |opaque_lang_item| {
45714571
tcx.intrinsic_defs.find_copy(&opaque_lang_item)
45724572
.expect("Failed to resolve Opaque")
45734573
}

branches/try2/src/librustc/util/ppaux.rs

Lines changed: 37 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -308,10 +308,11 @@ pub fn ty_to_str(cx: ctxt, typ: t) -> ~str {
308308
ident: Option<ast::Ident>,
309309
sig: &ty::FnSig)
310310
-> ~str {
311-
let mut s = ~"extern ";
312-
313-
s.push_str(abis.to_str());
314-
s.push_char(' ');
311+
let mut s = if abis.is_rust() {
312+
~""
313+
} else {
314+
format!("extern {} ", abis.to_str())
315+
};
315316

316317
match purity {
317318
ast::impure_fn => {}
@@ -331,16 +332,16 @@ pub fn ty_to_str(cx: ctxt, typ: t) -> ~str {
331332
_ => { }
332333
}
333334

334-
push_sig_to_str(cx, &mut s, sig);
335+
push_sig_to_str(cx, &mut s, '(', ')', sig);
335336

336337
return s;
337338
}
338-
fn closure_to_str(cx: ctxt, cty: &ty::ClosureTy) -> ~str
339-
{
339+
fn closure_to_str(cx: ctxt, cty: &ty::ClosureTy) -> ~str {
340340
let is_proc =
341341
(cty.sigil, cty.onceness) == (ast::OwnedSigil, ast::Once);
342+
let is_borrowed_closure = cty.sigil == ast::BorrowedSigil;
342343

343-
let mut s = if is_proc {
344+
let mut s = if is_proc || is_borrowed_closure {
344345
~""
345346
} else {
346347
cty.sigil.to_str()
@@ -374,23 +375,42 @@ pub fn ty_to_str(cx: ctxt, typ: t) -> ~str {
374375
}
375376
};
376377

377-
s.push_str("fn");
378+
if !is_borrowed_closure {
379+
s.push_str("fn");
380+
}
378381
}
379382

380-
if !cty.bounds.is_empty() {
381-
s.push_str(":");
382-
}
383-
s.push_str(cty.bounds.repr(cx));
383+
if !is_borrowed_closure {
384+
// Print bounds before `fn` if this is not a borrowed closure.
385+
if !cty.bounds.is_empty() {
386+
s.push_str(":");
387+
s.push_str(cty.bounds.repr(cx));
388+
}
389+
390+
push_sig_to_str(cx, &mut s, '(', ')', &cty.sig);
391+
} else {
392+
// Print bounds after the signature if this is a borrowed closure.
393+
push_sig_to_str(cx, &mut s, '|', '|', &cty.sig);
384394

385-
push_sig_to_str(cx, &mut s, &cty.sig);
395+
if is_borrowed_closure {
396+
if !cty.bounds.is_empty() {
397+
s.push_str(":");
398+
s.push_str(cty.bounds.repr(cx));
399+
}
400+
}
401+
}
386402

387403
return s;
388404
}
389-
fn push_sig_to_str(cx: ctxt, s: &mut ~str, sig: &ty::FnSig) {
390-
s.push_char('(');
405+
fn push_sig_to_str(cx: ctxt,
406+
s: &mut ~str,
407+
bra: char,
408+
ket: char,
409+
sig: &ty::FnSig) {
410+
s.push_char(bra);
391411
let strs = sig.inputs.map(|a| fn_input_to_str(cx, *a));
392412
s.push_str(strs.connect(", "));
393-
s.push_char(')');
413+
s.push_char(ket);
394414
if ty::get(sig.output).sty != ty_nil {
395415
s.push_str(" -> ");
396416
if ty::type_is_bot(sig.output) {

branches/try2/src/librustuv/uvio.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2464,7 +2464,7 @@ fn test_timer_sleep_simple() {
24642464
unsafe {
24652465
let io = local_io();
24662466
let timer = io.timer_init();
2467-
do timer.map_move |mut t| { t.sleep(1) };
2467+
do timer.map |mut t| { t.sleep(1) };
24682468
}
24692469
}
24702470
}

0 commit comments

Comments
 (0)