mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2026-05-16 12:33:04 -04:00
(C1) lib/instructionsets.ts: x86 substring list now covers classic
i386/i486/i586/i686 LLVM-GCC triples (which don't contain `x86`),
with `i386` first so `tripleForInstructionSet('x86')` returns
`i386` — what `lib/tooling/llvm-mca-tool.ts` already special-cases.
(C2) lib/compiler-finder.ts: log a warning when a compiler is loaded
with an empty instructionSet. The validator
`findCompilersWithoutInstructionSet` is a CI check, not a runtime
guarantee; logging at startup makes production misconfigs visible.
Updated the comment in `lib/base-compiler.ts` to reflect that.
(C3) lib/properties-validator.ts: drop `groupChain` from the dedupe
key in `findCompilersWithoutInstructionSet`. The previous key allowed
the same compiler to be reported multiple times when reached via
different group chains across deployments — comment overstated the
guarantee. New test exercises this path.
(C4) etc/config/clean.amazon.properties: clean32 → instructionSet=x86
(was amd64; baseName=`x86 clean`, exe=`/clean32-2.4/bin/clm`).
(C5) etc/config/c.amazon.properties: compcertx86 → instructionSet=x86
(was amd64; baseName=`x86 CompCert`, exe=`CompCert-x86_32-3.x`).
compcertx8664 immediately above was correctly amd64.
(M1) etc/config/c++.amazonwin.properties: vcpp_x86 → instructionSet=x86
(was amd64; sibling c.amazonwin/vc_x86 was correctly x86 — fixes
sibling-file inconsistency. Affects buildenvsetup -m32 / Conan
variant selection per `lib/buildenvsetup/base.ts`).
(M5) lib/base-compiler.ts: drop the swallowed try/catch around
`getInstructionSetFromCompilerArgs`. The wrapped call (string
parsing of compiler args) doesn't throw; the catch hid bugs.
Tests: i386/i486/i586/i686 → x86, x86_64 → still amd64,
tripleForInstructionSet('x86') === 'i386'. Plus new dedupe-across-
group-chains synthetic test.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>