cgen: fix c codegen formatting for return match (#22768) #838
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI macOS | |
on: | |
push: | |
paths-ignore: | |
- '**.md' | |
- '**.yml' | |
- '!**/macos_ci.yml' | |
- 'cmd/tools/**' | |
- '!cmd/tools/builders/**.v' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
- '**.yml' | |
- '!**/macos_ci.yml' | |
- 'cmd/tools/**' | |
- '!cmd/tools/builders/**.v' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
clang: | |
strategy: | |
matrix: | |
os: [macos-14] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 121 | |
env: | |
VFLAGS: -cc clang | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build V | |
run: make -j4 && ./v symlink | |
- name: Test symlink | |
run: v symlink | |
- name: Test cross compilation to Linux | |
run: | | |
v -o hw -os linux examples/hello_world.v && ls -la hw && file hw | |
v -d use_openssl -o ve -os linux examples/veb/veb_example.v && ls -la ve && file ve | |
- name: Build V with -cstrict | |
run: v -cg -cstrict -o v cmd/v | |
- name: All code is formatted | |
run: VJOBS=1 v test-cleancode | |
- name: Run sanitizers | |
run: | | |
v -o v2 cmd/v -cflags -fsanitize=undefined | |
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v2 -o v.c cmd/v | |
- name: Build V using V | |
run: v -o v2 cmd/v && ./v2 -o v3 cmd/v | |
# - name: Set up pg database | |
# run: | | |
# pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start | |
# psql -d postgres -c 'select rolname from pg_roles' | |
# psql -d postgres -c 'create database customerdb;' | |
# psql -d customerdb -f examples/database/pg/mydb.sql | |
# - name: Test v->c | |
# run: v test-all | |
# - name: Test v binaries | |
# run: v build-vbinaries | |
# - name: Test v->js | |
# run: v -o hi.js examples/hello_v_js.v && node hi.js | |
- name: Verify `v test` works | |
run: | | |
echo $VFLAGS | |
v cmd/tools/test_if_v_test_system_works.v | |
./cmd/tools/test_if_v_test_system_works | |
- name: Install iconv for encoding.iconv | |
run: brew install libiconv | |
- name: Test pure V math module | |
run: v -exclude @vlib/math/*.c.v test vlib/math/ | |
- name: Self tests | |
run: VJOBS=1 v test-self vlib | |
- name: Build examples | |
run: v build-examples | |
- name: Build tetris with -autofree | |
run: v -autofree -o tetris examples/tetris/tetris.v | |
- name: Build blog tutorial with -autofree | |
run: v -autofree -o blog tutorials/building_a_simple_web_blog_with_vweb/code/blog | |
- name: Build examples with -prod | |
run: | | |
v -prod examples/news_fetcher.v | |
- name: v doctor | |
run: | | |
v doctor | |
- name: V self compilation with -usecache | |
run: | | |
unset VFLAGS | |
v -usecache examples/hello_world.v && examples/hello_world | |
v -o v2 -usecache cmd/v | |
./v2 -o v3 -usecache cmd/v | |
./v3 version | |
./v3 -o tetris -usecache examples/tetris/tetris.v | |
- name: V self compilation with -parallel-cc | |
run: | | |
v -o v2 -parallel-cc cmd/v | |
- name: Test password input | |
run: v test examples/password/ | |
- name: Test readline | |
run: v test examples/readline/ | |
- name: Test vlib modules with -skip-unused | |
run: v -skip-unused test vlib/builtin/ vlib/math vlib/flag/ vlib/os/ vlib/strconv/ |