diff options
Diffstat (limited to 'clang/docs/ControlFlowIntegrity.rst')
| -rw-r--r-- | clang/docs/ControlFlowIntegrity.rst | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/docs/ControlFlowIntegrity.rst b/clang/docs/ControlFlowIntegrity.rst index 780ff882d0e..c403610952c 100644 --- a/clang/docs/ControlFlowIntegrity.rst +++ b/clang/docs/ControlFlowIntegrity.rst @@ -129,7 +129,8 @@ type ``void*`` or another unrelated type (which can be checked with The difference between these two types of casts is that the first is defined by the C++ standard to produce an undefined value, while the second is not in itself undefined behavior (it is well defined to cast the pointer back -to its original type). +to its original type) unless the object is uninitialized and the cast is a +``static_cast`` (see C++14 [basic.life]p5). If a program as a matter of policy forbids the second type of cast, that restriction can normally be enforced. However it may in some cases be necessary |

