<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cie-pseudocode-compiler.git/lib/CodeGen/CodeGen.cc, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>https://git.ov4.org/cie-pseudocode-compiler.git/atom/lib/CodeGen/CodeGen.cc?h=main</id>
<link rel='self' href='https://git.ov4.org/cie-pseudocode-compiler.git/atom/lib/CodeGen/CodeGen.cc?h=main'/>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/'/>
<updated>2026-10-27T14:00:16Z</updated>
<entry>
<title>feat(library)!: replace #LIB with __LIB source regions</title>
<updated>2026-10-27T14:00:16Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-27T14:00:16Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=3d7d1d7cf8685f0d9230cd89d06017869da1c6d8'/>
<id>urn:sha1:3d7d1d7cf8685f0d9230cd89d06017869da1c6d8</id>
<content type='text'>
Track library mode by original source line, including deferred template bodies
and automatic object cleanup. Update call lines from ordinary code and migrate
the embedded standard library to PP_DEFINE __LIB.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(memory)!: move allocation functions into memory.cps</title>
<updated>2026-10-27T13:27:14Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-27T13:27:14Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=0dd0b0908300eee08a06ee51d9eb48b85fd97d74'/>
<id>urn:sha1:0dd0b0908300eee08a06ee51d9eb48b85fd97d74</id>
<content type='text'>
Route keyword NEW and DELETE through the same library runtime and retain
allocation tracking, runtime diagnostics and exception behavior.

BREAKING CHANGE: -no-std programs using NEW or DELETE must explicitly import memory.cps.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(input)!: validate INPUT and read whole lines into STRING</title>
<updated>2026-10-22T15:35:05Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T15:33:17Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=8745f421b4cf7e1d54c17a360d46fab889ca12cc'/>
<id>urn:sha1:8745f421b4cf7e1d54c17a360d46fab889ca12cc</id>
<content type='text'>
Scalar INPUT now reads one whitespace-delimited token through module-local
IR helpers instead of scanf, then skips spaces and tabs and consumes one
newline. INTEGER, REAL, BOOLEAN (TRUE or FALSE in any case) and CHAR are
validated, and bad input or end of input is a runtime error. STRING INPUT
reads the rest of the line. The unused scanf and REAL printf format globals
are removed.

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(codegen): raise a runtime error when a FUNCTION ends without RETURN</title>
<updated>2026-10-22T15:21:11Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T15:12:43Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=98ef8bc4dfcebe44eece933ff0affc776b7199dd'/>
<id>urn:sha1:98ef8bc4dfcebe44eece933ff0affc776b7199dd</id>
<content type='text'>
Report the function and its header line, then throw, instead of silently
returning zero. FUNCTION MAIN keeps its implicit result.

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(codegen): skip IR verification after reported errors</title>
<updated>2026-10-22T15:21:11Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T15:02:29Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=353c38e23108856daa2c5d0e86443ac5136dcaa7'/>
<id>urn:sha1:353c38e23108856daa2c5d0e86443ac5136dcaa7</id>
<content type='text'>
Verify the module only when no error was reported, and let defineRecord
skip bad fields and still set the record body, marking it Invalid so
later missing-field lookups stay silent.

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): move call marshalling and resolution into CallGen.cc</title>
<updated>2026-10-22T04:40:15Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T04:40:15Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=31e443264ac621b812ec5a1a5b0f4b67e4cc25e3'/>
<id>urn:sha1:31e443264ac621b812ec5a1a5b0f4b67e4cc25e3</id>
<content type='text'>
Pure move of both marshalCallArgs overloads, emitVariadicArgument and
resolveCall out of CodeGen.cc; no behavior change.

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): remove dead parameters, fields and branches</title>
<updated>2026-10-22T03:58:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:26:30Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=8c2a2b8f9b3f495f329b2ca3c2759e076f9554fd'/>
<id>urn:sha1:8c2a2b8f9b3f495f329b2ca3c2759e076f9554fd</id>
<content type='text'>
Drop the never-read StackObject::IsCopy flag and registerStackObject
parameter, the unused NewExprAST forward declaration, the unused Ret
parameter of FunctionGen::emitReturn and CG parameter of
ArrayHandler::loadElement, unused &lt;cstdio&gt; includes, and the
coerceValueToType early returns already covered by the exact LLVM type
check (builtin kinds always map to double/i64/i1/i8).

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(driver): color diagnostics like gcc with -fdiagnostics-color</title>
<updated>2026-10-21T14:06:54Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-21T14:06:54Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=899c2af576124df2918fd2ae976434df0ebbae5b'/>
<id>urn:sha1:899c2af576124df2918fd2ae976434df0ebbae5b</id>
<content type='text'>
Add -fdiagnostics-color[=auto|always|never] and -fno-diagnostics-color.
The default auto mode colors only a terminal stderr (TERM set and not
dumb on Unix; a console that accepts VT sequences on Windows), so test
harnesses, the desktop bundle and other pipes stay plain.

Every diagnostic label now comes from cps::diagnosticPrefix, which emits
gcc's default GCC_COLORS bytes: bold locus, bold red error/fatal error,
bold magenta warning, bold cyan note. compilation terminated., runtime
messages of the compiled program and lld output are unchanged.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(diagnostics): print source diagnostics in gcc file:line: layout</title>
<updated>2026-10-21T14:03:31Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-21T14:03:31Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=b4ffb2d9498560557821714e2d4651279dd6817c'/>
<id>urn:sha1:b4ffb2d9498560557821714e2d4651279dd6817c</id>
<content type='text'>
Lexer, parser, driver and codegen diagnostics now read
"&lt;path&gt;:&lt;line&gt;: error: &lt;message&gt;" instead of "error: &lt;message&gt; at line N
in &lt;path&gt;". The path is always printed as given on the command line.
Call sites pass the bare message to cps::sourceError/sourceWarning, which
carry printf format checking; reportError routes through the same helper.

The suite iii harness parses the new layout and matches the reason
against the message only. iii/template-class-pack-field passed only
because its reason regex matched the case path, so it is now
case-insensitive.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(codegen): instantiate class templates</title>
<updated>2026-10-21T06:14:00Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-21T06:14:00Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=db8c7f14d2f74c3db205782acf8222cb7d91a047'/>
<id>urn:sha1:db8c7f14d2f74c3db205782acf8222cb7d91a047</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
