@@ -35,7 +35,7 @@ ifeq ($(CFG_OSTYPE), Linux)
35
35
CFG_RUNTIME := librustrt.so
36
36
CFG_STDLIB := libstd.so
37
37
CFG_GCC_CFLAGS += -fPIC
38
- CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread
38
+ CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
39
39
ifeq ($(CFG_CPUTYPE), x86_64)
40
40
CFG_GCC_CFLAGS += -m32
41
41
CFG_GCC_LINK_FLAGS += -m32
@@ -245,7 +245,9 @@ BOOT_CMXS := $(BOOT_MLS:.ml=.cmx)
245
245
BOOT_OBJS := $(BOOT_MLS:.ml=.o )
246
246
BOOT_CMIS := $(BOOT_MLS:.ml=.cmi )
247
247
248
- RUNTIME_CS := rt/sync/spin_lock.cpp \
248
+ RUNTIME_CS := rt/sync/timer.cpp \
249
+ rt/sync/sync.cpp \
250
+ rt/sync/spin_lock.cpp \
249
251
rt/sync/lock_free_queue.cpp \
250
252
rt/sync/condition_variable.cpp \
251
253
rt/rust.cpp \
@@ -263,7 +265,9 @@ RUNTIME_CS := rt/sync/spin_lock.cpp \
263
265
rt/rust_message.cpp \
264
266
rt/rust_timer.cpp \
265
267
rt/circular_buffer.cpp \
266
- rt/isaac/randport.cpp
268
+ rt/isaac/randport.cpp \
269
+ rt/rust_srv.cpp \
270
+ rt/memory_region.cpp
267
271
268
272
RUNTIME_HDR := rt/globals.h \
269
273
rt/rust.h \
@@ -279,7 +283,12 @@ RUNTIME_HDR := rt/globals.h \
279
283
rt/rust_message.h \
280
284
rt/circular_buffer.h \
281
285
rt/util/array_list.h \
282
- rt/util/hash_map.h
286
+ rt/util/hash_map.h \
287
+ rt/sync/sync.h \
288
+ rt/sync/timer.h \
289
+ rt/rust_srv.h \
290
+ rt/memory_region.h \
291
+ rt/memory.h
283
292
284
293
RUNTIME_INCS := -Irt/isaac -Irt/uthash
285
294
RUNTIME_OBJS := $(RUNTIME_CS:.cpp=$(CFG_OBJ_SUFFIX ) )
@@ -296,7 +305,7 @@ all: $(CFG_COMPILER) $(MKFILES) $(GENERATED)
296
305
297
306
boot/util/version.ml : Makefile
298
307
$(CFG_QUIET ) git log -1 \
299
- --format ='let version = "prerelease (%h %ci)";;' >$@
308
+ --format ='let version = "prerelease (%h %ci)";;' >$@ || exit 1
300
309
301
310
loc :
302
311
$(CFG_QUIET ) wc -l $(BOOT_MLS ) $(RUNTIME_CS ) $(RUNTIME_HDR )
@@ -380,13 +389,14 @@ TASK_XFAILS := test/run-pass/acyclic-unwind.rs \
380
389
test/run-pass/task-comm-7.rs \
381
390
test/run-pass/task-comm-8.rs \
382
391
test/run-pass/task-comm-9.rs \
392
+ test/run-pass/task-comm-10.rs \
393
+ test/run-pass/task-comm-11.rs \
394
+ test/run-pass/task-life-0.rs \
383
395
test/run-pass/task-comm.rs \
384
396
test/run-pass/threads.rs \
385
397
test/run-pass/yield.rs
386
398
387
399
TEST_XFAILS_X86 := $(TASK_XFAILS ) \
388
- test/run-pass/arithmetic-interference.rs \
389
- test/run-pass/bind-obj-ctor.rs \
390
400
test/run-pass/child-outlives-parent.rs \
391
401
test/run-pass/clone-with-exterior.rs \
392
402
test/run-pass/constrained-type.rs \
@@ -398,16 +408,13 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
398
408
test/run-pass/generic-recursive-tag.rs \
399
409
test/run-pass/int-lib.rs \
400
410
test/run-pass/iter-ret.rs \
401
- test/run-pass/lib-deque .rs \
411
+ test/run-pass/lib-io .rs \
402
412
test/run-pass/lib-map.rs \
403
413
test/run-pass/mlist-cycle.rs \
404
414
test/run-pass/obj-as.rs \
405
415
test/run-pass/task-comm.rs \
406
416
test/run-pass/vec-slice.rs \
407
- test/run-pass/task-comm-2.rs \
408
417
test/run-pass/task-comm-3.rs \
409
- test/run-pass/task-comm-5.rs \
410
- test/run-pass/task-comm-6.rs \
411
418
test/compile-fail/bad-recv.rs \
412
419
test/compile-fail/bad-send.rs \
413
420
test/compile-fail/infinite-tag-type-recursion.rs \
@@ -416,14 +423,17 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
416
423
417
424
TEST_XFAILS_LLVM := $(TASK_XFAILS ) \
418
425
$(addprefix test/run-pass/, \
426
+ arith-1.rs \
419
427
acyclic-unwind.rs \
420
428
alt-pattern-simple.rs \
421
429
alt-tag.rs \
422
- arithmetic-interference .rs \
430
+ append-units .rs \
423
431
argv.rs \
424
432
autoderef-full-lval.rs \
425
433
autoderef-objfn.rs \
426
434
basic.rs \
435
+ basic-1.rs \
436
+ basic-2.rs \
427
437
bind-obj-ctor.rs \
428
438
bind-thunk.rs \
429
439
bind-trivial.rs \
@@ -464,7 +474,6 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
464
474
i32-sub.rs \
465
475
i8-incr.rs \
466
476
import.rs \
467
- inner-module.rs \
468
477
integral-indexing.rs \
469
478
int-lib.rs \
470
479
iter-range.rs \
@@ -474,8 +483,10 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
474
483
lazy-init.rs \
475
484
lazychan.rs \
476
485
lib-deque.rs \
486
+ lib-io.rs \
477
487
lib-map.rs \
478
488
lib-rand.rs \
489
+ lib-vec-str-conversions.rs \
479
490
linear-for-loop.rs \
480
491
list.rs \
481
492
many.rs \
@@ -500,6 +511,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
500
511
rec-tup.rs \
501
512
rec.rs \
502
513
simple-obj.rs \
514
+ size-and-align.rs \
503
515
spawn-fn.rs \
504
516
spawn-module-qualified.rs \
505
517
spawn.rs \
@@ -508,6 +520,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
508
520
str-concat.rs \
509
521
str-idx.rs \
510
522
str-lib.rs \
523
+ task-lib.rs \
511
524
tag.rs \
512
525
tail-cps.rs \
513
526
tail-direct.rs \
@@ -522,6 +535,9 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
522
535
task-comm-7.rs \
523
536
task-comm-8.rs \
524
537
task-comm-9.rs \
538
+ task-comm-10.rs \
539
+ task-comm-11.rs \
540
+ task-life-0.rs \
525
541
threads.rs \
526
542
type-sizes.rs \
527
543
u8-incr.rs \
@@ -541,6 +557,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
541
557
vec-lib.rs \
542
558
vec-slice.rs \
543
559
vec.rs \
560
+ while-flow-graph.rs \
544
561
writealias.rs \
545
562
yield.rs \
546
563
yield2.rs \
@@ -602,6 +619,10 @@ TEST_RPASS_OUTS_X86 := \
602
619
$(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
603
620
TEST_RPASS_OUTS_LLVM := \
604
621
$(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
622
+ TEST_RPASS_TMPS_X86 := \
623
+ $(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
624
+ TEST_RPASS_TMPS_LLVM := \
625
+ $(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
605
626
606
627
607
628
TEST_RFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(RFAIL_RC ) )
@@ -619,6 +640,10 @@ TEST_RFAIL_OUTS_X86 := \
619
640
$(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
620
641
TEST_RFAIL_OUTS_LLVM := \
621
642
$(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
643
+ TEST_RFAIL_TMPS_X86 := \
644
+ $(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
645
+ TEST_RFAIL_TMPS_LLVM := \
646
+ $(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
622
647
623
648
624
649
TEST_CFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(CFAIL_RC ) )
@@ -636,6 +661,11 @@ TEST_CFAIL_OUTS_X86 := \
636
661
$(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
637
662
TEST_CFAIL_OUTS_LLVM := \
638
663
$(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
664
+ TEST_CFAIL_TMPS_X86 := \
665
+ $(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
666
+ TEST_CFAIL_TMPS_LLVM := \
667
+ $(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
668
+
639
669
640
670
ALL_TEST_CRATES := $(TEST_CFAIL_CRATES_X86 ) \
641
671
$(TEST_RFAIL_CRATES_X86 ) \
@@ -690,10 +720,12 @@ BOOT := $(CFG_QUIET)OCAMLRUNPARAM="b1" $(CFG_BOOT) $(CFG_BOOT_FLAGS)
690
720
$(CFG_QUIET ) mv $< $@
691
721
692
722
test/run-pass/% .out.tmp : test/run-pass/% $(CFG_EXE_SUFFIX ) $(CFG_RUNTIME )
723
+ $(CFG_QUIET ) rm -f $< .tmp
693
724
@$(call CFG_ECHO, run: $< )
694
725
$(CFG_QUIET )$(call CFG_RUN_TARG, $< ) > $@
695
726
696
727
test/run-fail/% .out.tmp : test/run-fail/% $(CFG_EXE_SUFFIX ) $(CFG_RUNTIME )
728
+ $(CFG_QUIET ) rm -f $< .tmp
697
729
@$(call CFG_ECHO, run: $< )
698
730
$(CFG_QUIET ) rm -f $@
699
731
$(CFG_QUIET )$(call CFG_RUN_TARG, $< ) > $@ 2>&1 ; X=$$? ; \
@@ -886,12 +918,18 @@ clean:
886
918
$(CFG_QUIET ) rm -f $(ML_DEPFILES ) $(C_DEPFILES ) $(CRATE_DEPFILES )
887
919
$(CFG_QUIET ) rm -f $(GENERATED )
888
920
$(CFG_QUIET ) rm -f $(CFG_BOOT ) $(CFG_RUNTIME ) $(CFG_STDLIB )
889
- $(CFG_QUIET ) rm -f $(TEST_RPASS_EXES_X86 ) $(TEST_RPASS_OUTS_X86 )
890
- $(CFG_QUIET ) rm -f $(TEST_RPASS_EXES_LLVM ) $(TEST_RPASS_OUTS_LLVM )
891
- $(CFG_QUIET ) rm -f $(TEST_RFAIL_EXES_X86 ) $(TEST_RFAIL_OUTS_X86 )
892
- $(CFG_QUIET ) rm -f $(TEST_RFAIL_EXES_LLVM ) $(TEST_RFAIL_OUTS_LLVM )
893
- $(CFG_QUIET ) rm -f $(TEST_CFAIL_EXES_X86 ) $(TEST_CFAIL_OUTS_X86 )
894
- $(CFG_QUIET ) rm -f $(TEST_CFAIL_EXES_LLVM ) $(TEST_CFAIL_OUTS_LLVM )
921
+ $(CFG_QUIET ) rm -f $(TEST_RPASS_EXES_X86 ) $(TEST_RPASS_OUTS_X86 ) \
922
+ $(TEST_RPASS_TMPS_X86)
923
+ $(CFG_QUIET)rm -f $(TEST_RPASS_EXES_LLVM) $(TEST_RPASS_OUTS_LLVM) \
924
+ $(TEST_RPASS_TMPS_LLVM)
925
+ $(CFG_QUIET)rm -f $(TEST_RFAIL_EXES_X86) $(TEST_RFAIL_OUTS_X86) \
926
+ $(TEST_RFAIL_TMPS_X86)
927
+ $(CFG_QUIET)rm -f $(TEST_RFAIL_EXES_LLVM) $(TEST_RFAIL_OUTS_LLVM) \
928
+ $(TEST_RFAIL_TMPS_LLVM)
929
+ $(CFG_QUIET)rm -f $(TEST_CFAIL_EXES_X86) $(TEST_CFAIL_OUTS_X86) \
930
+ $(TEST_CFAIL_TMPS_X86)
931
+ $(CFG_QUIET)rm -f $(TEST_CFAIL_EXES_LLVM) $(TEST_CFAIL_OUTS_LLVM) \
932
+ $(TEST_CFAIL_TMPS_LLVM)
895
933
$(CFG_QUIET)rm -rf $(TEST_RPASS_EXES_LLVM:.llvm=.llvm.dSYM)
896
934
$(CFG_QUIET)rm -rf $(TEST_RFAIL_EXES_LLVM:.llvm=.llvm.dSYM)
897
935
$(CFG_QUIET)rm -Rf $(PKG_NAME)-*.tar.gz dist
0 commit comments