[clang] [Clang][CodeGen] Check `isUnderlyingBasePointerConstantNull` in `emitPointerArithmetic` (PR #137849)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 29 12:47:39 PDT 2025


================
@@ -4238,7 +4238,8 @@ static Value *emitPointerArithmetic(CodeGenFunction &CGF,
   else
     elemTy = CGF.ConvertTypeForMem(elementType);
 
-  if (CGF.getLangOpts().PointerOverflowDefined)
+  if (CGF.getLangOpts().PointerOverflowDefined ||
+      CGF.isUnderlyingBasePointerConstantNull(pointerOperand))
----------------
efriedma-quic wrote:

What's the expected interaction between isUnderlyingBasePointerConstantNull and BinaryOperator::isNullPointerArithmeticExtension ?  They aren't quite the same thing, but they seem pretty closely related.

https://github.com/llvm/llvm-project/pull/137849


More information about the cfe-commits mailing list