https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121376

--- Comment #2 from Joseph S. Myers <jsm28 at gcc dot gnu.org> ---
C23 says "Any attempt to modify an object with temporary lifetime results in
undefined behavior.", so this test does not demonstrate a bug. It also says
"Such an object may not have a unique address.", and the Proposed Committee
Response in issue 0452, as linked from that LLVM issue, says 'To the question
"Should the expression (O, o2).ca == o2.ca yield zero, non-zero, or should it
be implementation defined?" the answer is "implementation defined".', which
appears to indicate an intent that it's not unique with respect to objects with
non-temporary lifetime, not just with respect to other objects with temporary
lifetime (although it looks "unspecified" not "implementation-defined" to me).
So even if there were a test based on comparing addresses rather than modifying
an object with temporary lifetime, I don't think it would demonstrate a bug,

Reply via email to