zig/deps/aro
Andrew Kelley 3fc6fc6812 std.builtin.Endian: make the tags lower case
Let's take this breaking change opportunity to fix the style of this
enum.
2023-10-31 21:37:35 -04:00
..
builtins sync Aro dependency 2023-10-17 11:55:01 +03:00
codegen add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Driver add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
object add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
pragmas sync Aro dependency 2023-10-17 11:55:01 +03:00
toolchains add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Attribute.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
Builtins.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
CharInfo.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
CharLiteral.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
Codegen_legacy.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
CodeGen.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
Compilation.zig std.builtin.Endian: make the tags lower case 2023-10-31 21:37:35 -04:00
Diagnostics.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
Driver.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
features.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
InitList.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Interner.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Ir.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
LangOpts.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
lib.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
number_affixes.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Object.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Parser.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
Pragma.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Preprocessor.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
README.md sync Aro dependency 2023-10-17 11:55:01 +03:00
record_layout.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Source.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
StringInterner.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
SymbolStack.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
target.zig std.builtin.Endian: make the tags lower case 2023-10-31 21:37:35 -04:00
Tokenizer.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
Toolchain.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Tree.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
Type.zig sync Aro dependency 2023-10-17 11:55:01 +03:00
util.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00
Value.zig add Aro sources as a dependency 2023-10-01 23:51:54 +03:00

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!
$