<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/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-03-17T12:22:00+00:00</updated>
<entry>
<title>REFACTOR: move sources to src/</title>
<updated>2026-03-17T12:22:00+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-17T12:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=a8d6f8bf30c07edb775e56889f568ca20240bedf'/>
<id>urn:sha1:a8d6f8bf30c07edb775e56889f568ca20240bedf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>eval: fix errata with ELOGIOR, also rename lhs &amp; rhs</title>
<updated>2026-03-15T17:09:39+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-15T17:09:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=10eedb2f980a3272e9a08aff09f9cd2118b31fdb'/>
<id>urn:sha1:10eedb2f980a3272e9a08aff09f9cd2118b31fdb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>eval &amp; fold: handle division overflow for MIN/-1</title>
<updated>2026-03-14T16:46:57+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-14T16:39:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=de8673af7c0885201f284ffd8851ece2cde8cb18'/>
<id>urn:sha1:de8673af7c0885201f284ffd8851ece2cde8cb18</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c: static eval refactoring</title>
<updated>2026-03-14T16:46:54+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-14T16:27:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=42ce457bba06bd3607fc04700a919b6c395f22c3'/>
<id>urn:sha1:42ce457bba06bd3607fc04700a919b6c395f22c3</id>
<content type='text'>
Explicit node for static symbol (addresses). Should not break with edge
cases like the previous ad-hoc approach. And some other bugfixes
</content>
</entry>
<entry>
<title>c: relax constexpr constraints, fix alignof</title>
<updated>2026-03-09T09:24:39+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-09T09:24:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=1529b5221389c75371d0f3f181957a77a158a53c'/>
<id>urn:sha1:1529b5221389c75371d0f3f181957a77a158a53c</id>
<content type='text'>
- Allow short-circuiting of constant logical expressions where the
  unevaluated operand is not a constant expression (`1 || 0/0`)

- Allow constant integer expressions that evaluate to zero to be used
  as null pointer constants (GNU extension).

    + According to the standard, `int *x = 5*0;` should be rejected.
      But compilers evaluate `5*0 -&gt; 0` and allow it as if a null pointer
      literal.
</content>
</entry>
<entry>
<title>c: do not try to eval conditional expression's not taken branch</title>
<updated>2026-03-05T17:15:21+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-05T17:15:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=1ec29c2bb4350d09ee34b8eff53b9974fcc0a81f'/>
<id>urn:sha1:1ec29c2bb4350d09ee34b8eff53b9974fcc0a81f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c: static intializer bugfix introduced in6c3f1593e9</title>
<updated>2026-02-28T08:50:06+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-02-28T08:50:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=05ffd40b4c7a300387fa1fb67f8e4dbb8ee411e6'/>
<id>urn:sha1:05ffd40b4c7a300387fa1fb67f8e4dbb8ee411e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c: allow casting of symbol address to intptr_t in static initializers</title>
<updated>2026-02-25T16:57:39+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-02-25T16:57:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=6c3f1593e953393f4b9329a0c47c5af0a587c8c9'/>
<id>urn:sha1:6c3f1593e953393f4b9329a0c47c5af0a587c8c9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c: support at least parsing C99 _Complex types</title>
<updated>2026-01-25T11:58:22+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-01-25T11:58:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=f9f0789e58be01b7169712d64af9443a35392fbf'/>
<id>urn:sha1:f9f0789e58be01b7169712d64af9443a35392fbf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c: SYM expr should store decl ref as an index, not pointer</title>
<updated>2025-12-30T09:37:13+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-30T09:34:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=e77538515802276d76dfcb28c9b8dc140d5afe02'/>
<id>urn:sha1:e77538515802276d76dfcb28c9b8dc140d5afe02</id>
<content type='text'>
Because envdecls (now declsbuf) can be resized and invalidate those
pointers. I missed this because the default initialization size of that
buffer (and the fact that it would mostly only manifest with
function-local expressions) made it not really come up in practice.
Silly
</content>
</entry>
</feed>
