mirror of
https://github.com/ziglang/zig.git
synced 2026-01-11 18:05:11 +00:00
These arrays don't really all have an upper bound of 16; in fact they have different upper bounds. Presumably the reason 16 was used for all of them was to avoid code bloat with BoundedArray. Well, now even more code bloat has been eliminated because now it's using `ArrayList([]const u8)` which is certainly instantiated elsewhere. Furthermore, the different corrected upper bounds can be specified at each instance of the array list.
Aro
A C compiler with the goal of providing fast compilation and low memory usage with good diagnostics.
Aro is included as an alternative C frontend in the Zig compiler
for translate-c and eventually compiling C files by translating them to Zig first.
Aro is developed in https://github.com/Vexu/arocc and the Zig dependency is
updated from there when needed.
Currently most of standard C is supported up to C23 and as are many of the common extensions from GNU, MSVC, and Clang
Basic code generation is supported for x86-64 linux and can produce a valid hello world:
$ cat hello.c
extern int printf(const char *restrict fmt, ...);
int main(void) {
printf("Hello, world!\n");
return 0;
}
$ zig build run -- hello.c -o hello
$ ./hello
Hello, world!
$