| Age | Commit message (Collapse) | Author |
|
Build LLD from the installed LLVM version's official source release and
install static archives into the local build prefix. Include the Mach-O
unwind headers, preserve static library checks and document the setup.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Save native executables by default and LLVM IR with -S, using source-adjacent
.out and .ll names. Keep -r independent of output selection and update the
manuals and three-platform nightly smoke checks.
BREAKING CHANGE: plain compilation and -o now save native executables.
Use -S to save textual LLVM IR.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Link LLVM, the Clang driver and LLD statically, and embed native link inputs
so executable generation needs no installed development toolchain.
Keep glibc dynamically linked on Linux.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Size REAL buffers for the full fixed-point double range and bound writes with snprintf. Register MinGW CRT aliases for embedded execution.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
|
|
Check the selected lli only when PATH mode uses -r. Reject missing,
mismatched or unreadable versions before compiling or writing IR, and
limit version detection to five seconds. Keep unused tools unchecked.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Reject other compiler and LLVM major versions and remove GCC compiler
fallbacks. Adapt string globals, block termination checks and the embedded
target triple to LLVM 23 without changing pseudocode behavior.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Add TRY/CATCH/ENDTRY and anonymous THROW statements. Use LLVM exception
handling and the C++ ABI to propagate exceptions across function calls,
clean up catch state, and handle uncaught exceptions at the program boundary.
Register exception runtime symbols for the statically linked embedded runner.
Verify runtime checks, nested catches, returns, loops, and invalid syntax
with smoke programs; exercise unwinding with MCJIT, lli, and native binaries.
BREAKING CHANGE: Runtime check failures now throw anonymous exceptions and
print only a generic message when uncaught. Native binaries require linking
the C++ runtime.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Add EMBEDDED mode to run generated modules in-process without lli or PATH
lookup. Link LLVM and support archives plus the C++ runtime statically,
while retaining the system C runtime on Linux.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Require PATH or NONE at configure time. Reject -r before writing output
when lli is unavailable or execution is disabled.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
- MID/RIGHT/LEFT integer args now coerced at call sites (RIGHT(s, n/2)
no longer emits invalid IR); drop emitLeft's private conversion
- FOR loop direction decided at run time via select on STEP sign;
descending FOR works, STEP evaluated once per iteration
- ArrayHandler: extract emitCheckedIndices/loadElement; index count is
validated before emission, fixing a compiler-crash (vector OOB UB) on
OUTPUT with too many indices
- Error contract: Lexer/Parser/CodeGen track errors; all silent failure
paths now print Error: diagnostics with line numbers; unterminated
char literal no longer truncates the rest of the program; module is
verified with verifyModule; driver exits non-zero on any error
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
|