<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/src/c_eval.c, branch trunk</title>
<subtitle>A little C compiler</subtitle>
<id>https://git.lemon.rip/antcc/atom?h=trunk</id>
<link rel='self' href='https://git.lemon.rip/antcc/atom?h=trunk'/>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/'/>
<updated>2026-04-18T17:48:03+00:00</updated>
<entry>
<title>eval/tryreadconst: fix for local decls</title>
<updated>2026-04-18T17:48:03+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-18T17:48:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=2a07b1fae89dd3efc4c4898b2794a2b3b337987d'/>
<id>urn:sha1:2a07b1fae89dd3efc4c4898b2794a2b3b337987d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>frontend: allow folding some non constant expressions as a GNU extension</title>
<updated>2026-04-18T14:59:16+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-18T14:59:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=554fb8de87bb2e37715dbcc70efc27274b041014'/>
<id>urn:sha1:554fb8de87bb2e37715dbcc70efc27274b041014</id>
<content type='text'>
And also permit zero size objects
</content>
</entry>
<entry>
<title>c: allow compile time eval of left-shifting negative value</title>
<updated>2026-04-18T09:13:44+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-18T09:13:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=0178e0161f46bd396c2282207ea1894b295f692e'/>
<id>urn:sha1:0178e0161f46bd396c2282207ea1894b295f692e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>C99 complex types MVP</title>
<updated>2026-04-13T17:30:01+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-13T17:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=ddbd42e66cc71b470730037d76f4f267e98d8d40'/>
<id>urn:sha1:ddbd42e66cc71b470730037d76f4f267e98d8d40</id>
<content type='text'>
Missing: static eval of complex values,

Silly inefficient implementation of equality comparisons between them

The whole thing is pretty inefficient without proper aggregate mem2reg
anyway
</content>
</entry>
<entry>
<title>style: change uvlong -&gt; u64int, vlong -&gt; s64int</title>
<updated>2026-03-22T21:00:35+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-22T21:00:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=7c5dd45eca377a3b675b6f0d4a9331bc3f971ac9'/>
<id>urn:sha1:7c5dd45eca377a3b675b6f0d4a9331bc3f971ac9</id>
<content type='text'>
Is much nicer. I don't know whether I want to do it for the other int
types too. char and uchar are fine as bytes. u/short -&gt; u/s16int, maybe.
</content>
</entry>
<entry>
<title>eval: fix errata in EGETF addr case</title>
<updated>2026-03-22T16:22:15+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-22T16:22:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=2d0b096a8c2f45370ef2535e1c500a008b949611'/>
<id>urn:sha1:2d0b096a8c2f45370ef2535e1c500a008b949611</id>
<content type='text'>
The symref given by staticaddrof is in ex2, not sub. This worked by
chance (with sub-&gt;ssym.off happening to be zero) on linux, but on
OpenBSD it would give garbage. Which would result in messed up relocations
later leading to miscompilations.
</content>
</entry>
<entry>
<title>IR: add 3rd operand to Instr</title>
<updated>2026-03-22T09:49:26+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-21T21:20:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=79874c83bf76a5b3efd3d558933b90d9b53b829e'/>
<id>urn:sha1:79874c83bf76a5b3efd3d558933b90d9b53b829e</id>
<content type='text'>
The motivation is for aarch64 msub/madd instrs, for isel to produce. But
it should be useful for other things too.
</content>
</entry>
<entry>
<title>c: better preserve source location in some cases</title>
<updated>2026-03-20T07:32:12+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-20T07:32:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=31032275a618f74865bdc877b569eae2227e79b4'/>
<id>urn:sha1:31032275a618f74865bdc877b569eae2227e79b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c: fix edge cases with zero sized bitfields and static initializers</title>
<updated>2026-03-18T22:10:25+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-18T22:10:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=1b782f049fa96d7ebccf93ad2b05fc30b938c870'/>
<id>urn:sha1:1b782f049fa96d7ebccf93ad2b05fc30b938c870</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor: use typedefs and CamelCase for aggregate types</title>
<updated>2026-03-18T10:33:41+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-18T10:33:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=1d9e19fb3bb941cdc28e9d4c3063d3e213fd8312'/>
<id>urn:sha1:1d9e19fb3bb941cdc28e9d4c3063d3e213fd8312</id>
<content type='text'>
Looks nicer
</content>
</entry>
</feed>
