PyCForge 1.3.9 — native compiler profiles
15 October 2026

The Compile C dialog and headless build command now offer PCFC11, GCC/MinGW-w64,
Clang/Apple Clang, Microsoft MSVC and Clang-cl profiles. Each profile supplies
its own C11 options, compilation and link commands. Compiler selection is
explicit. The standard drivers are identified through preprocessing; their
reported frontend, C standard, architecture and ABI are checked before the
generated program is compiled. Preprocessing never runs a compiled program.
PCFC11 retains its existing process API and separate assembly stage.

The dialog remembers executable, target and optimization per family. Compiler
default uses the selected toolchain's target; an explicit target must match.
GCC and MSVC require an appropriately configured driver/environment. Clang
target selection still requires the matching SDK, system headers and linker.
The accepted targets are bounded 64-bit Linux, Windows and macOS combinations;
PCFC11 retains its Linux x64 and Windows x64 targets. Target availability does
not certify the installed cross-compilation environment.

GCC and Clang expose O0 through O3, MSVC and Clang-cl O0 through O2, and PCFC11
O0/O1. Profiles disable unsafe floating-point transformations; Microsoft-style
drivers use strict floating-point behavior. The PCFC11 assembler/linker override
is hidden for other profiles. Compiler-family mismatches and incompatible
targets report errors. GNU, Clang and Microsoft diagnostics retain source
locations when available. Existing cancellation, bounded logs, process cleanup,
stale-build protection and transactional output publication remain in use.

Standard Windows builds include a UTF-8-to-UTF-16 fopen adapter for Typed file
paths; Runtime file operations already use wide paths. Invalid UTF-8 is rejected.
MSVC-family builds retain SDK environment paths but clear CL, _CL_ and LINK
option-injection variables so those cannot override managed output options.
The CLI report destination cannot overwrite its compiler, source or output.
The desktop and CLI compile only; neither runs the generated program.

Verification

- Final compiler-profile checks: 27 passed, 12 skipped because Clang is not
  installed. Native GCC 13.3.0 checks exercise Typed and Runtime output at all
  four optimization levels, inherited methods, super, numeric operations,
  Unicode files, object output, diagnostics and source mappings, cancellation,
  stale output and the CLI report. Other driver checks validate explicit command
  contracts, target identification and environments using test doubles.
- Six actual Qt checks passed, including a native GCC build while the event loop
  remained responsive, profile switching, remembered paths, output extensions,
  failure recovery and disabled controls during compilation. The themed dialog
  was rendered and visually inspected.
- The broader build/inheritance regression run passed 59 tests and 32 subtests;
  45 native-Clang/PCFC11 checks were skipped because those compilers are absent.
  The final profile checks above cover the subsequent strict-floating-point
  option and CLI report-path protection changes.
- Action metadata checks passed 17 tests and 262 subtests. The initial log records
  an obsolete rejection of the word compiler on the compilation action. Only
  that action's permitted vocabulary was extended; the remaining restrictions
  continue to be checked.
- The UTF-16 filename adapter passed a native GCC harness with 16-bit wchar_t
  and a test receiver, including supplementary characters and malformed UTF-8.
  This is not a native Windows filesystem test.
- All 21 Help pages, 55 Python examples (33 Runtime and 22 Typed), five API
  examples, three C callers, two module examples and three README examples passed.
  Help links, navigation and search passed. The compiler section was rendered
  and visually inspected.
- The 37-case offline conversion corpus records 29 matches and eight expected
  unsupported rejections, with zero unexpected outcomes and zero observed
  network attempts. All 333 recorded source hashes match the release and
  53 corpus JSON documents passed schema checks. Its compiler calls are the
  existing direct-GCC comparison path; profile evidence is recorded separately.
- Installed-wheel, distribution and source-preservation records accompany this
  report in evidence/compiler_profiles_1_3_9.

Native validation in this release used Linux x86-64, Python 3.12 and GCC 13.3.0.
Native Clang/Apple Clang, MinGW-w64, MSVC, Clang-cl, Windows and macOS validation
remain outstanding. Command-contract tests do not establish native compiler
compatibility. The included Windows checklist supports those follow-up checks.
The full historical suite was not rerun; previously recorded historical failures
are not claimed resolved. No PyPI publication was made.

Documentation and packaging

The README is unchanged, including its approved 1.3.4 heading during ongoing
conversion upgrades. SHA256:
28dec8e51de9f5a3e05ea06ec9528abadcc61f7914e2675a01066ca57ad6fc7f
HTML Help retains its 21 pages and 55 Python examples. Existing sections explain
the compiler choices and their setup without development-status additions.
All previous application files, 495 icons, original README images and licenses
are retained. Generated verification screenshots and build caches are excluded.
The wheel and source distribution are included in dist/. Python dependencies
remain PySide6, numpy, numba, jedi and autopep8. Compiler programs and SDKs are
separate installations. C-to-Assembly remains deferred.
