================
@@ -307,17 +312,22 @@ RValue 
CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(
   }
 
   if (TrivialForCodegen) {
-    if (isa<CXXDestructorDecl>(MD))
+    if (isa<CXXDestructorDecl>(MD)) {
+      (void)getLValueForThis(); // Emit LHS for side effects.
----------------
hubert-reinterpretcast wrote:

> I agree. Wouldn’t this leave us with IR that evaluates the LHS but doesn’t 
> emit any UBSan checks?

Sure, but the value isn't actually being used by this operation in the user 
program, so it is questionable whether a UBSan check is appropriate. Further, 
if it is indeed an issue that UBSan checks are omitted here, it is a separate 
issue (not within the scope of addressing UBSan checks for assignment operands).

https://github.com/llvm/llvm-project/pull/203737
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to