7c707e4b95
* Implement basic support for inline assembly * Disable LTO We don't support it yet at all * Handle `inout(reg) var` correctly Turns out that `+` readwrite output registers cannot be tied with input variables. * Add limited support for llvm_asm! * Handle CHANNEL correctly * Add support for arbitrary explicit registers * Handle symbols properly * Add rudimentary asm tests * Exclude llvm_asm! tests from tests runs * Insert `__builtin_unreachable()` after diverging asm blocks
24 lines
525 B
Bash
Executable File
24 lines
525 B
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ -z $CHANNEL ]; then
|
|
export CHANNEL='debug'
|
|
fi
|
|
|
|
pushd $(dirname "$0") >/dev/null
|
|
source config.sh
|
|
|
|
# read nightly compiler from rust-toolchain file
|
|
TOOLCHAIN=$(cat rust-toolchain)
|
|
|
|
popd >/dev/null
|
|
|
|
if [[ $(rustc -V) != $(rustc +${TOOLCHAIN} -V) ]]; then
|
|
echo "rustc_codegen_gcc is build for $(rustc +${TOOLCHAIN} -V) but the default rustc version is $(rustc -V)."
|
|
echo "Using $(rustc +${TOOLCHAIN} -V)."
|
|
fi
|
|
|
|
cmd=$1
|
|
shift
|
|
|
|
RUSTDOCFLAGS="$RUSTFLAGS" cargo +${TOOLCHAIN} $cmd --target $TARGET_TRIPLE $@
|