Christian Buttner

Results 30 issues of Christian Buttner

Macros add serious complications to debugging when it comes to the call stack. When the instruction pointer points to a source code location inside a macro, the location of the...

enhancement

```c enum Mouse_Button { LEFT, RIGHT, MIDDLE, } fn void foo(Mouse_Button button) { } fn void main() { uint x = 1; foo((Mouse_Button)x); } ``` ``` Assertion failed: (be_value->type->canonical ==...

bug
fixed needs check

```c int[] array; int* ptr = array; // This is ok int* ptr = &array; // This should not compile (ptr has the address of the slice itself) void* ptr...

bug
fixed needs check

```c float f = 3.25; io::printn(f % 1.0); // Prints 0.25 io::printn(3.25 % 1.0); // Prints 0 // assert(3.25 % 1.0 == 0.25); // Error: This expression will always be...

bug
fixed needs check

```c union Rect { struct { float[] min, max; } // More stuff here... } fn void main() { Rect rect = {.max = {1, 2}); assert(rect.min == {}); //...

bug
fixed needs check

Opening this draft PR to discuss and get feedback. **TODO** - [ ] Windows - [ ] macOS - [x] Project option - [x] sanitizer.c3 (common_interface_defs.h) - [x] tsan.c3 (tsan_interface.h)

Cast/assignment to vector has some unhandled edge cases: ```c float[] a; a = true; // Permitted, but shouldn't be a = "1234"; // I get this casts char[4] to float[],...

bug
fixed needs check

We run into this problem here: ```c /** * @param [out] x "The variable or dereferenced pointer to store to." * @param value "The value to store." * @param $alignment...

bug
fixed needs check

This is bad... ```c module test; import std::io; struct Test @align(16) { void* foo; } struct Test2 { Test test; uint a; } fn int main(String[] args) { Test2* array;...

bug
fixed needs check

I often find myself needing some way to concatenate strings at compile time. Maybe a builtin `$concat` with variable number of arguments could be introduced. Some examples of what I...

enhancement
fixed needs check