@@ -63,23 +63,33 @@ symcheck+=(-- build-and-check)
63
63
" ${symcheck[@]} " -p compiler_builtins --target " $target " --features no-f16-f128
64
64
" ${symcheck[@]} " -p compiler_builtins --target " $target " --features no-f16-f128 --release
65
65
66
- build_intrinsics_test () {
67
- # symcheck also checks the results of builtins-test-intrinsics
68
- " ${symcheck[@]} " \
66
+ run_intrinsics_test () {
67
+ args=(
69
68
--target " $target " --verbose \
70
- --manifest-path builtins-test-intrinsics/Cargo.toml " $@ "
69
+ --manifest-path builtins-test-intrinsics/Cargo.toml
70
+ )
71
+ args+=( " $@ " )
72
+
73
+ # symcheck also checks the results of builtins-test-intrinsics
74
+ " ${symcheck[@]} " " ${args[@]} "
75
+
76
+ # FIXME: we get access violations on Windows, our entrypoint may need to
77
+ # be tweaked.
78
+ if [ " ${BUILD_ONLY:- } " != " 1" ] && ! [[ " $target " = * " windows" * ]]; then
79
+ cargo run " ${args[@]} "
80
+ fi
71
81
}
72
82
73
83
# Verify that we haven't dropped any intrinsics/symbols
74
- build_intrinsics_test
75
- build_intrinsics_test --release
76
- build_intrinsics_test --features c
77
- build_intrinsics_test --features c --release
84
+ run_intrinsics_test
85
+ run_intrinsics_test --release
86
+ run_intrinsics_test --features c
87
+ run_intrinsics_test --features c --release
78
88
79
89
# Verify that there are no undefined symbols to `panic` within our
80
90
# implementations
81
- CARGO_PROFILE_DEV_LTO=true build_intrinsics_test
82
- CARGO_PROFILE_RELEASE_LTO=true build_intrinsics_test --release
91
+ CARGO_PROFILE_DEV_LTO=true run_intrinsics_test
92
+ CARGO_PROFILE_RELEASE_LTO=true run_intrinsics_test --release
83
93
84
94
# Test libm
85
95
0 commit comments