Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
llesieur99
left a comment
There was a problem hiding this comment.
Reviewed immutable head 42b4c94ec82076de8628520e4d2029b11def97cd, stacked on #339. Several real source contracts need correction before merge, even though local byte checks pass:
src/levels/07_siberius/L07_003F4578-g8.c:249-250:func_002AD470is declared void although prerequisite #339 defines and returns an integer 0/1.func_002A0F48is declared as returning a scalar float although its inspected VU transform has no scalar FPR result. Preserve the actual contracts even at call sites that ignore results.src/levels/12_todano/L12_0041E3E8-split-g8.c:16:func_002AA548is declared void, whereas its current matched definition and the retail return a 32-bit float in f0. Use the real float-return contract.src/levels/12_todano/L12_0041E3E8-g8.c:5-7,39,41: the 1F50/1F58/1F60 globals are declared as individual four-byte floats, then passed as larger blocks. Actualfunc_L00_0032A258reads at least 28 bytes from its second argument and eight bytes from each third/fourth argument. These scalar declarations understate the objects and force a misleading small-data model. Use truthful range/vector-block declarations, incomplete when ownership is unknown, and appropriate isolated thresholds rather than reducing their extent to fit G8.
The L14 eight-byte range declarations are supported by the inspected callee; this is not a blanket objection to small-data arrays or RAC1 methods. Please refresh source checks and strict carrying gates after the corrections. Merge order also matters: #339 must land first, then this PR should target master with only its additional changes.
|
This head ( The follow-up source-contract corrections are merged in #345. All 33 C contributions are retained, with truthful settings extents and return declarations; the combined tree passes all 84 strict programs across USA v1.01, USA v2.00 and PAL, plus 294 tests. Closing this redundant PR as already integrated. The contributor's branch and history are preserved. |
33 more level and boot functions of 200-600 bytes now match; this PR builds on #339.
tools/build.py all --strict is OK for all 28 programs in us, pal and us2; near misses are in nonmatching/.
🤖 Generated with Claude Code