[PATCH] D30538: Add documentation for -fno-strict-aliasing
Simon Byrne via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 2 08:20:47 PST 2017
simonbyrne created this revision.
This is probably good to document, as the behaviour of `-fstrict-aliasing` differs from gcc in a quite important way (see https://bugs.llvm.org//show_bug.cgi?id=31928) .
https://reviews.llvm.org/D30538
Files:
docs/UsersManual.rst
Index: docs/UsersManual.rst
===================================================================
--- docs/UsersManual.rst
+++ docs/UsersManual.rst
@@ -1098,6 +1098,14 @@
the behavior of sanitizers in the ``cfi`` group to allow checking
of cross-DSO virtual and indirect calls.
+.. option:: -f[no-]strict-aliasing
+
+ Enables/disables the strict aliasing assumption, which assumes that
+ objects of different types do not share the same location in memory.
+
+ NOTE: unlike gcc, clang does not allow "type-punning" by writing and
+ reading from different union members without `-fno-strict-aliasing`
+ enabled.
.. option:: -fstrict-vtable-pointers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30538.90341.patch
Type: text/x-patch
Size: 671 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170302/3770d6a3/attachment.bin>
More information about the cfe-commits
mailing list