<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cie-pseudocode-compiler.git/include/cps/FunctionGen.h, 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/include/cps/FunctionGen.h?h=main</id>
<link rel='self' href='https://git.ov4.org/cie-pseudocode-compiler.git/atom/include/cps/FunctionGen.h?h=main'/>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/'/>
<updated>2026-10-30T14:23:32Z</updated>
<entry>
<title>feat(types): support implicit single-argument constructors</title>
<updated>2026-10-30T14:23:32Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-30T14:23:32Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=4cb0d9b196008bc55dbfcdac1f9211dbbc879895'/>
<id>urn:sha1:4cb0d9b196008bc55dbfcdac1f9211dbbc879895</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(overload): support default return types</title>
<updated>2026-10-28T13:36:16Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-28T13:36:16Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=b28384fed1ce638e8b00b72dba974e9fd7e55eb4'/>
<id>urn:sha1:b28384fed1ce638e8b00b72dba974e9fd7e55eb4</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(overload): select overloads by return type as well as parameters</title>
<updated>2026-10-24T18:01:36Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-24T18:01:36Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=0900667401415a0914b8a1510543c7c7eaf32e53'/>
<id>urn:sha1:0900667401415a0914b8a1510543c7c7eaf32e53</id>
<content type='text'>
Co-Authored-By: Claude Opus 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>feat(codegen): pass C-struct records by value as variadic arguments</title>
<updated>2026-10-22T13:51:44Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T13:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=5eccd90b47b327917ad0e5858c79ca8fab27cd74'/>
<id>urn:sha1:5eccd90b47b327917ad0e5858c79ca8fab27cd74</id>
<content type='text'>
A variadic EXTERN call is now arranged by clang per call, from the fixed
parameter count and the promoted argument types. C-struct records pass
unchanged in variadic positions, as C11 6.5.2.2p6-7 and 7.16.1.1p2
allow; a record that is not a C struct names the offending field.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(codegen): arrange EXTERN signatures with clang's C ABI</title>
<updated>2026-10-22T13:43:50Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T13:43:50Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=06538905915b15bde6364459929fe89cf0b8de5c'/>
<id>urn:sha1:06538905915b15bde6364459929fe89cf0b8de5c</id>
<content type='text'>
Every EXTERN "C" signature is now arranged by clang's CodeGen
(arrangeFreeFunctionCall) for the host triple and applied by one generic
lowering routine, replacing the hand-written signext/zeroext rule.
clangCodeGen is linked statically into CPSCodeGen. Records still cross
only through pointer types, so generated code is unchanged.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): extract FunctionGen prototype validation</title>
<updated>2026-10-22T03:58:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:36:25Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=0798836375047a051ad4bffa500e8e819fd51c5e'/>
<id>urn:sha1:0798836375047a051ad4bffa500e8e819fd51c5e</id>
<content type='text'>
Move the copy-constructor, operator, MAIN OVERLOAD and reserved, builtin,
enum and type name checks at the start of emitPrototype into a private
validatePrototype helper.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): narrow FunctionGen's call and type helpers</title>
<updated>2026-10-22T03:58:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:30:26Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=f5e6f11dc057d4cef59642efbcb502e002c13977'/>
<id>urn:sha1:f5e6f11dc057d4cef59642efbcb502e002c13977</id>
<content type='text'>
Make getLLVMType and the link-name emitCall overload private, inline the
single-use GenerateCall helper into that overload, and drop the argument
setName calls in createArgumentAllocas that repeat the names emitPrototype
already assigned. The undefined-function diagnostic stays: a link name can
be shadowed by another module global (e.g. FUNCTION stderr).

Co-Authored-By: Claude Opus 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(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>
</feed>
