Files
mattgodbolt-molty d166b94303 Address Copilot review on PR #8698
(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>
2026-05-10 12:01:18 -05:00
..
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00