ci: adopt shared tccbin conformance test suite#69
Merged
GGRei merged 1 commit intoJul 24, 2026
Merged
Conversation
Wires this branch into vlang/v's shared cross-platform tccbin_tests suite (thirdparty/tccbin_tests), the same shared/hello.c, gc_alloc.c, crash.c tests already run on thirdparty-windows-amd64's CI. No rebuild here - this validates the already-committed tcc.exe/lib/libgc.a as-is. The checkout layout (this branch at work/thirdparty/tcc) matters: the bundled tcc.exe resolves its own crt1.o/crti.o/crtn.o/libtcc1.a via a baked-in "thirdparty/tcc/..." path relative to the process's working directory, not via -B or argv0. Verified locally (WSL/Ubuntu 24.04) against this branch's real committed binaries with this exact layout: 3/3 shared tests pass, including gc_alloc.c against the branch's own libgc.a. TODO: thirdparty/tccbin_tests isn't in vlang/v yet (open PR vlang/v#27924), so this points at the fork branch it's proposed on. Once/if that merges, switch to `repository: vlang/v` at a real commit.
|
@codex review |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wires this branch into the shared cross-platform conformance suite
(
thirdparty/tccbin_testsin vlang/v) already running onthirdparty-windows-amd64's CI — sameshared/hello.c,gc_alloc.c,crash.ctests, so a regression in this branch's rebuild pipelinegets caught the same way it would on Windows, instead of only being
noticed by hand.
No rebuild here — this validates the already-committed
tcc.exe/lib/libgc.aas-is against the shared suite.Verified locally (WSL/Ubuntu 24.04) against this branch's real
committed binaries, using the exact checkout layout this workflow
uses: 3/3 shared tests pass, including
gc_alloc.clinked againstthis branch's own
libgc.a.One non-obvious thing worth calling out for reviewers: the bundled
tcc.exeresolves its owncrt1.o/crti.o/crtn.o/libtcc1.aviaa baked-in
thirdparty/tcc/...path relative to the process's workingdirectory (not via
-Bor argv0) — that's why this branch is checkedout to
work/thirdparty/tccand the test step runs withworking-directory: work, mirroringthirdparty-windows-amd64'sexisting checkout convention. Running it from an arbitrary directory
produces confusing "library not found"/"undefined symbol" errors
that look like a real compatibility bug but aren't — I went down that
path first before finding the actual cause.
tccmay also printlibgc.a: error: 'GC_noop1_ptr' defined twiceduring the
gc_alloc/hellocompiles — this is benign: the sharedsuite's
gc.hprovides a weak fallback definition of that symbol (forvlang/v#27179, so the header works from plain C), and tcc's ELF linker
reports the collision as a diagnostic but still keeps the strong
definition from
libgc.aand links successfully. Confirmed locally(binary runs fine despite the message).
TODO:
thirdparty/tccbin_testsisn't in vlang/v yet (open PRvlang/v#27924), so this points at the fork branch it's proposed on.
Once/if that merges, this should switch to
repository: vlang/vat areal commit.