Skip to content

Commit 96b1600

Browse files
committed
---
yaml --- r: 4937 b: refs/heads/master c: 1cb8501 h: refs/heads/master i: 4935: bb41698 v: v3
1 parent e6bd0e7 commit 96b1600

File tree

143 files changed

+3340
-2174
lines changed

Some content is hidden

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

143 files changed

+3340
-2174
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: e9f9ec69724a0e65d930091f0fc9f512cf69a72b
2+
refs/heads/master: 1cb85015c397cefa9de7653a98b7572ef511e0ef

trunk/doc/rust.texi

Lines changed: 76 additions & 140 deletions
Large diffs are not rendered by default.

trunk/mk/platform.mk

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ CFG_DSYMUTIL := true
99

1010
ifeq ($(CFG_OSTYPE), FreeBSD)
1111
CFG_LIB_NAME=lib$(1).so
12-
CFG_GCCISH_CFLAGS += -fPIC -march=i686 -I/usr/local/include -O2
12+
CFG_GCCISH_CFLAGS += -fPIC -march=i686 -I/usr/local/include
1313
CFG_GCCISH_LINK_FLAGS += -shared -fPIC -lpthread -lrt
1414
ifeq ($(CFG_CPUTYPE), x86_64)
1515
CFG_GCCISH_CFLAGS += -m32
@@ -22,7 +22,7 @@ endif
2222

2323
ifeq ($(CFG_OSTYPE), Linux)
2424
CFG_LIB_NAME=lib$(1).so
25-
CFG_GCCISH_CFLAGS += -fPIC -march=i686 -O2
25+
CFG_GCCISH_CFLAGS += -fPIC -march=i686
2626
CFG_GCCISH_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
2727
CFG_GCCISH_DEF_FLAG := -Wl,--export-dynamic,--dynamic-list=
2828
CFG_GCCISH_PRE_LIB_FLAGS := -Wl,-whole-archive
@@ -48,8 +48,8 @@ ifeq ($(CFG_OSTYPE), Darwin)
4848
# approaches welcome!
4949
#
5050
# NB: Currently GCC's optimizer breaks rustrt (task-comm-1 hangs) on Darwin.
51-
CFG_GCC_CFLAGS += -m32 -O2
52-
CFG_CLANG_CFLAGS += -m32 -O2
51+
CFG_GCC_CFLAGS += -m32
52+
CFG_CLANG_CFLAGS += -m32
5353
ifeq ($(CFG_CPUTYPE), x86_64)
5454
CFG_GCCISH_CFLAGS += -arch i386
5555
CFG_GCCISH_LINK_FLAGS += -arch i386
@@ -63,6 +63,13 @@ ifneq ($(findstring MINGW,$(CFG_OSTYPE)),)
6363
CFG_WINDOWSY := 1
6464
endif
6565

66+
ifdef CFG_DISABLE_OPTIMIZE_CXX
67+
$(info cfg: disabling C++ optimization (CFG_DISABLE_OPTIMIZE_CXX))
68+
CFG_GCCISH_CFLAGS += -O0
69+
else
70+
CFG_GCCISH_CFLAGS += -O2
71+
endif
72+
6673
CFG_TESTLIB=$(CFG_BUILD_DIR)/$(strip \
6774
$(if $(findstring stage0,$(1)), \
6875
stage0/lib, \
@@ -94,7 +101,7 @@ ifdef CFG_UNIXY
94101
CFG_VALGRIND += wine
95102
endif
96103

97-
CFG_GCCISH_CFLAGS := -fno-strict-aliasing -march=i586 -O2
104+
CFG_GCCISH_CFLAGS := -fno-strict-aliasing -march=i586
98105
CFG_GCCISH_PRE_LIB_FLAGS :=
99106
CFG_GCCISH_POST_LIB_FLAGS :=
100107
CFG_GCCISH_DEF_FLAG :=
@@ -130,7 +137,7 @@ ifdef CFG_WINDOWSY
130137
CFG_PATH_MUNGE := $(strip perl -i.bak -p \
131138
-e 's@\\(\S)@/\1@go;' \
132139
-e 's@^/([a-zA-Z])/@\1:/@o;')
133-
CFG_GCCISH_CFLAGS += -march=i686 -O2
140+
CFG_GCCISH_CFLAGS += -march=i686
134141
CFG_GCCISH_LINK_FLAGS += -shared -fPIC
135142
endif
136143

trunk/src/comp/back/abi.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ const tydesc_field_cmp_glue: int = 10;
6060
const tydesc_field_shape: int = 11;
6161
const tydesc_field_shape_tables: int = 12;
6262
const tydesc_field_n_params: int = 13;
63-
const n_tydesc_fields: int = 14;
63+
const tydesc_field_obj_params: int = 14;
64+
const n_tydesc_fields: int = 15;
6465

6566
const cmp_glue_op_eq: uint = 0u;
6667

trunk/src/comp/back/upcall.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ type upcalls =
4343
ivec_spill: ValueRef,
4444
ivec_resize_shared: ValueRef,
4545
ivec_spill_shared: ValueRef,
46+
ivec_push: ValueRef,
4647
cmp_type: ValueRef,
4748
log_type: ValueRef,
4849
dynastack_mark: ValueRef,
@@ -90,7 +91,7 @@ fn declare_upcalls(_tn: type_names, tydesc_type: TypeRef,
9091
get_type_desc:
9192
d("get_type_desc",
9293
[T_ptr(T_nil()), T_size_t(), T_size_t(), T_size_t(),
93-
T_ptr(T_ptr(tydesc_type))], T_ptr(tydesc_type)),
94+
T_ptr(T_ptr(tydesc_type)), T_int()], T_ptr(tydesc_type)),
9495
ivec_resize:
9596
d("ivec_resize", [T_ptr(T_opaque_ivec()), T_int()], T_void()),
9697
ivec_spill:
@@ -101,6 +102,9 @@ fn declare_upcalls(_tn: type_names, tydesc_type: TypeRef,
101102
ivec_spill_shared:
102103
d("ivec_spill_shared", [T_ptr(T_opaque_ivec()), T_int()],
103104
T_void()),
105+
ivec_push:
106+
d("ivec_push", [T_ptr(T_opaque_ivec()), T_ptr(tydesc_type),
107+
T_ptr(T_i8())], T_void()),
104108
cmp_type:
105109
dr("cmp_type",
106110
[T_ptr(T_i1()), taskptr_type, T_ptr(tydesc_type),

trunk/src/comp/driver/rustc.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ fn parse_input_src(sess: session::session, cfg: &ast::crate_cfg, infile: str)
108108
ret {crate: crate, src: src};
109109
}
110110

111-
fn time<T>(do_it: bool, what: str, thunk: fn() -> T) -> T {
111+
fn time<@T>(do_it: bool, what: str, thunk: fn() -> T) -> T {
112112
if !do_it { ret thunk(); }
113113
let start = std::time::precise_time_s();
114114
let rv = thunk();

trunk/src/comp/front/attr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ fn require_unique_names(sess: &session::session, metas: &[@ast::meta_item]) {
189189
}
190190
}
191191

192-
fn span<T>(item: &T) -> ast::spanned<T> {
192+
fn span<@T>(item: &T) -> ast::spanned<T> {
193193
ret {node: item, span: ast_util::dummy_sp()};
194194
}
195195

trunk/src/comp/front/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ fn mk_test_module(cx: &test_ctxt) -> @ast::item {
170170
ret @item;
171171
}
172172

173-
fn nospan<T>(t: &T) -> ast::spanned<T> {
173+
fn nospan<@T>(t: &T) -> ast::spanned<T> {
174174
ret {node: t, span: dummy_sp()};
175175
}
176176

0 commit comments

Comments
 (0)