mirror of
https://github.com/TinyCC/tinycc.git
synced 2025-11-16 04:24:45 +00:00
tcc.c: - be nice to leak checkers tcctools.c: - remove unused TCCState params tccrun.c: - call bound_exit() after signals to let it free mem tccelf.c: - use section_add() instead of section_ptr_add() when more appropriate tccpp.c: - use size_t to align tal_header naturally - 'POINTER_SIZE' and 'PTR_SIZE' in the same source is confusing - "char file_name[TAL_DEBUG_FILE_LEN + 1];" looks silly. - next_nomacro(): skip UTF8 BOM at BOF tccgen.c: - get rid of STMT_EXPR clause on top of block - warn with useless type like 'int;' - move skip()'s in block() for better error line-info - BIT_SIZE bits are meaningful only with VT_BITFIELD (not with enums for example) workflow/test-win32: - build with MSVC using build-tcc.bat also alloca.S: - fix 'off by one' problem on win32 (must touch current page too because the 'push %edx' at the end could touch the next page) - must not align greater than 4 when used for struct args (i386-gen.c:gfunc_call()) libtcc.c: - accept -g1dwarf (dwarf output, only line info)
141 lines
3.9 KiB
YAML
141 lines
3.9 KiB
YAML
name: build and test
|
|
|
|
on:
|
|
push:
|
|
branches: [ mob ]
|
|
|
|
jobs:
|
|
test-x86_64-linux:
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 2
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make & test tcc (x86_64-linux)
|
|
run: ./configure && make && make test -k
|
|
|
|
test-x86_64-osx:
|
|
runs-on: macos-13
|
|
timeout-minutes: 2
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make & test tcc (x86_64-osx)
|
|
run: ./configure && make && make test -k
|
|
|
|
test-aarch64-osx:
|
|
runs-on: macos-14
|
|
timeout-minutes: 2
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make & test tcc (aarch64-osx)
|
|
run: ./configure && make && make test -k
|
|
|
|
test-x86_64-win32:
|
|
runs-on: windows-2025
|
|
timeout-minutes: 6
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make & test tcc (x86_64-win32)
|
|
shell: cmd
|
|
run: |
|
|
echo ::group:: setup msys mingw64-gcc
|
|
set MSYS2_PATH_TYPE=inherit
|
|
set MSYSTEM=MINGW64
|
|
set CHERE_INVOKING=yes
|
|
C:\msys64\usr\bin\bash -l -c "pacman -S --noconfirm mingw-w64-x86_64-gcc"
|
|
echo ::endgroup::
|
|
C:\msys64\usr\bin\bash -l -c "./configure && make && make test -k"
|
|
- uses: ilammy/msvc-dev-cmd@v1
|
|
with:
|
|
arch: amd64
|
|
- name: build with MSVC (x86_64-win32)
|
|
shell: cmd
|
|
run: |
|
|
echo ::group:: run build-tcc.bat
|
|
cd win32
|
|
call build-tcc.bat -t 64 -c cl
|
|
echo ::endgroup::
|
|
.\tcc -I.. libtcc.dll -v ../tests/libtcc_test.c -o libtest.exe && .\libtest.exe
|
|
.\tcc -I.. libtcc.dll -run ../tests/libtcc_test.c
|
|
|
|
test-i386-win32:
|
|
runs-on: windows-2025
|
|
timeout-minutes: 6
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: make & test tcc (i386-win32)
|
|
shell: cmd
|
|
run: |
|
|
echo ::group:: setup msys mingw32-gcc
|
|
set MSYS2_PATH_TYPE=inherit
|
|
set MSYSTEM=MINGW32
|
|
set CHERE_INVOKING=yes
|
|
C:\msys64\usr\bin\bash -l -c "pacman -S --noconfirm mingw-w64-i686-gcc"
|
|
echo ::endgroup::
|
|
C:\msys64\usr\bin\bash -l -c "./configure && make && make test -k"
|
|
- uses: ilammy/msvc-dev-cmd@v1
|
|
with:
|
|
arch: x86
|
|
- name: build with MSVC (i386-win32)
|
|
shell: cmd
|
|
run: |
|
|
echo ::group:: run build-tcc.bat
|
|
cd win32
|
|
call build-tcc.bat -t 32 -c cl
|
|
echo ::endgroup::
|
|
.\tcc -I.. libtcc.dll -v ../tests/libtcc_test.c -o libtest.exe && .\libtest.exe
|
|
.\tcc -I.. libtcc.dll -run ../tests/libtcc_test.c
|
|
|
|
test-armv7-linux:
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 8
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: uraimo/run-on-arch-action@v3
|
|
name: make & test tcc (armv7-linux)
|
|
with:
|
|
arch: armv7
|
|
distro: ubuntu22.04
|
|
githubToken: ${{ github.token }}
|
|
install: |
|
|
apt-get update -q -y
|
|
apt-get install -q -y gcc make
|
|
run: |
|
|
echo "::endgroup::" # flatten 'run container'
|
|
./configure && make && make test -k
|
|
|
|
test-aarch64-linux:
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 8
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: uraimo/run-on-arch-action@v3
|
|
name: make & test tcc (aarch64-linux)
|
|
with:
|
|
arch: aarch64
|
|
distro: ubuntu24.04
|
|
githubToken: ${{ github.token }}
|
|
install: |
|
|
apt-get update -q -y
|
|
apt-get install -q -y gcc make
|
|
run: |
|
|
echo "::endgroup::" # flatten 'run container'
|
|
./configure && make && make test -k
|
|
|
|
test-riscv64-linux:
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 8
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: uraimo/run-on-arch-action@v3
|
|
name: make & test tcc (riscv64-linux)
|
|
with:
|
|
arch: riscv64
|
|
distro: ubuntu22.04
|
|
githubToken: ${{ github.token }}
|
|
install: |
|
|
apt-get update -q -y
|
|
apt-get install -q -y gcc make
|
|
run: |
|
|
echo "::endgroup::" # flatten 'run container'
|
|
./configure && make && make test -k
|