<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cie-pseudocode-compiler.git/lib/CodeGen/TypeSystem.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/TypeSystem.cc?h=main</id>
<link rel='self' href='https://git.ov4.org/cie-pseudocode-compiler.git/atom/lib/CodeGen/TypeSystem.cc?h=main'/>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/'/>
<updated>2026-10-22T15:21:11Z</updated>
<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>feat(codegen): accept pointer types to any C type in EXTERN</title>
<updated>2026-10-22T13:56:44Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T13:56:44Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=312a19c781da1c31ff1e3dc71c319663a8be9148'/>
<id>urn:sha1:312a19c781da1c31ff1e3dc71c319663a8be9148</id>
<content type='text'>
A pseudocode pointer type now counts as a C type, in EXTERN signatures
and as a C-struct field, when it finally points to a non-void C type or a
C struct, as in TYPE PInt = ^C_INT. A pointer cycle such as TYPE P = ^P
and a pointer to a pseudocode type stay rejected.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(codegen): accept pointers to C-struct records in EXTERN signatures</title>
<updated>2026-10-22T13:27:15Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T13:27:15Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=4a70e44f06e637762eec0fd875eb94b84c3f4037'/>
<id>urn:sha1:4a70e44f06e637762eec0fd875eb94b84c3f4037</id>
<content type='text'>
A TYPE record whose fields are all C types, C structs or pointer types to
C structs now crosses the EXTERN "C" boundary through a pointer type.
Records by value are rejected for now, and a pointer to a record with a
non-C field names that field.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): make importCType private and reuse registerType's entry</title>
<updated>2026-10-22T03:58:36Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:30:36Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=a84128bbc1b69ab5b763d2c607b6f9f1c667802b'/>
<id>urn:sha1:a84128bbc1b69ab5b763d2c607b6f9f1c667802b</id>
<content type='text'>
importCType is only called from TypeSystem's own methods. declareUserType
now sets IsClass through the entry registerType returns instead of looking
the name up again.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): remove dead code in type system and runtime checks</title>
<updated>2026-10-22T03:58:36Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:24:18Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=e575826c287f0dd0afeb1b9c6c8db45fb44c8d26'/>
<id>urn:sha1:e575826c287f0dd0afeb1b9c6c8db45fb44c8d26</id>
<content type='text'>
Drop the unused TypeInfo::isNumeric, pass emitCheck's format arguments
straight to emitStderr, remove unused &lt;cctype&gt;/&lt;cstdio&gt; includes and
turn always-true trailing operator tests in ArithmeticHandler into plain
returns.

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>
<entry>
<title>refactor(strings): replace compiler builtins with the STRING library</title>
<updated>2026-10-20T11:57:16Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-20T11:57:16Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=62b605c6c0ea13e9763c0a0115464007b13a8831'/>
<id>urn:sha1:62b605c6c0ea13e9763c0a0115464007b13a8831</id>
<content type='text'>
Construct literals as STRING values and route string operations through
ordinary library functions and operators. Preserve value ownership in
records, arrays, constants and file I/O.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(driver): compile multiple source files with INCLUDE visibility</title>
<updated>2026-10-17T09:13:32Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-17T09:13:32Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=e1f41ed9fafaf7eb4f2da6878a3fabcf2f7c021e'/>
<id>urn:sha1:e1f41ed9fafaf7eb4f2da6878a3fabcf2f7c021e</id>
<content type='text'>
Reject builds without an entry program and duplicate cross-file definitions.
Preserve source order for each unit's own constants and import visible exports.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(classes): allocate objects with NEW and rebind named class variables</title>
<updated>2026-10-17T06:54:32Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-17T06:54:32Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=74b6d06711afd3efbbc47436f1491900994313f3'/>
<id>urn:sha1:74b6d06711afd3efbbc47436f1491900994313f3</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(compiler): correct CIE semantics and diagnostic locations</title>
<updated>2026-10-16T13:21:05Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-16T13:21:05Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=e44bdc6a2a0cf624b08046ecc7e5c5d5d9d2d66c'/>
<id>urn:sha1:e44bdc6a2a0cf624b08046ecc7e5c5d5d9d2d66c</id>
<content type='text'>
Use standard WHILE headers and default-public class fields, resolve
pseudocode identifiers without case sensitivity, and check signed i64
literal boundaries before conversion. Preserve source locations across
recursive emission and function diagnostics.

Add 22 regression cases and update compiler examples and documentation.
Validated all 69 CTest entries with the original Linux Actions seed and
verified the release package's embedded, native and IR output paths.
</content>
</entry>
</feed>
