0.2.27 — Build and validate
Remove unused integer calculations while preserving required values and effects. This package guide works offline.
Version 0.2.27 corrects C11 generic selection and array compatibility, with 87 new cases in the 350-case language matrix. Native Windows execution of 0.2.27 is pending. The 0.2.25 Windows feedback is retained as historical evidence; see the release validation record for current results.
Run the automated test
Extract PCFC11-0.2.27-source.zip into a new folder. Keep all folders together. Use your existing native Windows 64-bit Python 3.11+ and MinGW-w64 UCRT64 GCC.
Open MSYS2 UCRT64 or Git Bash in the extracted directory:
bash test-pcfc11.sh
PowerShell alternative:
python tools/test_windows.py
Allow several minutes. Return the ZIP printed under test-results/, even if it says FAIL. If a phase times out, add --timeout 1200. If no ZIP is created, return the printed setup log. Nothing is installed or uploaded automatically.
If GCC is outside PATH:
bash test-pcfc11.sh --cc 'C:/msys64/ucrt64/bin/gcc.exe'
What changed
- Repeat successful liveness/cleanup for up to eight rounds, with final analysis before register placement.
- Preserve assignment values, statement-expression results and effects.
- Check 43,776 output values and 77 assembly assertions per target/level.
- Add 43 C11 regression cases and a separate fresh PyCForge 1.3.68 application gate.
- Retain all previous compiler and 49 pinned PyCForge fixture gates.
The standard command has 37 Linux or 36 native Windows phases. Skips are not passes. WSL tests Linux only. Complete C11 conformance remains unverified. No new runtime speedup is claimed.
Optional numerical library test
If a matching OpenBLAS/LAPACKE installation is already available:
bash test-pcfc11.sh --openblas-prefix C:/msys64/ucrt64 --lapacke
This adds one required phase (37 Windows). Omit it otherwise; the default run records external numerical libraries as not requested. See the numerical contract.
Build and use
python tools/build.py
./pcfc11 -std=c11 -O1 -Wall -Wextra examples/hello.c -o hello
./hello
PowerShell uses .\pcfc11.exe and .\hello.exe. Keep include/ beside the compiler. O0 is the default. GCC-compatible assembly/linking tools and the platform runtime are required.
Package size and history
This source package keeps the complete compiler and test suite. Detailed validation history is preserved in the optional PCFC11-0.2.27-development-archive.zip; it is not required for the standard tests. See the packaging guide to restore history or rebuild a lean source ZIP.
Evidence and next work
Release validation · Independent test scope · C11 status · Maintainer gates · Licenses
Continue independent stress testing, failure reduction, Windows runtime coverage and verified IR development. The objective ledger records the longer path to SSA, value/range analysis and live-range allocation. Fresh PyCForge conversion and headless builds are documented in the compatibility guide. GUI, installer and bundling qualification remain separate.