From efab88888c1b692ab080bcee99a6ef7ba6ee43ed Mon Sep 17 00:00:00 2001 From: Jason Merrill <jason@redhat.com> Date: Thu, 22 Feb 2024 10:06:27 +0000 Subject: [PATCH] tree-core: clarify clobber comments It came up on the mailing list that OBJECT_BEGIN/END are described as marking object lifetime, but mark the beginning of the constructor and end of the destructor, whereas the C++ notion of lifetime is between the end of the constructor and beginning of the destructor. So let's fix the comments. gcc/ChangeLog: * tree-core.h (enum clobber_kind): Clarify CLOBBER_OBJECT_* comments. --- gcc/tree-core.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/tree-core.h b/gcc/tree-core.h index d529712306d9..a74fbdf75b4b 100644 --- a/gcc/tree-core.h +++ b/gcc/tree-core.h @@ -993,9 +993,11 @@ enum clobber_kind { CLOBBER_UNDEF, /* Beginning of storage duration, e.g. malloc. */ CLOBBER_STORAGE_BEGIN, - /* Beginning of object lifetime, e.g. C++ constructor. */ + /* Beginning of object data, e.g. start of C++ constructor. This differs + from C++ 'lifetime', which starts when initialization is complete; a + clobber there would discard the initialization. */ CLOBBER_OBJECT_BEGIN, - /* End of object lifetime, e.g. C++ destructor. */ + /* End of object data, e.g. end of C++ destructor. */ CLOBBER_OBJECT_END, /* End of storage duration, e.g. free. */ CLOBBER_STORAGE_END, -- GitLab