> "align 0" means there's code which hasn't been updated to correctly > set an alignment. Unfortunately, the initial IRGen implementation > wasn't properly alignment-aware, and we're been paying the price ever > since.
I see, I'll fix others I run into. > Our rule is generally that we propagate alignment for lvalue, but not > pointers. This allows some convenient constructs like packed structs > to work as expected without requiring the impossible of the compiler. I guess I conflated two issues: atomics actually have to be aligned properly, whereas complex needs to be aligned like an array of the base type would be. A packed complex won't cause runtime failures, but a packed atomic is in UB territory, yet Clang accepts them just fine. I guess this issue isn't really pertinent to my patch, so I'll address it separately. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
