summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile171
1 files changed, 168 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index a0dfb46c..6c103d47 100644
--- a/Makefile
+++ b/Makefile
@@ -332,16 +332,169 @@ DISABLED_TESTS = run-pass/abi-sysv64-arg-passing run-pass/abi-sysv64-register-us
DISABLED_TESTS += run-pass/backtrace-debuginfo-aux
# - asm! is hard to trnaslate
DISABLED_TESTS += run-pass/asm-in-out-operand run-pass/asm-indirect-memory run-pass/asm-out-assign
+DISABLED_TESTS += run-pass/i128
+DISABLED_TESTS += run-pass/issue-14936
# - Requires jemalloc
DISABLED_TESTS += run-pass/allocator-default run-pass/allocator-override
# - Bug in inferrence order.
DISABLED_TESTS += run-pass/associated-types-conditional-dispatch
# - Lazy.
DISABLED_TESTS += run-pass/associated-types-projection-in-where-clause run-pass/autoderef-privacy
+DISABLED_TESTS += run-pass/builtin-superkinds-self-type
+DISABLED_TESTS += run-pass/byte-literals
+DISABLED_TESTS += run-pass/c-stack-as-value run-pass/cabi-int-widening
+DISABLED_TESTS += run-pass/cast-rfc0401-vtable-kinds run-pass/cast-rfc0401
+DISABLED_TESTS += run-pass/cast-in-array-size
+DISABLED_TESTS += run-pass/cast
+DISABLED_TESTS += run-pass/cfg-in-crate-1
+DISABLED_TESTS += run-pass/coerce-expect-unsized
+DISABLED_TESTS += run-pass/coerce-overloaded-autoderef
+DISABLED_TESTS += run-pass/coerce-unify-return
+DISABLED_TESTS += run-pass/concat
+DISABLED_TESTS += run-pass/const-autoderef
+DISABLED_TESTS += run-pass/const-block-cross-crate-fn
+DISABLED_TESTS += run-pass/const-block-item
+DISABLED_TESTS += run-pass/const-block
+DISABLED_TESTS += run-pass/const-bound
+DISABLED_TESTS += run-pass/const-cast
+DISABLED_TESTS += run-pass/discrim-explicit-23030
+DISABLED_TESTS += run-pass/dst-coerce-rc
+DISABLED_TESTS += run-pass/dst-coercions
+DISABLED_TESTS += run-pass/dst-field-align
+DISABLED_TESTS += run-pass/dst-irrefutable-bind
+DISABLED_TESTS += run-pass/dst-raw
+DISABLED_TESTS += run-pass/dst-struct-sole
+DISABLED_TESTS += run-pass/dst-struct
+DISABLED_TESTS += run-pass/dst-trait
+DISABLED_TESTS += run-pass/empty-struct-braces
+DISABLED_TESTS += run-pass/explicit-self-generic
+DISABLED_TESTS += run-pass/extern-compare-with-return-type
+DISABLED_TESTS += run-pass/fat-ptr-cast
+DISABLED_TESTS += run-pass/intrinsic-move-val
+DISABLED_TESTS += run-pass/issue-11205
+DISABLED_TESTS += run-pass/issue-13902
+DISABLED_TESTS += run-pass/issue-14399
+DISABLED_TESTS += run-pass/issue-15221
+DISABLED_TESTS += run-pass/issue-20575
+DISABLED_TESTS += run-pass/issue-20797
+# - Lazy (MIR)
+DISABLED_TESTS += run-pass/if-ret
+DISABLED_TESTS += run-pass/intrinsics-integer
+DISABLED_TESTS += run-pass/issue-11940
+DISABLED_TESTS += run-pass/issue-13620
+DISABLED_TESTS += run-pass/issue-13867
+DISABLED_TESTS += run-pass/issue-15080
+DISABLED_TESTS += run-pass/issue-15104
+DISABLED_TESTS += run-pass/issue-15763
+DISABLED_TESTS += run-pass/issue-17877 # - SplitSlice + array
+DISABLED_TESTS += run-pass/issue-18060 # - Overlapping value ranges
+DISABLED_TESTS += run-pass/issue-18110 # - Missing value
+DISABLED_TESTS += run-pass/issue-18352 # - Match+const
+# - Lazy (misg)
+DISABLED_TESTS += run-pass/issue-13494
+# - Overly-restrictive consteval
+DISABLED_TESTS += run-pass/check-static-mut-slices run-pass/check-static-slice
+DISABLED_TESTS += run-pass/const-binops
+DISABLED_TESTS += run-pass/const-contents
+DISABLED_TESTS += run-pass/const-deref
+DISABLED_TESTS += run-pass/const-enum-cast
+DISABLED_TESTS += run-pass/const-err
+DISABLED_TESTS += run-pass/const-fields-and-indexing
+DISABLED_TESTS += run-pass/const-fn-method
+DISABLED_TESTS += run-pass/const-fn
+DISABLED_TESTS += run-pass/const-str-ptr
+DISABLED_TESTS += run-pass/const-vec-of-fns
+DISABLED_TESTS += run-pass/diverging-fn-tail-35849
+DISABLED_TESTS += run-pass/enum-vec-initializer
+DISABLED_TESTS += run-pass/huge-largest-array
+DISABLED_TESTS += run-pass/issue-17233
+DISABLED_TESTS += run-pass/issue-19244 # Missing type info
+# - Type defaults not supported
+DISABLED_TESTS += run-pass/default-associated-types
+DISABLED_TESTS += run-pass/default_ty_param_default_dependent_associated_type
+DISABLED_TESTS += run-pass/default_ty_param_dependent_defaults
+DISABLED_TESTS += run-pass/default_ty_param_method_call_test
+DISABLED_TESTS += run-pass/default_ty_param_struct_and_type_alias
+DISABLED_TESTS += run-pass/default_ty_param_struct
+DISABLED_TESTS += run-pass/default_ty_param_trait_impl
+DISABLED_TESTS += run-pass/default_ty_param_trait_impl_simple
+DISABLED_TESTS += run-pass/default_ty_param_type_alias
+DISABLED_TESTS += run-pass/generic-default-type-params-cross-crate
+DISABLED_TESTS += run-pass/generic-default-type-params
+# - ERROR: Function pointers in consants/statics don't trigger calls
+DISABLED_TESTS += run-pass/issue-17718
+# - Quirks
+DISABLED_TESTS += run-pass/fn-item-type-zero-sized # fn() items are not ZSTs
+DISABLED_TESTS += run-pass/int-abs-overflow # No overflow checks
+DISABLED_TESTS += run-pass/issue-18859 # module_path output is differend
+# - BUG-USE AFTER FREE (scoping)
+DISABLED_TESTS += run-pass/cleanup-rvalue-scopes
+# - BUG-Expand: Copy,Clone calls Clone for inner values instead of copying
+DISABLED_TESTS += run-pass/deriving-copyclone
+# - BUG-Expand: format_args!
+DISABLED_TESTS += run-pass/fmt-pointer-trait
+DISABLED_TESTS += run-pass/format-ref-cell
+DISABLED_TESTS += run-pass/ifmt
+# - BUG-Expand: #[main] and cfg
+DISABLED_TESTS += run-pass/intrinsic-alignment
+# - BUG-Expand: No cfg on enum vars
+DISABLED_TESTS += run-pass/issue-11085
+# - BUG-Parse: `use *`
+DISABLED_TESTS += run-pass/import-glob-crate
+DISABLED_TESTS += run-pass/import-prefix-macro
+# - BUG-CODEGEN: Missing symbol
+DISABLED_TESTS += run-pass/const-enum-ptr
+DISABLED_TESTS += run-pass/const-enum-vec-ptr
+DISABLED_TESTS += run-pass/const-vecs-and-slices
+# - BUG: Codegen drops
+DISABLED_TESTS += run-pass/extern_fat_drop
+# - BUG: Enum variants not getting correct integer values
+DISABLED_TESTS += run-pass/discriminant_value
+DISABLED_TESTS += run-pass/const-nullary-univariant-enum
+DISABLED_TESTS += run-pass/enum-discr
+DISABLED_TESTS += run-pass/enum-disr-val-pretty
+DISABLED_TESTS += run-pass/enum-univariant-repr
+DISABLED_TESTS += run-pass/issue-15523-big
+DISABLED_TESTS += run-pass/issue-15523
+# - BUG: Null pointer opt not fully correct
+DISABLED_TESTS += run-pass/enum-null-pointer-opt
+# - BUG: Incorrect enum sizing
+DISABLED_TESTS += run-pass/enum-discrim-autosizing
+DISABLED_TESTS += run-pass/enum-discrim-manual-sizing
+DISABLED_TESTS += run-pass/enum-discrim-width-stuff
+# - BUG: Leaking contents of boxed trait objects
+DISABLED_TESTS += run-pass/drop-struct-as-object
+DISABLED_TESTS += run-pass/dynamic-drop
+DISABLED_TESTS += run-pass/issue-10802
+# - BUG: Bad floats
+DISABLED_TESTS += run-pass/float-nan
+DISABLED_TESTS += run-pass/float_math
+DISABLED_TESTS += run-pass/floatlits
+DISABLED_TESTS += run-pass/intrinsics-math
+# - BUG: Hygine
+DISABLED_TESTS += run-pass/hygiene
+DISABLED_TESTS += run-pass/hygienic-labels-in-let
+DISABLED_TESTS += run-pass/hygienic-labels
+# - ?? Is this valid
+DISABLED_TESTS += run-pass/const-enum-vec-index
# - Line information that isn't avaliable due to codegen
DISABLED_TESTS += run-pass/backtrace-debuginfo run-pass/backtrace
# - No unwind catching support
DISABLED_TESTS += run-pass/binary-heap-panic-safe run-pass/box-of-array-of-drop-1 run-pass/box-of-array-of-drop-2
+DISABLED_TESTS += run-pass/cleanup-rvalue-temp-during-incomplete-alloc
+DISABLED_TESTS += run-pass/drop-trait-enum
+DISABLED_TESTS += run-pass/intrinsic-move-val-cleanups
+DISABLED_TESTS += run-pass/issue-14875
+# - Test framework required
+DISABLED_TESTS += run-pass/core-run-destroy
+DISABLED_TESTS += run-pass/exec-env
+DISABLED_TESTS += run-pass/issue-16597-empty
+DISABLED_TESTS += run-pass/issue-16597 # NOTE: Crashes in resolve
+DISABLED_TESTS += run-pass/issue-20823
+# - Makefile test framework quirks
+DISABLED_TESTS += run-pass/issue-18913
+# - Target Features
+DISABLED_TESTS += run-pass/crt-static-on-works
# - Infinite loops
DISABLED_TESTS += run-pass/issue-16671
@@ -358,15 +511,24 @@ output/rust/test_run-pass_hello: $(RUST_TESTS_DIR)run-pass/hello.rs output/libst
@./$@
TEST_ARGS_run-pass/cfgs-on-items := --cfg fooA --cfg fooB
+TEST_ARGS_run-pass/cfg-macros-foo := --cfg foo
+TEST_ARGS_run-pass/cfg_attr := --cfg set1 --cfg set2
+TEST_ARGS_run-pass/issue-11085 := --cfg foo
+TEST_ARGS_run-pass/issue-15881-model-lexer-dotdotdot := -g
-output/rust/%: $(RUST_TESTS_DIR)%.rs $(RUSTCSRC) $(BIN) output/libstd.hir output/libtest.hir
+output/rust/%: $(RUST_TESTS_DIR)%.rs $(RUSTCSRC) $(BIN) output/libstd.hir output/libtest.hir output/test_deps/librust_test_helpers.a
@mkdir -p $(dir $@)
@echo "=== TEST $(patsubst output/rust/%,%,$@)"
@echo "--- [MRUSTC] -o $@"
- $V$(BIN) $< -o $@ -L output/libs --stop-after $(RUST_TESTS_FINAL_STAGE) $(TEST_ARGS_$*) > $@.txt 2>&1 || (tail -n 1 $@.txt; false)
+ $V$(BIN) $< -o $@ -L output/libs -L output/test_deps --stop-after $(RUST_TESTS_FINAL_STAGE) $(TEST_ARGS_$*) > $@.txt 2>&1 || (tail -n 1 $@.txt; false)
output/rust/%_out.txt: output/rust/%
@echo "--- [$<]"
- @./$< > $@ || (tail -n 1 $@; false)
+ @./$< > $@ || (tail -n 1 $@; mv $@ $@_fail; false)
+
+output/test_deps/librust_test_helpers.a: output/test_deps/rust_test_helpers.o
+ ar cur $@ $<
+output/test_deps/rust_test_helpers.o: $(RUSTCSRC)src/rt/rust_test_helpers.c
+ $(CC) -c $< -o $@
output/rust/run-pass/allocator-default.o: output/libstd.hir output/liballoc_jemalloc.hir
output/rust/run-pass/allocator-system.o: output/liballoc_system.hir
@@ -420,6 +582,9 @@ $(BIN): $(OBJ)
@mkdir -p $(dir $@)
@echo [CXX] -o $@
$V$(CXX) -o $@ $(LINKFLAGS) $(OBJ) $(LIBS)
+ objcopy --only-keep-debug $(BIN) $(BIN).debug
+ objcopy --add-gnu-debuglink=$(BIN).debug $(BIN)
+ strip $(BIN)
$(OBJDIR)%.o: src/%.cpp
@mkdir -p $(dir $@)