Skip to content

Commit 3269ebf

Browse files
committed
---
yaml --- r: 167900 b: refs/heads/master c: 5e21e17 h: refs/heads/master v: v3
1 parent 7ee091b commit 3269ebf

File tree

594 files changed

+5845
-10635
lines changed

Some content is hidden

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

594 files changed

+5845
-10635
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: f2ee9fca851c5a567480147916a2538530433655
2+
refs/heads/master: 5e21e17d9638d14af41e27e5ca9a21c8a1bc0170
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: c89417130f042c58adc60012e7cddc4ef70b70b9
55
refs/heads/try: 5204084bd2e46af7cc6e0147430e44dd0d657bbb

trunk/configure

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,10 @@ case $CFG_CPUTYPE in
444444
CFG_OSTYPE="${CFG_OSTYPE}eabihf"
445445
;;
446446

447+
aarch64)
448+
CFG_CPUTYPE=aarch64
449+
;;
450+
447451
x86_64 | x86-64 | x64 | amd64)
448452
CFG_CPUTYPE=x86_64
449453
;;
@@ -988,7 +992,7 @@ do
988992
make_dir $t/rt/jemalloc
989993
for i in \
990994
isaac sync test \
991-
arch/i386 arch/x86_64 arch/arm arch/mips
995+
arch/i386 arch/x86_64 arch/arm arch/aarch64 arch/mips
992996
do
993997
make_dir $t/rt/stage$s/$i
994998
done
@@ -1165,7 +1169,7 @@ do
11651169

11661170
msg "configuring LLVM for $gnu_t"
11671171

1168-
LLVM_TARGETS="--enable-targets=x86,x86_64,arm,mips"
1172+
LLVM_TARGETS="--enable-targets=x86,x86_64,arm,aarch64,mips"
11691173
LLVM_BUILD="--build=$gnu_t"
11701174
LLVM_HOST="--host=$gnu_t"
11711175
LLVM_TARGET="--target=$gnu_t"
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# aarch64-unknown-linux-gnu configuration
2+
CROSS_PREFIX_aarch64-unknown-linux-gnu=aarch64-linux-gnu-
3+
CC_aarch64-unknown-linux-gnu=gcc
4+
CXX_aarch64-unknown-linux-gnu=g++
5+
CPP_aarch64-unknown-linux-gnu=gcc -E
6+
AR_aarch64-unknown-linux-gnu=ar
7+
CFG_LIB_NAME_aarch64-unknown-linux-gnu=lib$(1).so
8+
CFG_STATIC_LIB_NAME_aarch64-unknown-linux-gnu=lib$(1).a
9+
CFG_LIB_GLOB_aarch64-unknown-linux-gnu=lib$(1)-*.so
10+
CFG_LIB_DSYM_GLOB_aarch64-unknown-linux-gnu=lib$(1)-*.dylib.dSYM
11+
CFG_JEMALLOC_CFLAGS_aarch64-unknown-linux-gnu := -D__aarch64__ $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_aarch64-unknown-linux-gnu := -Wall -g -fPIC -D__aarch64__ $(CFLAGS)
13+
CFG_GCCISH_CXXFLAGS_aarch64-unknown-linux-gnu := -fno-rtti $(CXXFLAGS)
14+
CFG_GCCISH_LINK_FLAGS_aarch64-unknown-linux-gnu := -shared -fPIC -g
15+
CFG_GCCISH_DEF_FLAG_aarch64-unknown-linux-gnu := -Wl,--export-dynamic,--dynamic-list=
16+
CFG_GCCISH_PRE_LIB_FLAGS_aarch64-unknown-linux-gnu := -Wl,-whole-archive
17+
CFG_GCCISH_POST_LIB_FLAGS_aarch64-unknown-linux-gnu := -Wl,-no-whole-archive
18+
CFG_DEF_SUFFIX_aarch64-unknown-linux-gnu := .linux.def
19+
CFG_LLC_FLAGS_aarch64-unknown-linux-gnu :=
20+
CFG_INSTALL_NAME_aarch64-unknown-linux-gnu =
21+
CFG_EXE_SUFFIX_aarch64-unknown-linux-gnu :=
22+
CFG_WINDOWSY_aarch64-unknown-linux-gnu :=
23+
CFG_UNIXY_aarch64-unknown-linux-gnu := 1
24+
CFG_PATH_MUNGE_aarch64-unknown-linux-gnu := true
25+
CFG_LDPATH_aarch64-unknown-linux-gnu :=
26+
CFG_RUN_aarch64-unknown-linux-gnu=$(2)
27+
CFG_RUN_TARG_aarch64-unknown-linux-gnu=$(call CFG_RUN_aarch64-unknown-linux-gnu,,$(2))
28+
RUSTC_FLAGS_aarch64-unknown-linux-gnu :=
29+
RUSTC_CROSS_FLAGS_aarch64-unknown-linux-gnu :=
30+
CFG_GNU_TRIPLE_aarch64-unknown-linux-gnu := aarch64-unknown-linux-gnu

trunk/mk/crates.mk

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@
5050
################################################################################
5151

5252
TARGET_CRATES := libc std flate arena term \
53-
serialize getopts collections test time rand \
53+
serialize getopts collections test rand \
5454
log regex graphviz core rbml alloc \
5555
unicode
5656
RUSTC_CRATES := rustc rustc_typeck rustc_borrowck rustc_resolve rustc_driver \
5757
rustc_trans rustc_back rustc_llvm
58-
HOST_CRATES := syntax $(RUSTC_CRATES) rustdoc regex_macros fmt_macros
58+
HOST_CRATES := syntax $(RUSTC_CRATES) rustdoc fmt_macros
5959
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
6060
TOOLS := compiletest rustdoc rustc
6161

@@ -75,11 +75,11 @@ DEPS_rustc_typeck := rustc syntax
7575
DEPS_rustc_borrowck := rustc log graphviz syntax
7676
DEPS_rustc_resolve := rustc log syntax
7777
DEPS_rustc := syntax flate arena serialize getopts rbml \
78-
time log graphviz rustc_llvm rustc_back
78+
log graphviz rustc_llvm rustc_back
7979
DEPS_rustc_llvm := native:rustllvm libc std
8080
DEPS_rustc_back := std syntax rustc_llvm flate log libc
8181
DEPS_rustdoc := rustc rustc_driver native:hoedown serialize getopts \
82-
test time
82+
test
8383
DEPS_flate := std native:miniz
8484
DEPS_arena := std
8585
DEPS_graphviz := std
@@ -90,12 +90,10 @@ DEPS_term := std log
9090
DEPS_getopts := std
9191
DEPS_collections := core alloc unicode
9292
DEPS_num := std
93-
DEPS_test := std getopts serialize rbml term time regex native:rust_test_helpers
94-
DEPS_time := std serialize
93+
DEPS_test := std getopts serialize rbml term regex native:rust_test_helpers
9594
DEPS_rand := core
9695
DEPS_log := std regex
9796
DEPS_regex := std
98-
DEPS_regex_macros = rustc syntax std regex
9997
DEPS_fmt_macros = std
10098

10199
TOOL_DEPS_compiletest := test getopts
@@ -124,10 +122,8 @@ DOC_CRATES := $(filter-out rustc, \
124122
$(filter-out rustc_driver, \
125123
$(filter-out log, \
126124
$(filter-out regex, \
127-
$(filter-out regex_macros, \
128125
$(filter-out getopts, \
129-
$(filter-out time, \
130-
$(filter-out syntax, $(CRATES)))))))))))))
126+
$(filter-out syntax, $(CRATES)))))))))))
131127
COMPILER_DOC_CRATES := rustc rustc_trans rustc_borrowck rustc_resolve \
132128
rustc_typeck rustc_driver syntax
133129

trunk/mk/grammar.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ $(BG)RustLexer.class: $(BG) $(SG)RustLexer.g4
3737
check-build-lexer-verifier: $(BG)verify
3838

3939
ifeq ($(NO_REBUILD),)
40-
VERIFY_DEPS := rustc-stage2-H-$(CFG_BUILD) $(LD)stamp.regex_macros $(LD)stamp.rustc
40+
VERIFY_DEPS := rustc-stage2-H-$(CFG_BUILD) $(LD)stamp.rustc
4141
else
4242
VERIFY_DEPS :=
4343
endif

trunk/mk/main.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2014 The Rust Project Developers. See the COPYRIGHT
1+
# Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT
22
# file at the top-level directory of this distribution and at
33
# http://rust-lang.org/COPYRIGHT.
44
#
@@ -261,7 +261,7 @@ endif
261261
######################################################################
262262

263263
# FIXME: x86-ism
264-
LLVM_COMPONENTS=x86 arm mips ipo bitreader bitwriter linker asmparser mcjit \
264+
LLVM_COMPONENTS=x86 arm aarch64 mips ipo bitreader bitwriter linker asmparser mcjit \
265265
interpreter instrumentation
266266

267267
# Only build these LLVM tools

trunk/mk/platform.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2012 The Rust Project Developers. See the COPYRIGHT
1+
# Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
22
# file at the top-level directory of this distribution and at
33
# http://rust-lang.org/COPYRIGHT.
44
#
@@ -177,7 +177,7 @@ define CFG_MAKE_TOOLCHAIN
177177
$$(CFG_GCCISH_DEF_FLAG_$(1))$$(3) $$(2) \
178178
$$(call CFG_INSTALL_NAME_$(1),$$(4))
179179

180-
ifeq ($$(findstring $(HOST_$(1)),arm mips mipsel),)
180+
ifeq ($$(findstring $(HOST_$(1)),arm aarch64 mips mipsel),)
181181

182182
# We're using llvm-mc as our assembler because it supports
183183
# .cfi pseudo-ops on mac
@@ -189,7 +189,7 @@ define CFG_MAKE_TOOLCHAIN
189189
-o=$$(1)
190190
else
191191

192-
# For the ARM and MIPS crosses, use the toolchain assembler
192+
# For the ARM, AARCH64 and MIPS crosses, use the toolchain assembler
193193
# FIXME: We should be able to use the LLVM assembler
194194
CFG_ASSEMBLE_$(1)=$$(CC_$(1)) $$(CFG_GCCISH_CFLAGS_$(1)) \
195195
$$(CFG_DEPEND_FLAGS) $$(2) -c -o $$(1)

trunk/mk/tests.mk

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -373,15 +373,6 @@ TESTDEP_$(1)_$(2)_$(3)_$(4) = $$(SREQ$(1)_T_$(2)_H_$(3)) \
373373
$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$$(crate)) \
374374
$$(CRATE_FULLDEPS_$(1)_T_$(2)_H_$(3)_$(4))
375375

376-
# The regex crate depends on the regex_macros crate during testing, but it
377-
# notably depend on the *host* regex_macros crate, not the target version.
378-
# Additionally, this is not a dependency in stage1, only in stage2.
379-
ifeq ($(4),regex)
380-
ifneq ($(1),1)
381-
TESTDEP_$(1)_$(2)_$(3)_$(4) += $$(TLIB$(1)_T_$(3)_H_$(3))/stamp.regex_macros
382-
endif
383-
endif
384-
385376
else
386377
TESTDEP_$(1)_$(2)_$(3)_$(4) = $$(RSINPUTS_$(4))
387378
endif
@@ -843,27 +834,8 @@ else
843834
CRATEDOCTESTDEP_$(1)_$(2)_$(3)_$(4) = $$(RSINPUTS_$(4))
844835
endif
845836

846-
# (Issues #13732, #13983, #14000) The doc for the regex crate includes
847-
# uses of the `regex!` macro from the regex_macros crate. There is
848-
# normally a dependence injected that makes the target's regex depend
849-
# upon the host's regex_macros (see #13845), but that dependency
850-
# injection is currently skipped for stage1 as a special case.
851-
#
852-
# Therefore, as a further special case, this conditional skips
853-
# attempting to run the doc tests for the regex crate atop stage1,
854-
# (since there is no regex_macros crate for the stage1 rustc to load).
855-
#
856-
# (Another approach for solving this would be to inject the desired
857-
# dependence for stage1 as well, by setting things up to generate a
858-
# regex_macros crate that was compatible with the stage1 rustc and
859-
# thus re-enable our ability to run this test.)
860-
ifeq (stage$(1)-crate-$(4),stage1-crate-regex)
861-
check-stage$(1)-T-$(2)-H-$(3)-doc-crate-$(4)-exec:
862-
@$$(call E, skipping doc-crate-$(4) as it uses macros and cannot run at stage$(1))
863-
else
864837
check-stage$(1)-T-$(2)-H-$(3)-doc-crate-$(4)-exec: \
865838
$$(call TEST_OK_FILE,$(1),$(2),$(3),doc-crate-$(4))
866-
endif
867839

868840
ifeq ($(2),$$(CFG_BUILD))
869841
$$(call TEST_OK_FILE,$(1),$(2),$(3),doc-crate-$(4)): $$(CRATEDOCTESTDEP_$(1)_$(2)_$(3)_$(4))

trunk/src/compiletest/common.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use std::fmt;
1313
use std::str::FromStr;
1414
use regex::Regex;
1515

16-
#[deriving(Clone, PartialEq)]
16+
#[derive(Clone, PartialEq)]
1717
pub enum Mode {
1818
CompileFail,
1919
RunFail,
@@ -59,7 +59,7 @@ impl fmt::Show for Mode {
5959
}
6060
}
6161

62-
#[deriving(Clone)]
62+
#[derive(Clone)]
6363
pub struct Config {
6464
// The library paths required for running the compiler
6565
pub compile_lib_path: String,

trunk/src/compiletest/compiletest.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ extern crate regex;
2222
use std::os;
2323
use std::io;
2424
use std::io::fs;
25-
use std::str::{FromStr, from_str};
25+
use std::str::FromStr;
2626
use std::thunk::Thunk;
2727
use getopts::{optopt, optflag, reqopt};
2828
use common::Config;

trunk/src/compiletest/errors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pub struct ExpectedError {
3030
pub static EXPECTED_PATTERN : &'static str =
3131
r"//~(?P<follow>\|)?(?P<adjusts>\^*)\s*(?P<kind>\S*)\s*(?P<msg>.*)";
3232

33-
#[deriving(PartialEq, Show)]
33+
#[derive(PartialEq, Show)]
3434
enum WhichLine { ThisLine, FollowPrevious(uint), AdjustBackward(uint) }
3535

3636
// Load any test directives embedded in the file

trunk/src/doc/reference.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1478,19 +1478,19 @@ Constants should in general be preferred over statics, unless large amounts of
14781478
data are being stored, or single-address and mutability properties are required.
14791479

14801480
```
1481-
use std::sync::atomic;
1481+
use std::sync::atomic::{AtomicUint, Ordering, ATOMIC_UINT_INIT};;
14821482
14831483
// Note that ATOMIC_UINT_INIT is a *const*, but it may be used to initialize a
14841484
// static. This static can be modified, so it is not placed in read-only memory.
1485-
static COUNTER: atomic::AtomicUint = atomic::ATOMIC_UINT_INIT;
1485+
static COUNTER: AtomicUint = ATOMIC_UINT_INIT;
14861486
14871487
// This table is a candidate to be placed in read-only memory.
14881488
static TABLE: &'static [uint] = &[1, 2, 3, /* ... */];
14891489
14901490
for slot in TABLE.iter() {
14911491
println!("{}", slot);
14921492
}
1493-
COUNTER.fetch_add(1, atomic::SeqCst);
1493+
COUNTER.fetch_add(1, Ordering::SeqCst);
14941494
```
14951495

14961496
#### Mutable statics
@@ -2141,7 +2141,7 @@ arbitrarily complex configurations through nesting.
21412141
The following configurations must be defined by the implementation:
21422142

21432143
* `target_arch = "..."`. Target CPU architecture, such as `"x86"`, `"x86_64"`
2144-
`"mips"`, or `"arm"`.
2144+
`"mips"`, `"arm"`, or `"aarch64"`.
21452145
* `target_endian = "..."`. Endianness of the target CPU, either `"little"` or
21462146
`"big"`.
21472147
* `target_family = "..."`. Operating system family of the target, e. g.

trunk/src/grammar/verify.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@ extern crate regex;
1919
#[phase(link, plugin)]
2020
extern crate log;
2121

22-
#[phase(plugin)] extern crate regex_macros;
23-
2422
use std::collections::HashMap;
2523
use std::io::File;
24+
use regex::Regex;
2625

2726
use syntax::parse;
2827
use syntax::parse::lexer;
29-
use rustc::session::{mod, config};
28+
use rustc::session::{self, config};
3029

3130
use syntax::ast;
3231
use syntax::ast::Name;
@@ -168,9 +167,9 @@ fn count(lit: &str) -> uint {
168167
}
169168

170169
fn parse_antlr_token(s: &str, tokens: &HashMap<String, token::Token>) -> TokenAndSpan {
171-
let re = regex!(
170+
let re = Regex::new(
172171
r"\[@(?P<seq>\d+),(?P<start>\d+):(?P<end>\d+)='(?P<content>.+?)',<(?P<toknum>-?\d+)>,\d+:\d+]"
173-
);
172+
).unwrap();
174173

175174
let m = re.captures(s).expect(format!("The regex didn't match {}", s).as_slice());
176175
let start = m.name("start").unwrap_or("");

trunk/src/liballoc/arc.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ use core::atomic;
7171
use core::atomic::Ordering::{Relaxed, Release, Acquire, SeqCst};
7272
use core::borrow::BorrowFrom;
7373
use core::clone::Clone;
74-
use core::fmt::{mod, Show};
74+
use core::fmt::{self, Show};
7575
use core::cmp::{Eq, Ord, PartialEq, PartialOrd, Ordering};
7676
use core::default::Default;
7777
use core::kinds::{Sync, Send};
@@ -81,7 +81,7 @@ use core::nonzero::NonZero;
8181
use core::ops::{Drop, Deref};
8282
use core::option::Option;
8383
use core::option::Option::{Some, None};
84-
use core::ptr::{mod, PtrExt};
84+
use core::ptr::{self, PtrExt};
8585
use heap::deallocate;
8686

8787
/// An atomically reference counted wrapper for shared state.
@@ -600,11 +600,9 @@ mod tests {
600600
use std::ops::Drop;
601601
use std::option::Option;
602602
use std::option::Option::{Some, None};
603-
use std::str::Str;
604603
use std::sync::atomic;
605604
use std::sync::atomic::Ordering::{Acquire, SeqCst};
606-
use std::task;
607-
use std::kinds::Send;
605+
use std::thread::Thread;
608606
use std::vec::Vec;
609607
use super::{Arc, Weak, weak_count, strong_count};
610608
use std::sync::Mutex;
@@ -631,7 +629,7 @@ mod tests {
631629

632630
let (tx, rx) = channel();
633631

634-
task::spawn(move || {
632+
let _t = Thread::spawn(move || {
635633
let arc_v: Arc<Vec<int>> = rx.recv().unwrap();
636634
assert_eq!((*arc_v)[3], 4);
637635
});
@@ -800,6 +798,6 @@ mod tests {
800798
}
801799

802800
// Make sure deriving works with Arc<T>
803-
#[deriving(Eq, Ord, PartialEq, PartialOrd, Clone, Show, Default)]
801+
#[derive(Eq, Ord, PartialEq, PartialOrd, Clone, Show, Default)]
804802
struct Foo { inner: Arc<int> }
805803
}

trunk/src/liballoc/boxed.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
1313
#![stable]
1414

15-
use core::any::{Any, AnyRefExt};
15+
use core::any::Any;
1616
use core::clone::Clone;
1717
use core::cmp::{PartialEq, PartialOrd, Eq, Ord, Ordering};
1818
use core::default::Default;
1919
use core::fmt;
20-
use core::hash::{mod, Hash};
20+
use core::hash::{self, Hash};
2121
use core::kinds::Sized;
2222
use core::mem;
2323
use core::option::Option;

trunk/src/liballoc/heap.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
1+
// Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT
22
// file at the top-level directory of this distribution and at
33
// http://rust-lang.org/COPYRIGHT.
44
//
@@ -120,7 +120,8 @@ unsafe fn exchange_free(ptr: *mut u8, old_size: uint, align: uint) {
120120
target_arch = "mipsel"))]
121121
const MIN_ALIGN: uint = 8;
122122
#[cfg(any(target_arch = "x86",
123-
target_arch = "x86_64"))]
123+
target_arch = "x86_64",
124+
target_arch = "aarch64"))]
124125
const MIN_ALIGN: uint = 16;
125126

126127
#[cfg(external_funcs)]

0 commit comments

Comments
 (0)