diff --git a/run b/run index c916b4b..0ca8996 100755 --- a/run +++ b/run @@ -777,6 +777,27 @@ step33() { } } +# commit 7a85ad151daece3d0bba3c8d23081502a0956c95 +# Author: mlugg +# Date: 2023-08-19T04:35:00+03:00 +# +# cbe: elide block result allocation for 0-bit types +# +# This logic already existed for the void type, but is also necessary for +# other 0-bit types. Without it, we try to alloc a local for a 0-bit type +# which gets translated to a local of type `void` which C doesn't like. +STEP34=7a85ad151daece3d0bba3c8d23081502a0956c95 +STEP34_=0.11.0-149-g7a85ad151d +step34() { + rm -fr "../zig-$STEP34_" + git archive --prefix=zig-$STEP34_/ $STEP34 | tar -C .. -x + { + pushd "../zig-$STEP34_" + ../zig-$STEP33_/build/zig2 build --zig-lib-dir lib update-zig1 + popd + } +} + if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then set -xeuo pipefail step=${1:-step00} @@ -817,4 +838,5 @@ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then if [[ "$step" -le 31 ]]; then step31; fi if [[ "$step" -le 32 ]]; then step32; fi if [[ "$step" -le 33 ]]; then step33; fi + if [[ "$step" -le 34 ]]; then step34; fi fi