<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cie-pseudocode-compiler.git/lib/CodeGen/ConstructorGen.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/ConstructorGen.cc?h=main</id>
<link rel='self' href='https://git.ov4.org/cie-pseudocode-compiler.git/atom/lib/CodeGen/ConstructorGen.cc?h=main'/>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/'/>
<updated>2026-10-30T14:31:07Z</updated>
<entry>
<title>refactor(strings): construct string values implicitly from raw literals</title>
<updated>2026-10-30T14:31:07Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-30T14:31:07Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=0cf54b4f77ccf8376341950b02ceb7c1d1268ed7'/>
<id>urn:sha1:0cf54b4f77ccf8376341950b02ceb7c1d1268ed7</id>
<content type='text'>
Keep double-quoted literals and text constants as C_STRING values. Use
marked STRING constructors for text and CHAR conversion, preserving
string operations and I/O through the existing class machinery.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<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(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(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>feat(codegen): convert implicitly between CHAR and STRING</title>
<updated>2026-10-22T15:32:49Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T15:32:49Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=713a313b06256a13ddefa5e257e3b80f8aa808ba'/>
<id>urn:sha1:713a313b06256a13ddefa5e257e3b80f8aa808ba</id>
<content type='text'>
A CHAR becomes a one-character STRING in &amp;, comparisons, assignment,
parameter passing and RETURN. A STRING becomes a CHAR in assignment,
parameter passing and RETURN, with a runtime error when its length is
not 1. CHAR with INTEGER or BOOLEAN still does not convert.

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(classes): defer NEW for DECLARE without a parameterless constructor</title>
<updated>2026-10-22T15:21:11Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T15:17:31Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=fe70048b33baebdfbf7071059bd4742ec16ab408'/>
<id>urn:sha1:fe70048b33baebdfbf7071059bd4742ec16ab408</id>
<content type='text'>
A plain DECLARE, field or array element now calls NEW only when the class
has a parameterless one; otherwise the zeroed object waits for
x &lt;- NEW C(...), as in guide section 10.2. DECLARE with parentheses still
requires a matching constructor.

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(arrays): free array buffers when their scope ends</title>
<updated>2026-10-22T15:21:11Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T15:08:51Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=8b6ba7222d9990bc19e355eabcf046a7ea773545'/>
<id>urn:sha1:8b6ba7222d9990bc19e355eabcf046a7ea773545</id>
<content type='text'>
Register every array as a stack object so its buffer is freed on scope
end, re-DECLARE, RETURN and unwinding; run the element-destroy loop only
for types that need destruction.

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): share record field default construction</title>
<updated>2026-10-22T03:58:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:49:08Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=5fdea7e2edd534d15eff95efb33336430d7b4872'/>
<id>urn:sha1:5fdea7e2edd534d15eff95efb33336430d7b4872</id>
<content type='text'>
copyClassValue, emitConstruct and emitStringFromCString each walked the
record fields and default-constructed those that need it. Move the loop
into a private emitFieldDefaults helper; each caller passes the same line
as before.

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>
</feed>
