<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/c/c.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>c: default enum to unsigned int backing type</title>
<updated>2026-03-15T11:34:02+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-15T11:33:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=1e98f81dca72530198e4c4fd01012d459bc28316'/>
<id>urn:sha1:1e98f81dca72530198e4c4fd01012d459bc28316</id>
<content type='text'>
Matches GCC behavior.
</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: recognize another static initializer edge case</title>
<updated>2026-03-05T18:22:08+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-05T18:22:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=25a143d75df857c6b76c67a71a3683d0191c711b'/>
<id>urn:sha1:25a143d75df857c6b76c67a71a3683d0191c711b</id>
<content type='text'>
I think globsym &amp; expr2reloc should be rewritten to be more robust to
this kind of thing. Accumulate offsets whilst recursing into the child
node that might contain a direct global symbol reference kind of thing.
</content>
</entry>
<entry>
<title>add bswap16/32/64</title>
<updated>2026-03-02T16:52:57+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-02T16:52:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=f2285400e65dafe730a073b3ca92494d72c7295b'/>
<id>urn:sha1:f2285400e65dafe730a073b3ca92494d72c7295b</id>
<content type='text'>
- frontend: __builtin_bswapX intrinsics
- backend: ObswapX instructions
</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>C23 true and false keywords</title>
<updated>2026-02-24T13:08:35+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-02-24T13:08:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=6417c31a69ce06f35e00771fd2ecc87dbe48cd7a'/>
<id>urn:sha1:6417c31a69ce06f35e00771fd2ecc87dbe48cd7a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c: fix using string literal as conditional expression conditional</title>
<updated>2026-02-22T18:05:12+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-02-22T17:32:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=975d76cfc99fcf797ebe0ac254dd3252405bd778'/>
<id>urn:sha1:975d76cfc99fcf797ebe0ac254dd3252405bd778</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c: fix default argument promotion for function types</title>
<updated>2026-02-21T17:36:06+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-02-21T17:36:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=73340cf5c0db53af2ac3b246b8ff6a531d326006'/>
<id>urn:sha1:73340cf5c0db53af2ac3b246b8ff6a531d326006</id>
<content type='text'>
</content>
</entry>
</feed>
