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