Fix __builtin_assume_aligned incorrect type descriptor
example from @rsmith
struct A { int n; }; struct B { int n; }; struct C : A, B {}; void *f(C *c) { // Incorrectly returns `c` rather than the address of the B base class. return __builtin_assume_aligned((B*)c, 8); }
We can be tricky instead of including a header file.