@@ -32,6 +32,19 @@ CFG_RUSTC_FLAGS := -nowarn
3232# embedded into the executable, so use a no-op command.
3333DSYMUTIL := true
3434
35+ ifeq ($(CFG_OSTYPE ) , FreeBSD)
36+ CFG_RUNTIME := librustrt.so
37+ CFG_STDLIB := libstd.so
38+ CFG_GCC_CFLAGS += -fPIC -march=i686 -I/usr/local/include
39+ CFG_GCC_LINK_FLAGS += -shared -fPIC -lpthread -lrt
40+ ifeq ($(CFG_CPUTYPE), x86_64)
41+ CFG_GCC_CFLAGS += -m32
42+ CFG_GCC_LINK_FLAGS += -m32
43+ endif
44+ CFG_NATIVE := 1
45+ CFG_UNIXY := 1
46+ endif
47+
3548ifeq ($(CFG_OSTYPE ) , Linux)
3649 CFG_RUNTIME := librustrt.so
3750 CFG_STDLIB := libstd.so
@@ -43,13 +56,6 @@ ifeq ($(CFG_OSTYPE), Linux)
4356 endif
4457 CFG_NATIVE := 1
4558 CFG_UNIXY := 1
46- CFG_VALGRIND := $(shell which valgrind)
47- ifdef CFG_VALGRIND
48- CFG_VALGRIND += --leak-check=full \
49- --error-exitcode=1 \
50- --quiet --vex-iropt-level=0 \
51- --suppressions=etc/x86.supp
52- endif
5359endif
5460
5561ifeq ($(CFG_OSTYPE ) , Darwin)
@@ -117,6 +123,13 @@ ifdef CFG_UNIXY
117123 CFG_GCC_LINK_FLAGS += -m32
118124 endif
119125 endif
126+ CFG_VALGRIND := $(shell which valgrind)
127+ ifdef CFG_VALGRIND
128+ CFG_VALGRIND += --leak-check=full \
129+ --error-exitcode=1 \
130+ --quiet --vex-iropt-level=0 \
131+ --suppressions=etc/x86.supp
132+ endif
120133endif
121134
122135ifdef CFG_GCC
@@ -388,14 +401,15 @@ TASK_XFAILS := test/run-pass/task-comm-8.rs \
388401TEST_XFAILS_BOOT := $(TASK_XFAILS ) \
389402 $(NOMINAL_TAG_XFAILS ) \
390403 $(CONST_TAG_XFAILS ) \
404+ test/run-pass/arith-unsigned.rs \
391405 test/run-pass/child-outlives-parent.rs \
392406 test/run-pass/clone-with-exterior.rs \
393407 test/run-pass/constrained-type.rs \
394408 test/run-pass/destructor-ordering.rs \
395409 test/run-pass/obj-as.rs \
396410 test/run-pass/vec-slice.rs \
397411 test/run-pass/fn-lval.rs \
398- test/run-pass/generic-recursive-tag .rs \
412+ test/run-pass/generic-fn-box .rs \
399413 test/run-pass/generic-tup.rs \
400414 test/run-pass/iter-ret.rs \
401415 test/run-pass/lib-io.rs \
@@ -414,101 +428,104 @@ TEST_XFAILS_BOOT := $(TASK_XFAILS) \
414428 test/compile-fail/bad-recv.rs \
415429 test/compile-fail/bad-send.rs \
416430 test/compile-fail/infinite-vec-type-recursion.rs \
431+ test/compile-fail/tail-non-call.rs \
417432 test/compile-fail/writing-through-read-alias.rs
418433
419- # Same strategy here for the time being: just list the ones that
420- # work and assume the others don't. Invert this when we're closer
421- # to actually bootstrapping.
422-
423- TEST_XFAILS_RUSTC := $(filter-out \
424- $(addprefix test/run-pass/, \
425- alt-path.rs \
426- alt-pattern-simple.rs \
427- alt-tag.rs \
428- arith-0.rs \
429- arith-1.rs \
430- arith-2.rs \
431- autoderef-full-lval.rs \
432- bind-exterior.rs \
433- bind-interior.rs \
434- bind-thunk.rs \
435- bind-trivial.rs \
436- bitwise.rs \
437- bool-not.rs \
438- box.rs \
439- box-in-tup.rs \
440- cast.rs \
441- char.rs \
442- complex.rs \
443- const.rs \
444- dead-code-one-arm-if.rs \
445- deep.rs \
446- deref.rs \
447- div-mod.rs \
448- drop-bind-thunk-args.rs \
449- drop-on-ret.rs \
450- else-if.rs \
451- fact.rs \
452- fn-lval.rs \
453- fun-call-variants.rs \
454- fun-indirect-call.rs \
455- generic-fn.rs \
456- generic-fn-infer.rs \
457- generic-drop-glue.rs \
458- generic-tup.rs \
459- generic-type.rs \
460- hello.rs \
461- int.rs \
462- i32-sub.rs \
463- i8-incr.rs \
464- import2.rs \
465- import3.rs \
466- import4.rs \
467- import5.rs \
468- import6.rs \
469- import7.rs \
470- import8.rs \
471- item-name-overload.rs \
472- large-records.rs \
473- lazy-init.rs \
474- lazy-and-or.rs \
475- leak-box-as-tydesc.rs \
476- linear-for-loop.rs \
477- multiline-comment.rs \
478- mutual-recursion-group.rs \
479- obj-drop.rs \
480- obj-recursion.rs \
481- obj-with-vec.rs \
482- operator-associativity.rs \
483- opeq.rs \
484- output-slot-variants.rs \
485- over-constrained-vregs.rs \
486- readalias.rs \
487- rec.rs \
488- rec-auto.rs \
489- rec-tup.rs \
490- return-nil.rs \
491- simple-obj.rs \
492- stateful-obj.rs \
493- str-idx.rs \
494- type-in-nested-module.rs \
495- type-param.rs \
496- tup.rs \
497- u32-decr.rs \
498- u8-incr.rs \
499- u8-incr-decr.rs \
500- uint.rs \
501- unit.rs \
502- use.rs \
503- tag.rs \
504- vec.rs \
505- vec-drop.rs \
506- vec-in-tup.rs \
507- vec-late-init.rs \
508- while-and-do-while.rs \
509- while-flow-graph.rs \
510- writealias.rs \
434+ TEST_XFAILS_RUSTC := $(addprefix test/run-pass/, \
435+ acyclic-unwind.rs \
436+ alt-pattern-drop.rs \
437+ alt-type-simple.rs \
438+ append-units.rs \
439+ basic-1.rs \
440+ basic-2.rs \
441+ basic.rs \
442+ bind-obj-ctor.rs \
443+ child-outlives-parent.rs \
444+ clone-with-exterior.rs \
445+ comm.rs \
446+ constrained-type.rs \
447+ destructor-ordering.rs \
448+ drop-parametric-closure-with-bound-box.rs \
449+ export-non-interference.rs \
450+ foreach-nested-2.rs \
451+ foreach-nested.rs \
452+ foreach-put-structured.rs \
453+ foreach-simple-outer-slot.rs \
454+ generic-fn-twice.rs \
455+ generic-iter-frame.rs \
456+ generic-recursive-tag.rs \
457+ generic-tag-alt.rs \
458+ generic-tag-values.rs \
459+ iter-range.rs \
460+ iter-ret.rs \
461+ lazychan.rs \
462+ lib-bitv.rs \
463+ lib-deque.rs \
464+ lib-int.rs \
465+ lib-io.rs \
466+ lib-map.rs \
467+ lib-rand.rs \
468+ lib-sha1.rs \
469+ lib-sort.rs \
470+ lib-str.rs \
471+ lib-task.rs \
472+ lib-uint.rs \
473+ lib-vec-str-conversions.rs \
474+ lib-vec.rs \
475+ many.rs \
476+ mlist-cycle.rs \
477+ mlist.rs \
478+ mutable-alias-vec.rs \
479+ obj-as.rs \
480+ obj-dtor.rs \
481+ obj-return-polytypes.rs \
482+ pred.rs \
483+ preempt.rs \
484+ rt-circular-buffer.rs \
485+ size-and-align.rs \
486+ spawn-fn.rs \
487+ spawn-module-qualified.rs \
488+ spawn.rs \
489+ str-append.rs \
490+ syntax-extension-fmt.rs \
491+ syntax-extension-shell.rs \
492+ task-comm-0.rs \
493+ task-comm-1.rs \
494+ task-comm-10.rs \
495+ task-comm-11.rs \
496+ task-comm-12.rs \
497+ task-comm-13-thread.rs \
498+ task-comm-13.rs \
499+ task-comm-15.rs \
500+ task-comm-2.rs \
501+ task-comm-3.rs \
502+ task-comm-4.rs \
503+ task-comm-5.rs \
504+ task-comm-6.rs \
505+ task-comm-7.rs \
506+ task-comm-8.rs \
507+ task-comm-9.rs \
508+ task-comm.rs \
509+ task-killjoin.rs \
510+ task-life-0.rs \
511+ threads.rs \
512+ type-sizes.rs \
513+ typestate-cfg-nesting.rs \
514+ use-import-export.rs \
515+ user.rs \
516+ utf8.rs \
517+ vec-alloc-append.rs \
518+ vec-append.rs \
519+ vec-slice.rs \
520+ while-prelude-drop.rs \
521+ while-with-break.rs \
522+ yield.rs \
523+ yield2.rs \
524+ multi.rc \
525+ native-mod.rc \
526+ native.rc \
511527 ) \
528+ $(filter-out \
512529 $(addprefix test/compile-fail/, \
513530 alt-tag-nullary.rs \
514531 alt-tag-unary.rs \
@@ -517,6 +534,7 @@ TEST_XFAILS_RUSTC := $(filter-out \
517534 bad-expr-path.rs \
518535 bad-expr-path2.rs \
519536 bogus-tag.rs \
537+ fru-extra-field.rs \
520538 import.rs \
521539 import2.rs \
522540 import3.rs \
@@ -526,11 +544,20 @@ TEST_XFAILS_RUSTC := $(filter-out \
526544 multiline-comment-line-tracking.rs \
527545 output-type-mismatch.rs \
528546 rec-missing-fields.rs \
547+ reserved-dec.rs \
548+ reserved-f128.rs \
549+ reserved-f16.rs \
550+ reserved-f80.rs \
551+ reserved-m128.rs \
552+ reserved-m32.rs \
553+ reserved-m64.rs \
554+ tail-non-call.rs \
555+ tail-typeck.rs \
529556 type-shadow.rs \
530557 while-type-error.rs \
531558 wrong-ret-type.rs \
532559 ) , \
533- $(wildcard test/* /* .rs test/* /* .rc) )
560+ $(wildcard test/* fail /* .rs test/* fail /* .rc) )
534561
535562
536563ifdef MINGW_CROSS
0 commit comments