Skip to content

Commit 86d0ed6

Browse files
committed
---
yaml --- r: 144554 b: refs/heads/try2 c: 97f61e7 h: refs/heads/master v: v3
1 parent 4600780 commit 86d0ed6

File tree

112 files changed

+2550
-1336
lines changed

Some content is hidden

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

112 files changed

+2550
-1336
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: 974f854bb528c9a94af62990965ac62a1aa0dbed
8+
refs/heads/try2: 97f61e7bbeca5c9524126ca75670fc45d1b1a951
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/doc/tutorial-tasks.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,21 @@ do spawn {
113113
}
114114
~~~
115115

116+
By default, the scheduler multiplexes tasks across the available cores, running
117+
in parallel. Thus, on a multicore machine, running the following code
118+
should interleave the output in vaguely random order.
119+
120+
~~~
121+
# use std::io::print;
122+
# use std::task::spawn;
123+
124+
for child_task_number in range(0, 20) {
125+
do spawn {
126+
print(fmt!("I am child number %d\n", child_task_number));
127+
}
128+
}
129+
~~~
130+
116131
## Communication
117132

118133
Now that we have spawned a new task, it would be nice if we could

branches/try2/mk/llvm.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ ifeq ($(CFG_LLVM_ROOT),)
2626

2727
$$(LLVM_CONFIG_$(1)): $$(LLVM_DEPS)
2828
@$$(call E, make: llvm)
29-
$$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) $$(CFG_LLVM_BUILD_ENV)
29+
$$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1))
3030
$$(Q)touch $$(LLVM_CONFIG_$(1))
3131
endif
3232

branches/try2/mk/platform.mk

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,7 @@ endef
2626
$(foreach t,$(CFG_TARGET_TRIPLES),$(eval $(call DEF_OSTYPE_VAR,$(t))))
2727
$(foreach t,$(CFG_TARGET_TRIPLES),$(info cfg: os for $(t) is $(OSTYPE_$(t))))
2828

29-
# FIXME: no-omit-frame-pointer is just so that task_start_wrapper
30-
# has a frame pointer and the stack walker can understand it. Turning off
31-
# frame pointers everywhere is overkill
32-
CFG_GCCISH_CFLAGS += -fno-omit-frame-pointer -DUSE_UTF8
29+
CFG_GCCISH_CFLAGS += -DUSE_UTF8
3330

3431
# On Darwin, we need to run dsymutil so the debugging information ends
3532
# up in the right place. On other platforms, it automatically gets
@@ -153,7 +150,6 @@ CFG_GCCISH_POST_LIB_FLAGS_x86_64-unknown-linux-gnu := -Wl,-no-whole-archive
153150
CFG_DEF_SUFFIX_x86_64-unknown-linux-gnu := .linux.def
154151
CFG_INSTALL_NAME_x86_64-unknown-linux-gnu =
155152
CFG_LIBUV_LINK_FLAGS_x86_64-unknown-linux-gnu =
156-
CFG_LLVM_BUILD_ENV_x86_64-unknown-linux-gnu="CXXFLAGS=-fno-omit-frame-pointer"
157153
CFG_EXE_SUFFIX_x86_64-unknown-linux-gnu =
158154
CFG_WINDOWSY_x86_64-unknown-linux-gnu :=
159155
CFG_UNIXY_x86_64-unknown-linux-gnu := 1
@@ -179,7 +175,6 @@ CFG_GCCISH_POST_LIB_FLAGS_i686-unknown-linux-gnu := -Wl,-no-whole-archive
179175
CFG_DEF_SUFFIX_i686-unknown-linux-gnu := .linux.def
180176
CFG_INSTALL_NAME_i686-unknown-linux-gnu =
181177
CFG_LIBUV_LINK_FLAGS_i686-unknown-linux-gnu =
182-
CFG_LLVM_BUILD_ENV_i686-unknown-linux-gnu="CXXFLAGS=-fno-omit-frame-pointer"
183178
CFG_EXE_SUFFIX_i686-unknown-linux-gnu =
184179
CFG_WINDOWSY_i686-unknown-linux-gnu :=
185180
CFG_UNIXY_i686-unknown-linux-gnu := 1

branches/try2/mk/rt.mk

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,6 @@ ifneq ($(strip $(findstring snap,$(MAKECMDGOALS))),)
4141
SNAP_DEFINES=-DRUST_SNAPSHOT
4242
endif
4343

44-
define DEF_LIBUV_ARCH_VAR
45-
LIBUV_ARCH_$(1) = $$(subst i386,ia32,$$(subst x86_64,x64,$$(HOST_$(1))))
46-
endef
47-
$(foreach t,$(CFG_TARGET_TRIPLES),$(eval $(call DEF_LIBUV_ARCH_VAR,$(t))))
48-
4944
define DEF_RUNTIME_TARGETS
5045

5146
######################################################################
@@ -182,9 +177,7 @@ $$(LIBUV_LIB_$(1)_$(2)): $$(LIBUV_DEPS)
182177
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS) $$(LIBUV_FLAGS_$$(HOST_$(1)))" \
183178
CC="$$(CC_$(1))" \
184179
CXX="$$(CXX_$(1))" \
185-
LINK="$$(CXX_$(1))" \
186180
AR="$$(AR_$(1))" \
187-
PLATFORM=android \
188181
BUILDTYPE=Release \
189182
builddir_name="$$(CFG_BUILD_DIR)/rt/$(1)/stage$(2)/libuv" \
190183
host=android OS=linux \

branches/try2/mk/tests.mk

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -476,15 +476,15 @@ RFAIL_RC := $(wildcard $(S)src/test/run-fail/*.rc)
476476
RFAIL_RS := $(wildcard $(S)src/test/run-fail/*.rs)
477477
CFAIL_RC := $(wildcard $(S)src/test/compile-fail/*.rc)
478478
CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
479-
BENCH_RS := $(wildcard $(S)src/test/bench/rt/*.rs $(S)src/test/bench/shootout/*.rs $(S)src/test/bench/std/*.rs $(S)src/test/bench/*.rs)
479+
BENCH_RS := $(wildcard $(S)src/test/bench/*.rs)
480480
PRETTY_RS := $(wildcard $(S)src/test/pretty/*.rs)
481481
DEBUGINFO_RS := $(wildcard $(S)src/test/debug-info/*.rs)
482482
CODEGEN_RS := $(wildcard $(S)src/test/codegen/*.rs)
483483
CODEGEN_CC := $(wildcard $(S)src/test/codegen/*.cc)
484484

485485
# perf tests are the same as bench tests only they run under
486486
# a performance monitor.
487-
PERF_RS := $(BENCH_RS)
487+
PERF_RS := $(wildcard $(S)src/test/bench/*.rs)
488488

489489
RPASS_TESTS := $(RPASS_RC) $(RPASS_RS)
490490
RPASS_FULL_TESTS := $(RPASS_FULL_RC) $(RPASS_FULL_RS)
@@ -516,7 +516,7 @@ CTEST_BUILD_BASE_cfail = compile-fail
516516
CTEST_MODE_cfail = compile-fail
517517
CTEST_RUNTOOL_cfail = $(CTEST_RUNTOOL)
518518

519-
CTEST_SRC_BASE_bench = bench bench/rt bench/shootout bench/std
519+
CTEST_SRC_BASE_bench = bench
520520
CTEST_BUILD_BASE_bench = bench
521521
CTEST_MODE_bench = run-pass
522522
CTEST_RUNTOOL_bench = $(CTEST_RUNTOOL)
@@ -610,8 +610,7 @@ define DEF_RUN_COMPILETEST
610610

611611
CTEST_ARGS$(1)-T-$(2)-H-$(3)-$(4) := \
612612
$$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
613-
$(foreach base,$$(CTEST_SRC_BASE_$(4)), \
614-
--src-base $$(S)src/test/$$(base))/ \
613+
--src-base $$(S)src/test/$$(CTEST_SRC_BASE_$(4))/ \
615614
--build-base $(3)/test/$$(CTEST_BUILD_BASE_$(4))/ \
616615
--ratchet-metrics $(call TEST_RATCHET_FILE,$(1),$(2),$(3),$(4)) \
617616
--mode $$(CTEST_MODE_$(4)) \
@@ -870,8 +869,7 @@ $(foreach host,$(CFG_HOST_TRIPLES), \
870869
$(eval $(foreach target,$(CFG_TARGET_TRIPLES), \
871870
$(eval $(call DEF_CHECK_FAST_FOR_T_H,,$(target),$(host))))))
872871

873-
check-fast: tidy check-fast-H-$(CFG_BUILD_TRIPLE) check-stage2-std check-stage2-extra
874-
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
872+
check-fast: tidy check-fast-H-$(CFG_BUILD_TRIPLE)
875873

876874
define DEF_CHECK_FAST_FOR_H
877875

branches/try2/src/compiletest/common.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub struct config {
3636
llvm_bin_path: Option<Path>,
3737

3838
// The directory containing the tests to run
39-
src_base: ~[Path],
39+
src_base: Path,
4040

4141
// The directory where programs should be built
4242
build_base: Path,
@@ -83,6 +83,9 @@ pub struct config {
8383
// Run tests using the JIT
8484
jit: bool,
8585

86+
// Run tests using the new runtime
87+
newrt: bool,
88+
8689
// Target system to be tested
8790
target: ~str,
8891

branches/try2/src/compiletest/compiletest.rs

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use std::os;
1919
use std::f64;
2020

2121
use extra::getopts;
22-
use extra::getopts::groups::{optopt, optflag, reqopt, optmulti};
22+
use extra::getopts::groups::{optopt, optflag, reqopt};
2323
use extra::test;
2424

2525
use common::config;
@@ -49,19 +49,19 @@ pub fn main() {
4949
pub fn parse_config(args: ~[~str]) -> config {
5050

5151
let groups : ~[getopts::groups::OptGroup] =
52-
~[reqopt ("", "compile-lib-path", "path to host shared libraries", "PATH"),
53-
reqopt ("", "run-lib-path", "path to target shared libraries", "PATH"),
54-
reqopt ("", "rustc-path", "path to rustc to use for compiling", "PATH"),
55-
optopt ("", "clang-path", "path to executable for codegen tests", "PATH"),
56-
optopt ("", "llvm-bin-path", "path to directory holding llvm binaries", "DIR"),
57-
optmulti ("", "src-base", "directory to scan for test files", "PATH"),
58-
reqopt ("", "build-base", "directory to deposit test outputs", "PATH"),
59-
reqopt ("", "aux-base", "directory to find auxiliary test files", "PATH"),
60-
reqopt ("", "stage-id", "the target-stage identifier", "stageN-TARGET"),
61-
reqopt ("", "mode", "which sort of compile tests to run",
62-
" (compile-fail|run-fail|run-pass|pretty|debug-info)"),
63-
optflag ("", "ignored", "run tests marked as ignored / xfailed"),
64-
optopt ("", "runtool", "supervisor program to run tests under \
52+
~[reqopt("", "compile-lib-path", "path to host shared libraries", "PATH"),
53+
reqopt("", "run-lib-path", "path to target shared libraries", "PATH"),
54+
reqopt("", "rustc-path", "path to rustc to use for compiling", "PATH"),
55+
optopt("", "clang-path", "path to executable for codegen tests", "PATH"),
56+
optopt("", "llvm-bin-path", "path to directory holding llvm binaries", "DIR"),
57+
reqopt("", "src-base", "directory to scan for test files", "PATH"),
58+
reqopt("", "build-base", "directory to deposit test outputs", "PATH"),
59+
reqopt("", "aux-base", "directory to find auxiliary test files", "PATH"),
60+
reqopt("", "stage-id", "the target-stage identifier", "stageN-TARGET"),
61+
reqopt("", "mode", "which sort of compile tests to run",
62+
"(compile-fail|run-fail|run-pass|pretty|debug-info)"),
63+
optflag("", "ignored", "run tests marked as ignored / xfailed"),
64+
optopt("", "runtool", "supervisor program to run tests under \
6565
(eg. emulator, valgrind)", "PROGRAM"),
6666
optopt("", "rustcflags", "flags to pass to rustc", "FLAGS"),
6767
optflag("", "verbose", "run tests verbosely, showing all output"),
@@ -71,6 +71,7 @@ pub fn parse_config(args: ~[~str]) -> config {
7171
optopt("", "ratchet-noise-percent",
7272
"percent change in metrics to consider noise", "N"),
7373
optflag("", "jit", "run tests under the JIT"),
74+
optflag("", "newrt", "run tests on the new runtime / scheduler"),
7475
optopt("", "target", "the target to build for", "TARGET"),
7576
optopt("", "adb-path", "path to the android debugger", "PATH"),
7677
optopt("", "adb-test-dir", "path to tests for the android debugger", "PATH"),
@@ -105,15 +106,13 @@ pub fn parse_config(args: ~[~str]) -> config {
105106
Path(getopts::opt_str(m, nm))
106107
}
107108

108-
let src_base = getopts::opt_strs(matches, "src-base");
109-
110109
config {
111110
compile_lib_path: getopts::opt_str(matches, "compile-lib-path"),
112111
run_lib_path: getopts::opt_str(matches, "run-lib-path"),
113112
rustc_path: opt_path(matches, "rustc-path"),
114113
clang_path: getopts::opt_maybe_str(matches, "clang-path").map_move(|s| Path(s)),
115114
llvm_bin_path: getopts::opt_maybe_str(matches, "llvm-bin-path").map_move(|s| Path(s)),
116-
src_base: src_base.iter().map(|x| Path(x.clone())).collect(),
115+
src_base: opt_path(matches, "src-base"),
117116
build_base: opt_path(matches, "build-base"),
118117
aux_base: opt_path(matches, "aux-base"),
119118
stage_id: getopts::opt_str(matches, "stage-id"),
@@ -136,6 +135,7 @@ pub fn parse_config(args: ~[~str]) -> config {
136135
runtool: getopts::opt_maybe_str(matches, "runtool"),
137136
rustcflags: getopts::opt_maybe_str(matches, "rustcflags"),
138137
jit: getopts::opt_present(matches, "jit"),
138+
newrt: getopts::opt_present(matches, "newrt"),
139139
target: opt_str2(getopts::opt_maybe_str(matches, "target")).to_str(),
140140
adb_path: opt_str2(getopts::opt_maybe_str(matches, "adb-path")).to_str(),
141141
adb_test_dir:
@@ -169,6 +169,7 @@ pub fn log_config(config: &config) {
169169
logv(c, fmt!("runtool: %s", opt_str(&config.runtool)));
170170
logv(c, fmt!("rustcflags: %s", opt_str(&config.rustcflags)));
171171
logv(c, fmt!("jit: %b", config.jit));
172+
logv(c, fmt!("newrt: %b", config.newrt));
172173
logv(c, fmt!("target: %s", config.target));
173174
logv(c, fmt!("adb_path: %s", config.adb_path));
174175
logv(c, fmt!("adb_test_dir: %s", config.adb_test_dir));
@@ -247,7 +248,7 @@ pub fn make_tests(config: &config) -> ~[test::TestDescAndFn] {
247248
debug!("making tests from %s",
248249
config.src_base.to_str());
249250
let mut tests = ~[];
250-
let dirs = config.src_base.iter().flat_map(|x| os::list_dir_path(x).move_iter()).to_owned_vec();
251+
let dirs = os::list_dir_path(&config.src_base);
251252
for file in dirs.iter() {
252253
let file = file.clone();
253254
debug!("inspecting file %s", file.to_str());

branches/try2/src/compiletest/runtest.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -547,13 +547,15 @@ fn compile_test_(config: &config, props: &TestProps,
547547
fn exec_compiled_test(config: &config, props: &TestProps,
548548
testfile: &Path) -> ProcRes {
549549

550+
// If testing the new runtime then set the RUST_NEWRT env var
550551
let env = props.exec_env.clone();
552+
let env = if config.newrt { env + &[(~"RUST_NEWRT", ~"1")] } else { env };
551553

552554
match config.target {
553555

554556
~"arm-linux-androideabi" => {
555557
if (config.adb_device_status) {
556-
_arm_exec_compiled_test(config, props, testfile, env)
558+
_arm_exec_compiled_test(config, props, testfile)
557559
} else {
558560
_dummy_exec_compiled_test(config, props, testfile)
559561
}
@@ -779,7 +781,7 @@ stderr:\n\
779781
}
780782

781783
fn _arm_exec_compiled_test(config: &config, props: &TestProps,
782-
testfile: &Path, env: ~[(~str, ~str)]) -> ProcRes {
784+
testfile: &Path) -> ProcRes {
783785

784786
let args = make_run_args(config, props, testfile);
785787
let cmdline = make_cmdline("", args.prog, args.args);
@@ -805,9 +807,6 @@ fn _arm_exec_compiled_test(config: &config, props: &TestProps,
805807

806808
// run test via adb_run_wrapper
807809
runargs.push(~"shell");
808-
for (key, val) in env.move_iter() {
809-
runargs.push(fmt!("%s=%s", key, val));
810-
}
811810
runargs.push(fmt!("%s/adb_run_wrapper.sh", config.adb_test_dir));
812811
runargs.push(fmt!("%s", config.adb_test_dir));
813812
runargs.push(fmt!("%s", prog_short));

branches/try2/src/etc/emacs/rust-mode.el

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@
2929

3030
table))
3131

32-
(defcustom rust-indent-offset 4
33-
"*Indent Rust code by this number of spaces.")
32+
(defcustom rust-indent-offset default-tab-width
33+
"*Indent Rust code by this number of spaces.
34+
35+
The initializer is `DEFAULT-TAB-WIDTH'.")
3436

3537
(defun rust-paren-level () (nth 0 (syntax-ppss)))
3638
(defun rust-in-str-or-cmnt () (nth 8 (syntax-ppss)))
@@ -59,7 +61,7 @@
5961

6062
;; If we're in any other token-tree / sexp, then:
6163
;; - [ or ( means line up with the opening token
62-
;; - { means indent to either nesting-level * rust-indent-offset,
64+
;; - { means indent to either nesting-level * tab width,
6365
;; or one further indent from that if either current line
6466
;; begins with 'else', or previous line didn't end in
6567
;; semi, comma or brace, and wasn't an attribute. PHEW.

branches/try2/src/etc/vim/syntax/rust.vim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:spac
3333
syn match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
3434

3535
" reserved
36-
syn keyword rustKeyword be yield typeof
36+
syn keyword rustKeyword be
3737

3838
syn keyword rustType int uint float char bool u8 u16 u32 u64 f32
3939
syn keyword rustType f64 i8 i16 i32 i64 str Self

branches/try2/src/libextra/test.rs

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ The FILTER is matched against the name of all tests to run, and if any tests
203203
have a substring match, only those tests are run.
204204
205205
By default, all tests are run in parallel. This can be altered with the
206-
RUST_TEST_TASKS environment variable when running tests (set it to 1).
206+
RUST_THREADS environment variable when running tests (set it to 1).
207207
208208
Test Attributes:
209209
@@ -740,20 +740,9 @@ static SCHED_OVERCOMMIT : uint = 4u;
740740

741741
fn get_concurrency() -> uint {
742742
use std::rt;
743-
match os::getenv("RUST_TEST_TASKS") {
744-
Some(s) => {
745-
let opt_n: Option<uint> = FromStr::from_str(s);
746-
match opt_n {
747-
Some(n) if n > 0 => n,
748-
_ => fail!("RUST_TEST_TASKS is `%s`, should be a non-negative integer.", s)
749-
}
750-
}
751-
None => {
752-
let threads = rt::util::default_sched_threads();
753-
if threads == 1 { 1 }
754-
else { threads * SCHED_OVERCOMMIT }
755-
}
756-
}
743+
let threads = rt::util::default_sched_threads();
744+
if threads == 1 { 1 }
745+
else { threads * SCHED_OVERCOMMIT }
757746
}
758747

759748
pub fn filter_tests(

branches/try2/src/librustc/metadata/decoder.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ use middle::typeck;
2626
use middle::astencode::vtable_decoder_helpers;
2727

2828

29+
use std::hash::HashUtil;
2930
use std::u64;
3031
use std::io::WriterUtil;
3132
use std::io;

branches/try2/src/librustc/metadata/encoder.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ use middle::typeck;
2121
use middle::astencode;
2222
use middle;
2323

24+
use std::hash::HashUtil;
2425
use std::hashmap::{HashMap, HashSet};
2526
use std::io;
2627
use std::str;

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

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2366,12 +2366,20 @@ pub fn create_entry_wrapper(ccx: @mut CrateContext,
23662366
&ccx.int_type);
23672367

23682368
// FIXME #4404 android JNI hacks
2369-
let main_name = if *ccx.sess.building_library {
2370-
"amain"
2369+
let llfn = if *ccx.sess.building_library {
2370+
decl_cdecl_fn(ccx.llmod, "amain", llfty)
23712371
} else {
2372-
"main"
2372+
let main_name = match ccx.sess.targ_cfg.os {
2373+
session::os_win32 => {
2374+
match ccx.sess.targ_cfg.arch {
2375+
X86 => ~"WinMain@16",
2376+
_ => ~"WinMain",
2377+
}
2378+
},
2379+
_ => ~"main",
2380+
};
2381+
decl_cdecl_fn(ccx.llmod, main_name, llfty)
23732382
};
2374-
let llfn = decl_cdecl_fn(ccx.llmod, main_name, llfty);
23752383
let llbb = do "top".with_c_str |buf| {
23762384
unsafe {
23772385
llvm::LLVMAppendBasicBlockInContext(ccx.llcx, llfn, buf)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ pub fn type_uses_for(ccx: @mut CrateContext, fn_id: def_id, n_tps: uint)
149149
"visit_tydesc" | "forget" | "frame_address" |
150150
"morestack_addr" => 0,
151151

152-
"offset" |
152+
"offset" | "offset_inbounds" |
153153
"memcpy32" | "memcpy64" | "memmove32" | "memmove64" |
154154
"memset32" | "memset64" => use_repr,
155155

0 commit comments

Comments
 (0)