llvm-cbe icon indicating copy to clipboard operation
llvm-cbe copied to clipboard

resurrected LLVM "C Backend", with improvements

Results 4 llvm-cbe issues
Sort by recently updated
recently updated
newest added

I've implemented the output of flexible array members. Since I do not know if there can be other members of size zero, I've left their handling unchanged (i.e. they are...

The cbe sometimes emits: ``` __builtin_unreachable(); ``` Which is a GCC extension also supported by clang. For MSVC there is ``` #ifdef _MSC_VER #define __builtin_unreachable() __assume(0) #endif ``` However, __builtin_unreachable()...

The C backend currently omits members of size zero in structs. I.e. if I compile this test.c with clang: ``` struct tst { int a, b; int p[]; }; struct...

A common idiom for memory-mapped I/O is this: ``` void f(void) { (*(volatile uint8_t*)42) = 23; } ``` clang-3.8 correctly compiles this into a volatile store in LLVM IR: ```...