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,