Evan Haas
Evan Haas
```c struct S { int x: 4; }; void foo(void) { struct S s; (void)&s.x; } ``` clang output: ``` test.c:7:11: error: address of bit-field requested (void)&s.x; ^~~~ ```
### Zig Version 0.11.0-dev.3+0bbb00035 ### Steps to Reproduce and Observed Behavior ```zig const std = @import("std"); test { var x: c_int = 5; var y: c_int = -2; try std.testing.expectEqual(@as(c_int,...
### Zig Version 0.10.0-dev.4707+209a0d2a8 ### Steps to Reproduce and Observed Behavior ```zig pub fn Bar(comptime T: type) type { _ = T; @compileError("error"); } pub fn foo(x: anytype) Bar(x) {}...
### Zig Version 0.11.0-dev.3395+1e7dcaa3a ### Steps to Reproduce and Observed Output ```zig const S = struct { foo: u32, bar: u32, baz = 5, }; ``` Output: ``` ~ %...
I'm not entirely sure what's going on with this one - I think possibly expanded `__VA_ARGS__` should have their hidesets cleared? GCC and clang produce `F_HOOK ()(XXX)`; arocc produces `F_PROGRESS(XX)`....
```c void foo(void) { struct bar b[1][B(1)] = {1}; } ``` This segfaults in [findScalarInitializer](https://github.com/Vexu/arocc/blob/7dd1575b8a34e752138ad7222d7b55a1491652f3/src/aro/Parser.zig#L3544) when trying to iterate over the struct fields. The fields pointer is undefined since it's...
This checks before calling typeStr with the places that I could generate a crash, and adds a check for non-debug modes so that they'll return an obvious error instead of...
The following is valid in C17 but not C23 ```c #define ™ 42 ``` Error should be `error: macro name must be an identifier`
Strange one found via fuzzing. If the array size specifier is `.invalid`: ```c [-w-f]" "f [f]" "f[-w-f] ``` ``` panic: reached unreachable code /Users/ehaas/source/arocc/src/aro/Type.zig:2345:21: 0x1080024ce in fromType (arocc) else =>...
See section 7.20 https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf We can probably just make these macros which expand to the corresponding `__builtin_OP_overflow` builtins e.g. https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html#index-_005f_005fbuiltin_005fadd_005foverflow