Skip to content

Old pony 5262#163

Merged
IgorDeepakM merged 4 commits intomasterfrom
old_pony_5262
Apr 28, 2026
Merged

Old pony 5262#163
IgorDeepakM merged 4 commits intomasterfrom
old_pony_5262

Conversation

@IgorDeepakM
Copy link
Copy Markdown
Owner

No description provided.

SeanTAllen and others added 4 commits April 28, 2026 14:13
ponyc 0.61.1 introduced an embedded LLD and took over libc CRT object
discovery in find_libc_crt_dir. The candidate list only covered
Debian/Ubuntu locations, so on Fedora and other RPM-based distros
(RHEL, CentOS, Rocky, openSUSE) crt1.o went unfound and linking
failed with "could not find libc CRT objects in sysroot ''".

Add /usr/lib64 and /lib64 to the candidate list and update the
matching error message in resolve_sysroot.
…#5264)

Refactor _RoundTripCheck: merge params, decouple position, rename

Merge lsp_range/lsp_context/lsp_extra_params into lsp_params():
  All optional request parameters are now returned as a single
  JsonObject merged key-by-key into the request params. The harness
  no longer needs per-feature match blocks in _dispatch.

Decouple position from the harness:
  Position is no longer built unconditionally by _dispatch. Checkers
  that need it include "position" in lsp_params(); position-less
  methods (documentSymbol, foldingRange, inlayHints, selectionRange,
  workspace/symbol) no longer receive a spurious position field.
  _LspPosition is deleted; action IDs are derived from digestof checker
  so call sites need no dummy (line, char) discriminators.

Rename _ResponseChecker to _RoundTripCheck:
  Moved to _round_trip_check.pony. The new name reflects that the
  interface covers both sides of the LSP exchange, not just response
  validation.

Add comments to _RoundTripCheck interface methods.
On a multilib host, find_libc_crt_dir returns the first directory
containing a crt1.o, regardless of architecture. On x86_64 Fedora with
glibc-devel.i686 installed, /usr/lib/crt1.o is the 32-bit object and
/usr/lib64/crt1.o is the 64-bit one — the search returns /usr/lib and
the link fails inside LLD with an arch-mismatch error.

Mirror what find_ponyc_crt_dir already does: thread the target arch
through and reject candidates whose crt1.o doesn't match. Validating
crt1.o alone is sufficient because multilib distros ship matched
startup-object sets per directory.

Closes #5261
Fix LSP tests: log server error responses before checker validation

When the LSP server returns a response with `err` set, log the error
code and message before calling the checker. Success-path checkers that
receive an unexpected error now produce a diagnostic line explaining
what the server said, rather than a silent assertion failure like
"expected hover, got null". Error-expecting checkers (_RenameErrorChecker,
_PrepareRenameErrorChecker) are unaffected — they still inspect res.err
themselves.
@IgorDeepakM IgorDeepakM merged commit e0bdb2f into master Apr 28, 2026
4 checks passed
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