From 09498bb7aab9182ba172aae1045ca895d4f422d4 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 17 Oct 2026 15:13:04 +0000 Subject: docs: document EXTERN and INCLUDE_OBJ Co-Authored-By: Claude Opus 5.5 --- AGENTS/ARCH.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'AGENTS/ARCH.md') diff --git a/AGENTS/ARCH.md b/AGENTS/ARCH.md index cb0bc20..0479641 100644 --- a/AGENTS/ARCH.md +++ b/AGENTS/ARCH.md @@ -25,7 +25,8 @@ imports cover standard C integer/real types, _Bool, void and object pointers. CScalar/CPointer identities are canonical C types, not pseudocode alias names; native widths and signedness come from sizeof/type traits, while floating formats come from numeric_limits (long double size alone is insufficient). Programs use -the compiler's build ABI; cross-target emission and EXTERN are not implemented. +the compiler's build ABI; cross-target emission is not implemented. EXTERN "C" +declarations call C functions from INCLUDE_OBJ objects (see SUBSYSTEMS.md). CTypeGen handles typed numeric conversions, casts, native arithmetic and I/O. Crossing C/pseudocode domains requires a cast, including literals. C arithmetic uses C++ promotions, except that / always returns pseudocode REAL. -- cgit v1.3.1-4-g156e