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
 


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
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to