static inline C functions (mingw's printf and time), macOS libraries that call their host, lld's missing-library message

- a static inline function in a header is called through a pointer a small C file keeps
  (void *finch_inl_f = &f), built with the program's include folders and cached
- --shared on macOS links with -undefined dynamic_lookup, as a .so does on Linux
- "unable to find library -lx" (lld, MinGW) gives the library-not-found advice
- the language server test shows the index records when alias completion fails

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016GzNP6r8dg6WDxUVZy8wjL
This commit is contained in:
Nexoniarz 2026-10-29 11:53:24 +01:00
commit ff72f68804
8 changed files with 81 additions and 13 deletions

View file

@ -204,7 +204,12 @@ e3 = src3.replace(" print(", " pt.\n print(")
c.notify("textDocument/didChange", {"textDocument": {"uri": uri3, "version": 2}, "contentChanges": [{"text": e3}]})
comp = c.request("textDocument/completion", {"textDocument": {"uri": uri3}, "position": {"line": 3, "character": 7}})
labels = [i["label"] for i in comp["items"]]
check("completion: a module under another name", "base" in labels and "join" in labels, labels)
ok3 = "base" in labels and "join" in labels
if not ok3: # show what the compiler's index says about the module, to see where the names differ
import subprocess
idx = subprocess.run([FINCH, "index", path3], capture_output=True, text=True).stdout
labels = [l for l in idx.splitlines() if l.startswith("@I") or (l.startswith("@F") and "base" in l)][:6]
check("completion: a module under another name", ok3, labels)
c.request("shutdown", None)
c.notify("exit", None)