Skip to content

Commit cdb33e7

Browse files
committed
---
yaml --- r: 270 b: refs/heads/master c: c218d06 h: refs/heads/master v: v3
1 parent eab4bbc commit cdb33e7

39 files changed

+1296
-320
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: e714402a9290acbcca3df8eeb2c767ff72452e9e
2+
refs/heads/master: c218d06601a205dffbadca98e1ff953740efa1ba

trunk/AUTHORS.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ Andreas Gal <[email protected]>
99
Brendan Eich <[email protected]>
1010
Chris Double <[email protected]>
1111
Dave Herman <[email protected]>
12+
Jason Orendorff <[email protected]>
13+
Jeff Balogh <[email protected]>
1214
Jeff Mulzelaar <[email protected]>
1315
Matt Brubeck <[email protected]>
1416
Michael Bebenita <[email protected]>
1517
Patrick Walton <[email protected]>
18+
Ralph Giles <[email protected]>
1619
Roy Frostig <[email protected]>

trunk/doc/rust.texi

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1201,9 +1201,9 @@ different tasks. Like any other immutable type, they can pass over channels,
12011201
and live as long as the last task referencing them within a given domain. When
12021202
unreferenced, they are destroyed immediately (due to reference-counting) and
12031203
returned to the heap memory allocator. Destruction of an immutable box also
1204-
executes within the context of task that drops the last reference to a shared
1205-
heap allocation, so executing a long-running destructor does not interrupt
1206-
execution of other tasks.
1204+
executes within the context of the task that drops the last reference to a
1205+
shared heap allocation, so executing a long-running destructor does not
1206+
interrupt execution of other tasks.
12071207

12081208

12091209
@node Ref.Mem.Own
@@ -2997,7 +2997,7 @@ by the runtime or emitted to a system console. Log statements are enabled or
29972997
disabled dynamically at run-time on a per-task and per-item
29982998
basis. @xref{Ref.Run.Log}.
29992999

3000-
Executing a @code{log} statement not considered an @code{io} effect in the
3000+
Executing a @code{log} statement is not considered an @code{io} effect in the
30013001
effect system. In other words, a pure function remains pure even if it
30023002
contains a log statement.
30033003

@@ -3033,7 +3033,7 @@ fn read_file_lines(&str path) -> vec[str] @{
30333033
note path;
30343034
vec[str] r;
30353035
file f = open_read(path);
3036-
for* (str &s = lines(f)) @{
3036+
for each (str &s = lines(f)) @{
30373037
vec.append(r,s);
30383038
@}
30393039
ret r;
@@ -3046,10 +3046,11 @@ completes normally, the runtime will not log the path.
30463046

30473047
A value that is marked by a @code{note} statement is @emph{not} copied aside
30483048
when control passes through the @code{note}. In other words, if a @code{note}
3049-
statement notes a particular @var{lval}, and code after the @code{note} that
3050-
slot, and then a subsequent failure occurs, the @emph{mutated} value will be
3051-
logged during unwinding, @emph{not} the original value that was denoted by the
3052-
@var{lval} at the moment control passed through the @code{note} statement.
3049+
statement notes a particular @var{lval}, and code after the @code{note}
3050+
mutates that slot, and then a subsequent failure occurs, the @emph{mutated}
3051+
value will be logged during unwinding, @emph{not} the original value that was
3052+
denoted by the @var{lval} at the moment control passed through the @code{note}
3053+
statement.
30533054

30543055
@node Ref.Stmt.While
30553056
@subsection Ref.Stmt.While

trunk/src/Makefile

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,7 @@ CFG_GCC_CFLAGS :=
2323
CFG_GCC_LINK_FLAGS :=
2424
CFG_VALGRIND :=
2525

26-
# Issue #102, LLVM-config logic is assuming "presence of llvm-config"
27-
# means "presence of ocaml bindings". Commenting out for now.
28-
# CFG_LLVM_CONFIG := llvm-config
29-
30-
CFG_LLVM_CONFIG :=
26+
CFG_LLVM_CONFIG := llvm-config
3127
CFG_BOOT_FLAGS := $(FLAGS)
3228

3329
ifeq ($(CFG_OSTYPE), Linux)
@@ -137,6 +133,7 @@ ifdef PROFILE
137133
$(info cfg: building with profiling info (forcing native output))
138134
CFG_NATIVE := 1
139135
CFG_OCAMLOPT_PROFILE_FLAGS := -p
136+
NO_LLVM := 1
140137
endif
141138

142139
ifdef DEBUG
@@ -165,6 +162,10 @@ ifneq ($(CFG_LLVM_CONFIG),)
165162
CFG_LLVM_VERSION := $(shell $(CFG_LLVM_CONFIG) --version)
166163
ifeq ($(CFG_LLVM_VERSION),2.8svn)
167164
$(info cfg: using LLVM version 2.8svn)
165+
WHERE := $(shell ocamlc -where)
166+
ifneq ($(shell test -e $(WHERE)/llvm.cma && echo ok),ok)
167+
CFG_LLVM_CONFIG := $(info cfg: LLVM ocaml bindings not found)
168+
endif
168169
else
169170
CFG_LLVM_CONFIG :=
170171
$(info cfg: incompatible LLVM version $(CFG_LLVM_VERSION), \
@@ -173,7 +174,6 @@ ifneq ($(CFG_LLVM_CONFIG),)
173174
endif
174175
ifdef CFG_LLVM_CONFIG
175176
VARIANT=llvm
176-
WHERE := $(shell ocamlc -where)
177177
LLVM_LIBS := llvm.cma llvm_bitwriter.cma
178178
LLVM_NATIVE_LIBS := llvm.cmxa llvm_bitwiter.cmxa
179179
LLVM_CLIBS := $(shell for c in `$(CFG_LLVM_CONFIG) --ldflags --libs` \
@@ -201,8 +201,9 @@ CFG_BOOT_FLAGS += -L .
201201
# Boot targets and rules
202202
######################################################################
203203

204-
ML_INCS := -I boot/fe -I boot/me -I boot/be -I boot/driver/$(VARIANT) \
205-
-I boot/driver -I boot/util $(LLVM_INCS)
204+
ML_DEP_INCS := -I boot/fe -I boot/me -I boot/be -I boot/driver/$(VARIANT) \
205+
-I boot/driver -I boot/util
206+
ML_INCS := $(ML_DEP_INCS) $(LLVM_INCS)
206207
ML_LIBS := unix.cma nums.cma bigarray.cma
207208
ML_NATIVE_LIBS := unix.cmxa nums.cmxa bigarray.cmxa
208209
OCAMLC_FLAGS := -g $(ML_INCS) -w Ael -warn-error Ael
@@ -413,6 +414,7 @@ TEST_XFAILS_LLVM := $(addprefix test/run-pass/, \
413414
item-name-overload.rs \
414415
large-records.rs \
415416
lazy-and-or.rs \
417+
lazy-init.rs \
416418
lazychan.rs \
417419
linear-for-loop.rs \
418420
list.rs \
@@ -464,6 +466,7 @@ TEST_XFAILS_LLVM := $(addprefix test/run-pass/, \
464466
vec-append.rs \
465467
vec-concat.rs \
466468
vec-drop.rs \
469+
vec-late-init.rs \
467470
vec-slice.rs \
468471
vec.rs \
469472
writealias.rs \
@@ -681,11 +684,11 @@ C_DEPFILES := $(RUNTIME_CS:%.cpp=%.d)
681684

682685
%.d: %.ml $(MKFILES)
683686
@$(call CFG_ECHO, dep: $<)
684-
$(CFG_QUIET)ocamldep$(OPT) $(ML_INCS) $< $(CFG_PATH_MUNGE) >$@
687+
$(CFG_QUIET)ocamldep$(OPT) $(ML_DEP_INCS) $< $(CFG_PATH_MUNGE) >$@
685688

686689
%.d: %.mli $(MKFILES)
687690
@$(call CFG_ECHO, dep: $<)
688-
$(CFG_QUIET)ocamldep$(OPT) $(ML_INCS) $< $(CFG_PATH_MUNGE) >$@
691+
$(CFG_QUIET)ocamldep$(OPT) $(ML_DEP_INCS) $< $(CFG_PATH_MUNGE) >$@
689692

690693
ifneq ($(MAKECMDGOALS),clean)
691694
-include $(ML_DEPFILES) $(C_DEPFILES)
@@ -728,7 +731,7 @@ PKG_3RDPARTY := rt/valgrind.h rt/memcheck.h \
728731
rt/uthash/uthash.h rt/uthash/utlist.h \
729732
rt/bigint/bigint.h rt/bigint/bigint_int.cpp \
730733
rt/bigint/bigint_ext.cpp rt/bigint/low_primes.h
731-
PKG_FILES := README \
734+
PKG_FILES := README boot/README \
732735
$(wildcard etc/*.*) \
733736
$(MKFILES) $(BOOT_MLS) boot/fe/lexer.mll \
734737
$(COMPILER_INPUTS) \

trunk/src/README

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ This is preliminary version of the Rust compiler.
33
Source layout:
44

55
boot/ The bootstrap compiler
6+
boot/README - More-detailed guide to it.
67
boot/fe - Front end (lexer, parser, AST)
78
boot/me - Middle end (resolve, check, layout, trans)
89
boot/be - Back end (IL, RA, insns, asm, objfiles)

0 commit comments

Comments
 (0)