[PATCH] D30538: Add documentation for -fno-strict-aliasing
Hans Wennborg via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 2 08:35:31 PST 2017
hans added a comment.
+1 for documenting this, but I have to leave it to the language lawyers for how to fomulate it.
> Enables/disables the strict aliasing assumption, which assumes that objects of different types do not share the same location in memory.
I think it needs to say incompatible types at least (and `char` and `unsigned char` are also special). And isn't it really about pointers -- the compiler assumes that when dereferncing two pointers of incompatible types, those pointers do not refer to the same memory?
> clang does not allow "type-punning" by writing and reading from different union members
I thought clang does allow type-punning through unions, as long as it's in a single function, but that it fails when things get more complicated.
+dannyb who enjoys this stuff ;)
https://reviews.llvm.org/D30538
More information about the cfe-commits
mailing list