Skip to content

Conversation

@NiceAndPeter
Copy link
Owner

No description provided.

Issue: Phase 112 broke Clang builds due to -Wsign-conversion errors
when passing int sizes to std::span constructor (expects size_t).

Changes:
- Added static_cast<size_t> to all span constructor calls in:
  - Proto::getCodeSpan() (sizecode)
  - Proto::getConstantsSpan() (sizek)
  - Proto::getProtosSpan() (sizep)
  - Proto::getUpvaluesSpan() (sizeupvalues)
  - ProtoDebugInfo::getLineInfoSpan() (sizelineinfo)
  - ProtoDebugInfo::getAbsLineInfoSpan() (sizeabslineinfo)
  - ProtoDebugInfo::getLocVarsSpan() (sizelocvars)

- Fixed ldump.cpp subspan calls:
  - locvars.subspan(0, n) → locvars.subspan(0, static_cast<size_t>(n))
  - upvalues.subspan(0, n) → upvalues.subspan(0, static_cast<size_t>(n))

Result:
- ✅ GCC build: passes (4.73s avg)
- ✅ Clang build: now compiles successfully (4.51s avg)
- ✅ All tests passing: final OK !!!

Note: Performance variance observed (4.16s-5.56s range), investigating
separately. Primary goal achieved: Clang compatibility restored.
@NiceAndPeter NiceAndPeter merged commit 00ab586 into main Nov 21, 2025
17 of 18 checks passed
@NiceAndPeter NiceAndPeter deleted the claude/phase-112-014h3czNBN2Djd525t1QDv9A branch November 21, 2025 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants