kimixa
23 minutes ago
Man I can't wait for tcc to be reposted for the 4th time this week with the license scrubbed and the comment of "The Latest AI just zero-shotted an entire C compiler in 5 minutes!"
23 minutes ago
Man I can't wait for tcc to be reposted for the 4th time this week with the license scrubbed and the comment of "The Latest AI just zero-shotted an entire C compiler in 5 minutes!"
an hour ago
There is an actively maintained fork with RISC-V support and such
42 minutes ago
I've never seen another repo with public commit access like that. I guess the project is niche enough that you don't get spammed with bad or malicious commits.
35 minutes ago
Yeah it's basically anarchy (to some extent)
>The idea is to provide unmoderated side channel for random contributors to work on a project, with similar rationale as e.g. Wikipedia - that given enough interested people, the quality will grow rapidly and occassional "vandalism" will get fixed quickly. Of course this may not work nearly as well for software, but here we are, to give it a try.
27 minutes ago
It is also interesting to note that while the repository is quite active, there has not been any release for _8 years_, and the website is the same one at the top of this conversation, i.e. the one where the old maintainer says he quit and the benchmarks are from 20 years ago.
A small and minimalistic C compiler is actually a very important foundational project for the software world IMNSHO.
I'm definitely reminded of: https://xkcd.com/2347/
5 minutes ago
I mixed it up with LCC which was used in Quake 3. Still this is pretty cool.
17 minutes ago
Used in the impressive Guix bootstrap.
https://guix.gnu.org/manual/1.5.0/en/html_node/Full_002dSour...
23 minutes ago
Does anyone use libtcc for a scripting language backend? Smaller and faster than llvm. You'd have to transpile to a C ast I imagine.
5 minutes ago
Years ago I built a scripting language that transpiled to TCC and then compiled to machine code in memory. It produced human-readable C code so it was very easy to get going: when debugging I could just look at the generated C code without having to learn any special infrastructure/ecosystem/syntax etc. Plus basically zero-overhead interop with C out of the box (although a few differences in calling convention between TCC and GCC bit me once). Another feature I had was "inline C" if you wanted to go low level, it was super trivial to add, too. It was pretty fast, maybe two times slower than GCC, IIRC, but more than enough for a scripting language.
18 minutes ago
libtcc doesn't give you much control AST wise, you basically just feed it strings. I'm using it for the purpose you mentioned though--scripting language backend--since for my current "scripting-language" project I can emit C89, and it's plenty fast enough for a REPL!
/* add a file (either a C file, dll, an object, a library or an ld script). Return -1 if error. */
int tcc_add_file(TCCState *s, const char *filename);
/* compile a string containing a C source. Return non zero if error. */
int tcc_compile_string(TCCState *s, const char *buf);21 minutes ago
TCC is fantastic! I use it a lot to do fast native-code generation for language projects, and it works really really well.
42 minutes ago
TCC is fantastic! Very hackable, easy to compile to WASM for some interesting in-browser compilation
an hour ago
There also is an unofficial mirror which has updates.
an hour ago
This was the compiler I was required to use for my courses in university. GCC was forbidden. The professor just really liked tcc for some reason.
40 minutes ago
Seems like a good way to get students to write C rather than GNU C.
23 minutes ago
TCC - just like many other C compilers - supports many GNU extensions.
24 minutes ago
The professor could have just insisted on `-std=c99` or a similar GCC flag which disallows GNU extensions.
When I taught programming (I started teaching 22 years ago), the course was still having students either use GCC with their university shell accounts, or if they were Windows people, they would use Borland C++ we could provide under some kind of fair use arrangement IIANM, and that worked within a command shell on Windows.
an hour ago
What a blast from the past TCC!
Sad but not surprised to see it's no longer maintained (8 years ago!).
Even in the era of terabyte NVMe drives my eyes water when I install MSVC (and that's usually just for the linker!)
an hour ago
I don't think it is not maintained, there is plenty of activity going on in the repo: https://repo.or.cz/tinycc.git, they just don't seem to be cutting releases?
16 minutes ago
Still maintained. You have the mob repo in another comment.
Debian, Fedora, Arch and others pull their package from the mob repo. They're pretty good at pulling in CVE fixes almost immediately.
Thomas Preud'homme is the new maintainer lead, though the code is a mob approach.
an hour ago
That is, I believe, one the points of AI and Open Source many contacts. Something like TCC, with a good coding agent and a developer that cares about the project, and knows enough about it, can turn into a project that can be maintained without the otherwise large efforts needed, that resulted into the project being abandoned. I'm resurrecting many projects of mine I had no longer the time to handle, like dump1090, linenoise, ...
an hour ago
There's still activity on the mailing list. It may still be maintained.
https://lists.nongnu.org/archive/html/tinycc-devel/2026-02/t...