OK for trunk?
-- 8< --
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 8a89462bd7e..654d182b1c3 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,
base-commit: 5c01ede02a1f9ba1a58ab8d96a73e46e0484d820
--
2.43.2