From 8ca07d928cedce021d7ebbe1f5e0f71e92193a5c Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Thu, 18 Jan 2018 16:26:14 +0000 Subject: [PATCH] Be clear about virtual table pointer corruptuion rather than the vtable itself. From-SVN: r256852 --- gcc/ChangeLog | 4 ++++ gcc/doc/invoke.texi | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fcbd840..d1679f4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2018-01-18 Martin Sebor + + * doc/invoke.texi (-Wclass-memaccess): Tweak text. + 2018-01-18 Jan Hubicka PR ipa/83619 diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 8c1d9b3..27c5974 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -2970,11 +2970,11 @@ Warn when the destination of a call to a raw memory function such as @code{memset} or @code{memcpy} is an object of class type, and when writing into such an object might bypass the class non-trivial or deleted constructor or copy assignment, violate const-correctness or encapsulation, or corrupt -the virtual table. Modifying the representation of such objects may violate -invariants maintained by member functions of the class. For example, the call -to @code{memset} below is undefined because it modifies a non-trivial class -object and is, therefore, diagnosed. The safe way to either initialize or -clear the storage of objects of such types is by using the appropriate +virtual table pointers. Modifying the representation of such objects may +violate invariants maintained by member functions of the class. For example, +the call to @code{memset} below is undefined because it modifies a non-trivial +class object and is, therefore, diagnosed. The safe way to either initialize +or clear the storage of objects of such types is by using the appropriate constructor or assignment operator, if one is available. @smallexample std::string str = "abc"; -- 2.7.4