Skip to content

Commit 68a9415

Browse files
committed
---
yaml --- r: 112245 b: refs/heads/try c: 0966ee5 h: refs/heads/master i: 112243: 8fac057 v: v3
1 parent b85cd10 commit 68a9415

File tree

598 files changed

+9678
-6941
lines changed

Some content is hidden

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

598 files changed

+9678
-6941
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: a692e9b1234ff6573b0cfbc39394d9222eb38f81
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: b5dd3f05fe95168b5569d0f519636149479eb6ac
5-
refs/heads/try: 0b6a4387230b1f586f86bb996e33e7adf8f70c2a
5+
refs/heads/try: 0966ee5285e9cfd26edf6a1e53bed5eeb8114374
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ documentation.
2525
* `perl` 5.0 or later
2626
* GNU `make` 3.81 or later
2727
* `curl`
28+
* `git`
2829
2. Download and build Rust:
2930

3031
You can either download a [tarball] or build directly from the [repo].

branches/try/configure

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,7 @@ opt ccache 0 "invoke gcc/clang via ccache to reuse object files between builds"
388388
opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
389389
opt pax-flags 0 "apply PaX flags to rustc binaries (required for GRSecurity/PaX-patched kernels)"
390390
opt inject-std-version 1 "inject the current compiler version of libstd into programs"
391+
opt llvm-static-stdcpp 0 "statically link to libstdc++ for LLVM"
391392
opt rpath 1 "build rpaths into rustc itself"
392393
opt nightly 0 "build nightly packages"
393394
opt verify-install 1 "verify installed binaries work"
@@ -579,26 +580,32 @@ then
579580
CFG_ENABLE_CLANG=1
580581
putvar CFG_ENABLE_CLANG
581582
else
582-
# on OS X, with xcode 5 and newer, certain developers may have
583-
# cc, gcc and g++ point to a mixture of clang and gcc
584-
# if so, this will create very strange build errors
585-
# this last stanza is to detect some such problems and save the future rust
586-
# contributor some time solving that issue.
587-
# this detection could be generalized to other OSes aside from OS X
588-
# but the issue seems most likely to happen on OS X
589-
590-
chk_cc () {
591-
$1 --version 2> /dev/null | grep -q $2
592-
}
593-
# check that gcc, cc and g++ all point to the same compiler.
594-
# note that for xcode 5, g++ points to clang, not clang++
595-
if !((chk_cc gcc clang && chk_cc g++ clang) ||
596-
(chk_cc gcc gcc &&( chk_cc g++ g++ || chk g++ gcc))) then
597-
err "the gcc and g++ in your path point to different compilers.
598-
Check which versions are in your path with cc --version and g++ --version.
599-
To resolve this problem, either fix your PATH or run configure with --enable-clang"
600-
fi
583+
if [ $("$CFG_GCC" --version 2>&1 | grep -c ' 4\.[0-6]') -ne 0 ]; then
584+
step_msg "older GCC found, using clang instead"
585+
CFG_ENABLE_CLANG=1
586+
putvar CFG_ENABLE_CLANG
587+
else
588+
# on OS X, with xcode 5 and newer, certain developers may have
589+
# cc, gcc and g++ point to a mixture of clang and gcc
590+
# if so, this will create very strange build errors
591+
# this last stanza is to detect some such problems and save the future rust
592+
# contributor some time solving that issue.
593+
# this detection could be generalized to other OSes aside from OS X
594+
# but the issue seems most likely to happen on OS X
595+
596+
chk_cc () {
597+
$1 --version 2> /dev/null | grep -q $2
598+
}
599+
# check that gcc, cc and g++ all point to the same compiler.
600+
# note that for xcode 5, g++ points to clang, not clang++
601+
if !((chk_cc gcc clang && chk_cc g++ clang) ||
602+
(chk_cc gcc gcc &&( chk_cc g++ g++ || chk g++ gcc))) then
603+
err "the gcc and g++ in your path point to different compilers.
604+
Check which versions are in your path with cc --version and g++ --version.
605+
To resolve this problem, either fix your PATH or run configure with --enable-clang"
606+
fi
601607

608+
fi
602609
fi
603610
fi
604611

@@ -921,10 +928,6 @@ do
921928
LLVM_OPTS="$LLVM_OPTS --disable-terminfo"
922929
# Try to have LLVM pull in as few dependencies as possible (#9397)
923930
LLVM_OPTS="$LLVM_OPTS --disable-zlib --disable-libffi"
924-
# LLVM says it needs a "new" clang/gcc, but we seem to get by ok with
925-
# older versions on the bots. Get by for a little longer by asking it to
926-
# not do version detection
927-
LLVM_OPTS="$LLVM_OPTS --disable-compiler-version-checks"
928931

929932
# Use win32 native thread/lock apis instead of pthread wrapper.
930933
# (llvm's configure tries to find pthread first, so we have to disable it explicitly.)
@@ -942,13 +945,15 @@ do
942945

943946
LLVM_CXX_64="ccache clang++ -Qunused-arguments"
944947
LLVM_CC_64="ccache clang -Qunused-arguments"
948+
LLVM_OPTS="$LLVM_OPTS --enable-libcpp"
945949
;;
946950
("clang")
947951
LLVM_CXX_32="clang++ -m32 -Qunused-arguments"
948952
LLVM_CC_32="clang -m32 -Qunused-arguments"
949953

950954
LLVM_CXX_64="clang++ -Qunused-arguments"
951955
LLVM_CC_64="clang -Qunused-arguments"
956+
LLVM_OPTS="$LLVM_OPTS --enable-libcpp"
952957
;;
953958
("ccache gcc")
954959
LLVM_CXX_32="ccache g++ -m32"

branches/try/man/rustc.1

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.TH RUSTC "1" "March 2014" "rustc 0.11-pre" "User Commands"
22
.SH NAME
3-
rustc \- rust compiler
3+
rustc \- The Rust compiler
44
.SH SYNOPSIS
55
.B rustc
66
[\fIOPTIONS\fR] \fIINPUT\fR
@@ -27,15 +27,20 @@ Display this message
2727
\fB\-L\fR PATH
2828
Add a directory to the library search path
2929
.TP
30-
\fB\-\-ls\fR
31-
List the symbols defined by a library crate
32-
.TP
3330
\fB\-\-no\-trans\fR
3431
Run all passes except translation; no output
3532
.TP
36-
\fB\-g\fR, \fB\-\-debuginfo\fR
33+
\fB\-\-no\-analysis\fR
34+
Parse and expand the source, but run no analysis and produce no output
35+
.TP
36+
\fB\-g\fR
3737
Emit DWARF debug information into object files generated.
3838
.TP
39+
\fB\-\-debuginfo\fR LEVEL
40+
Emit DWARF debug info to the objects created: 0 = no debug info, 1 =
41+
line-tables only (for stacktraces and breakpoints), 2 = full debug
42+
info with variable and type information (same as -g).
43+
.TP
3944
\fB\-O\fR
4045
Equivalent to \fI\-\-opt\-level=2\fR
4146
.TP
@@ -58,6 +63,10 @@ Pretty-print the input instead of compiling; valid types are: normal
5863
expanded, with type annotations), or identified (fully parenthesized,
5964
AST nodes and blocks with IDs)
6065
.TP
66+
\fB\-\-dep-info\fR [FILENAME]
67+
Output dependency info to <filename> after compiling, in o format suitable
68+
for use by Makefiles.
69+
.TP
6170
\fB\-\-sysroot\fR PATH
6271
Override the system root
6372
.TP
@@ -151,15 +160,14 @@ level.
151160
Generates software floating point library calls instead of hardware
152161
instructions.
153162
.TP
154-
\fBgen-crate-map\fR
155-
Forces generate of a toplevel crate map. May be required for logging to work
156-
when rust is embedded into another application.
157-
.TP
158163
\fBprefer-dynamic\fR
159164
Prefers dynamic linking to static linking.
160165
.TP
161166
\fBno-integrated-as\fR
162167
Force usage of an external assembler rather than LLVM's integrated one.
168+
.TP
169+
\fBrelocation-model\fR=[pic,static,dynamic-no-pic]
170+
The relocation model to use. (default: pic)
163171

164172
.SH "EXAMPLES"
165173
To build an executable from a source file with a main function:
@@ -182,8 +190,7 @@ rustdoc
182190
See <\fBhttps://github.com/mozilla/rust/issues\fR> for issues.
183191

184192
.SH "AUTHOR"
185-
See \fBAUTHORS.txt\fR in the rust source distribution. Graydon Hoare
186-
<\fI[email protected]\fR> is the project leader.
193+
See \fBAUTHORS.txt\fR in the Rust source distribution.
187194

188195
.SH "COPYRIGHT"
189196
This work is dual-licensed under Apache 2.0 and MIT terms. See \fBCOPYRIGHT\fR

branches/try/man/rustdoc.1

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,7 @@ rustc
9090
See <\fBhttps://github.com/mozilla/rust/issues\fR> for issues.
9191

9292
.SH "AUTHOR"
93-
See \fBAUTHORS.txt\fR in the rust source distribution. Graydon Hoare
94-
<\fI[email protected]\fR> is the project leader.
93+
See \fBAUTHORS.txt\fR in the Rust source distribution.
9594

9695
.SH "COPYRIGHT"
9796
This work is dual-licensed under Apache 2.0 and MIT terms. See \fBCOPYRIGHT\fR

branches/try/mk/dist.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ PKG_EXE = dist/$(PKG_NAME)-install.exe
118118
%.ico: $(S)src/etc/pkg/%.ico
119119
cp $< $@
120120

121-
$(PKG_EXE): rust.iss modpath.iss LICENSE.txt rust-logo.ico \
121+
$(PKG_EXE): rust.iss modpath.iss upgrade.iss LICENSE.txt rust-logo.ico \
122122
$(CSREQ3_T_$(CFG_BUILD)_H_$(CFG_BUILD)) \
123123
dist-prepare-win
124124
$(CFG_PYTHON) $(S)src/etc/copy-runtime-deps.py tmp/dist/win/bin

branches/try/mk/llvm.mk

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,25 @@ $$(LLVM_STAMP_$(1)): $(S)src/rustllvm/llvm-auto-clean-trigger
4242
@$$(call E, make: done cleaning llvm)
4343
touch $$@
4444

45+
ifeq ($$(CFG_ENABLE_LLVM_STATIC_STDCPP),1)
46+
LLVM_STDCPP_LOCATION_$(1) = $$(shell $$(CC_$(1)) $$(CFG_GCCISH_CFLAGS_$(1)) \
47+
-print-file-name=libstdc++.a)
48+
else
49+
LLVM_STDCPP_LOCATION_$(1) =
50+
endif
51+
4552
endef
4653

4754
$(foreach host,$(CFG_HOST), \
48-
$(eval LLVM_CONFIGS := $(LLVM_CONFIGS) $(LLVM_CONFIG_$(host))))
55+
$(eval $(call DEF_LLVM_RULES,$(host))))
4956

5057
$(foreach host,$(CFG_HOST), \
51-
$(eval $(call DEF_LLVM_RULES,$(host))))
58+
$(eval LLVM_CONFIGS := $(LLVM_CONFIGS) $(LLVM_CONFIG_$(host))))
5259

5360
$(S)src/librustc/lib/llvmdeps.rs: \
5461
$(LLVM_CONFIGS) \
55-
$(S)src/etc/mklldeps.py
62+
$(S)src/etc/mklldeps.py \
63+
$(MKFILE_DEPS)
5664
$(Q)$(CFG_PYTHON) $(S)src/etc/mklldeps.py \
57-
"$@" "$(LLVM_COMPONENTS)" $(LLVM_CONFIGS)
65+
"$@" "$(LLVM_COMPONENTS)" "$(CFG_ENABLE_LLVM_STATIC_STDCPP)" \
66+
$(LLVM_CONFIGS)

branches/try/mk/platform.mk

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,14 +542,17 @@ ifdef CFG_CCACHE_BASEDIR
542542
export CCACHE_BASEDIR
543543
endif
544544

545+
FIND_COMPILER = $(word 1,$(1:ccache=))
546+
545547
define CFG_MAKE_TOOLCHAIN
546548
# Prepend the tools with their prefix if cross compiling
547549
ifneq ($(CFG_BUILD),$(1))
548550
CC_$(1)=$(CROSS_PREFIX_$(1))$(CC_$(1))
549551
CXX_$(1)=$(CROSS_PREFIX_$(1))$(CXX_$(1))
550552
CPP_$(1)=$(CROSS_PREFIX_$(1))$(CPP_$(1))
551553
AR_$(1)=$(CROSS_PREFIX_$(1))$(AR_$(1))
552-
RUSTC_CROSS_FLAGS_$(1)=-C linker=$$(CXX_$(1)) -C ar=$$(AR_$(1)) $(RUSTC_CROSS_FLAGS_$(1))
554+
RUSTC_CROSS_FLAGS_$(1)=-C linker=$$(call FIND_COMPILER,$$(CXX_$(1))) \
555+
-C ar=$$(call FIND_COMPILER,$$(AR_$(1))) $(RUSTC_CROSS_FLAGS_$(1))
553556

554557
RUSTC_FLAGS_$(1)=$$(RUSTC_CROSS_FLAGS_$(1)) $(RUSTC_FLAGS_$(1))
555558
endif

branches/try/mk/prepare.mk

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,7 @@
2020
# PREPARE_TARGETS - the target triples, space separated
2121
# PREPARE_DEST_DIR - the directory to put the image
2222

23-
24-
# On windows we install from stage3, but on unix only stage2
25-
ifdef CFG_WINDOWSY_$(CFG_BUILD)
26-
PREPARE_STAGE=3
27-
else
2823
PREPARE_STAGE=2
29-
endif
3024

3125
DEFAULT_PREPARE_DIR_CMD = umask 022 && mkdir -p
3226
DEFAULT_PREPARE_BIN_CMD = install -m755

branches/try/mk/target.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$(4): \
8383
$$(WFLAGS_ST$(1)) \
8484
-L "$$(RT_OUTPUT_DIR_$(2))" \
8585
-L "$$(LLVM_LIBDIR_$(2))" \
86+
-L "$$(dir $$(LLVM_STDCPP_LOCATION_$(2)))" \
8687
--out-dir $$(@D) $$<
8788
@touch $$@
8889
$$(call LIST_ALL_OLD_GLOB_MATCHES,\

branches/try/mk/tests.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
568568
--host $(3) \
569569
--adb-path=$(CFG_ADB) \
570570
--adb-test-dir=$(CFG_ADB_TEST_DIR) \
571-
--host-rustcflags "$(RUSTC_FLAGS_$(3)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(2))" \
571+
--host-rustcflags "$(RUSTC_FLAGS_$(3)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(3))" \
572572
--target-rustcflags "$(RUSTC_FLAGS_$(2)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(2))" \
573573
$$(CTEST_TESTARGS)
574574

branches/try/src/compiletest/compiletest.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ pub fn parse_config(args: Vec<~str> ) -> config {
9393
assert!(!args.is_empty());
9494
let argv0 = (*args.get(0)).clone();
9595
let args_ = args.tail();
96-
if *args.get(1) == ~"-h" || *args.get(1) == ~"--help" {
96+
if *args.get(1) == "-h".to_owned() || *args.get(1) == "--help".to_owned() {
9797
let message = format!("Usage: {} [OPTIONS] [TESTNAME...]", argv0);
9898
println!("{}", getopts::usage(message, groups.as_slice()));
9999
println!("");
@@ -181,7 +181,7 @@ pub fn log_config(config: &config) {
181181
logv(c, format!("adb_test_dir: {}", config.adb_test_dir));
182182
logv(c, format!("adb_device_status: {}", config.adb_device_status));
183183
match config.test_shard {
184-
None => logv(c, ~"test_shard: (all)"),
184+
None => logv(c, "test_shard: (all)".to_owned()),
185185
Some((a,b)) => logv(c, format!("test_shard: {}.{}", a, b))
186186
}
187187
logv(c, format!("verbose: {}", config.verbose));
@@ -199,7 +199,7 @@ pub fn opt_str<'a>(maybestr: &'a Option<~str>) -> &'a str {
199199
}
200200

201201
pub fn opt_str2(maybestr: Option<~str>) -> ~str {
202-
match maybestr { None => ~"(none)", Some(s) => { s } }
202+
match maybestr { None => "(none)".to_owned(), Some(s) => { s } }
203203
}
204204

205205
pub fn str_mode(s: ~str) -> mode {
@@ -216,17 +216,17 @@ pub fn str_mode(s: ~str) -> mode {
216216

217217
pub fn mode_str(mode: mode) -> ~str {
218218
match mode {
219-
mode_compile_fail => ~"compile-fail",
220-
mode_run_fail => ~"run-fail",
221-
mode_run_pass => ~"run-pass",
222-
mode_pretty => ~"pretty",
223-
mode_debug_info => ~"debug-info",
224-
mode_codegen => ~"codegen",
219+
mode_compile_fail => "compile-fail".to_owned(),
220+
mode_run_fail => "run-fail".to_owned(),
221+
mode_run_pass => "run-pass".to_owned(),
222+
mode_pretty => "pretty".to_owned(),
223+
mode_debug_info => "debug-info".to_owned(),
224+
mode_codegen => "codegen".to_owned(),
225225
}
226226
}
227227

228228
pub fn run_tests(config: &config) {
229-
if config.target == ~"arm-linux-androideabi" {
229+
if config.target == "arm-linux-androideabi".to_owned() {
230230
match config.mode{
231231
mode_debug_info => {
232232
println!("arm-linux-androideabi debug-info \
@@ -296,10 +296,10 @@ pub fn is_test(config: &config, testfile: &Path) -> bool {
296296
// Pretty-printer does not work with .rc files yet
297297
let valid_extensions =
298298
match config.mode {
299-
mode_pretty => vec!(~".rs"),
300-
_ => vec!(~".rc", ~".rs")
299+
mode_pretty => vec!(".rs".to_owned()),
300+
_ => vec!(".rc".to_owned(), ".rs".to_owned())
301301
};
302-
let invalid_prefixes = vec!(~".", ~"#", ~"~");
302+
let invalid_prefixes = vec!(".".to_owned(), "#".to_owned(), "~".to_owned());
303303
let name = testfile.filename_str().unwrap();
304304

305305
let mut valid = false;

branches/try/src/compiletest/errors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub fn load_errors(testfile: &Path) -> Vec<ExpectedError> {
3131

3232
fn parse_expected(line_num: uint, line: ~str) -> Vec<ExpectedError> {
3333
let line = line.trim();
34-
let error_tag = ~"//~";
34+
let error_tag = "//~".to_owned();
3535
let mut idx;
3636
match line.find_str(error_tag) {
3737
None => return Vec::new(),

0 commit comments

Comments
 (0)