Evan Haas
Evan Haas
The following initializes elements 0-4 (inclusive) to `42`: ```c int x[5] = {[0 ... 4] = 42}; ```
I started working on an assembly backend and one thing I ran into is needing the value of initializer nodes that are the result of an expression. For example given...
Once this PR is merged: https://github.com/ziglang/zig/pull/21599 See comment here: https://github.com/ziglang/zig/pull/21599#discussion_r1788455938
This works in clang but not GCC: ```c _Static_assert("hello"[0] == 'h', ""); _Static_assert(("hello" + 1)[0] == 'e', ""); _Static_assert((&("hello"[1]))[0] == 'e', ""); _Static_assert((("hello" + 1) - 1)[0] == 'h', "");...
`__VA_OPT__` should be stringizable and its parameters should be macro-substituted. ```c #define FOO BAR #define M(x, y, ...) #__VA_OPT__(y ## x __VA_ARGS__) M(a, b, FOO) ``` Should produce `"ba BAR"`;...
Not sure how I missed this one but `char8_t` is a distinct type that is not the same as char, signed char, or unsigned char: https://godbolt.org/z/zEe9jcxqr - currently we just...
When using the assembly backend (`-O0`) temporary `.s` files are sometimes generated so they can be passed to the assembler, similarly to how temporary `.o` files are generated to be...
Currently the following does not work ```c _Static_assert(42i == 42i, ""); ```
This is meant to silence most of the 5 million warnings we currently get when parsing Python.h. I can do a follow-up PR after this to add `#pragma GCC visibility`...
This should be a single pointer to a single pointer, but the attribute gets applied twice to the outer pointer: ```c #include void foo(int *__single *__single p) { p[0][5] =...