<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/src/c_type.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-18T09:09:17+00:00</updated>
<entry>
<title>c: fix some compatible type declarations</title>
<updated>2026-04-18T09:09:17+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-18T09:09:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=970508c5221f930937021203107ecbac5ac9960c'/>
<id>urn:sha1:970508c5221f930937021203107ecbac5ac9960c</id>
<content type='text'>
When K&amp;R prototypes are present, definition of compatible types and
composite types becomes recursive. For example

`int f(int (*)())`
should be compatible with
`int f(int (*)(int))`

etc
</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>frontend: accept zero size arrays and empty aggregates</title>
<updated>2026-04-13T07:45:28+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-04-13T07:45:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=b9de0c34a285aa0e3a7cfffb542732819adafd61'/>
<id>urn:sha1:b9de0c34a285aa0e3a7cfffb542732819adafd61</id>
<content type='text'>
GNU extension. Previously was overloading arraylength==0 to mean unsized
array, now they are distinct with the type flag TFUNKNOWN marking
unsized arrays &amp; aggregates.
</content>
</entry>
<entry>
<title>c: remove inline 'backing' type tag for enums</title>
<updated>2026-03-23T08:14:39+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-23T08:14:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=75c4a35e1884e64b6141df64a7df6293d38445b5'/>
<id>urn:sha1:75c4a35e1884e64b6141df64a7df6293d38445b5</id>
<content type='text'>
It was meant as a micro-optimization but actually keeping it in sync was
annoying. This for example was broken:

```
extern enum foo { ... } g_foo;
enum foo g_foo;
```
</content>
</entry>
<entry>
<title>Rework handling of predefined macros.</title>
<updated>2026-03-21T16:55:01+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-21T16:55:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=0e75fc383becccd113416677b7e26e0caf21e28b'/>
<id>urn:sha1:0e75fc383becccd113416677b7e26e0caf21e28b</id>
<content type='text'>
And add some GCC predefs like __SIZE_TYPE__, __LONG_SIZE__, etc
</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>
<entry>
<title>Refactor: move some utils from antcc.h to their own headers</title>
<updated>2026-03-17T17:30:37+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-17T17:30:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=04930d578e65d560253d0c24af43e0ecd06117c8'/>
<id>urn:sha1:04930d578e65d560253d0c24af43e0ecd06117c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>REFACTOR: finish renaming</title>
<updated>2026-03-17T15:10:00+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-17T12:43:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=3eeb6f219e4d32160fa10895b57a8ddfefff5ff7'/>
<id>urn:sha1:3eeb6f219e4d32160fa10895b57a8ddfefff5ff7</id>
<content type='text'>
</content>
</entry>
<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>
</feed>
