aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-17 15:50:33 +0000
committer_ov4 <ov4@ov4.org>2026-10-17 15:50:52 +0000
commit8754a17536aa70e1e4ed3b9f8e9d03727ef2c3ef (patch)
tree2f82c45218425d07bef095f525e56e64fbd0e26c
parent3535baac17d456bc3731e685af1a00fe4aa404d1 (diff)
docs(agents): note Windows JIT msvcrt symbol lookup for EXTERN
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
-rw-r--r--AGENTS/PITFALLS.md2
-rw-r--r--AGENTS/SUBSYSTEMS.md3
2 files changed, 4 insertions, 1 deletions
diff --git a/AGENTS/PITFALLS.md b/AGENTS/PITFALLS.md
index e7047cf..3198852 100644
--- a/AGENTS/PITFALLS.md
+++ b/AGENTS/PITFALLS.md
@@ -153,6 +153,8 @@ test programs.
Only `.o` user objects; INCLUDE_OBJ is global across inputs. `-S` does not link them.
Identical EXTERN redeclarations (same or other files, CIdentity-equal types) are allowed;
differing ones fail. Two EXTERNs differing only in case conflict (pseudocode names are case insensitive).
+ Windows `-r` resolves C symbols from msvcrt.dll before the process-wide search: ucrtbase.dll
+ may also be loaded, and its separate stdout buffer reorders EXTERN output against OUTPUT.
## Not implemented (9618 features)
diff --git a/AGENTS/SUBSYSTEMS.md b/AGENTS/SUBSYSTEMS.md
index 5a57340..ac31cde 100644
--- a/AGENTS/SUBSYSTEMS.md
+++ b/AGENTS/SUBSYSTEMS.md
@@ -56,7 +56,8 @@ resolves INCLUDE_OBJ paths, reads defined global symbols with `llvm::object`
(`collectObjectSymbols`; `"__libc"` uses `collectLibcSymbols` over the embedded runtime's
libc/libm inputs, copied to aligned buffers), rejects missing symbols, and passes objects
to `compileNative`, `runEmbedded` (`addObjectFile`) or lli (`-extra-object=`).
-Linux EMBEDDED and PATH (lli) runs are verified; the Windows/macOS libc file-name rules are not.
+On Windows, `runEmbedded` adds a msvcrt.dll search generator ahead of process symbols.
+Linux EMBEDDED and PATH (lli) runs are verified locally; Windows and macOS pass CI (extern-libc).
**User types** (`TypeSystem` + `Designator.cc` + `TypeCheckGen.cc`):
`Designator.cc` owns the type pre-pass and lvalue access; `TypeCheckGen.cc` owns