[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