llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Samrudh Nelli (SamrudhNelli)

<details>
<summary>Changes</summary>

Call isNullPointer() only when we are sure that Rvalue is a pointer.
Fixes #<!-- -->180313 

---
Full diff: https://github.com/llvm/llvm-project/pull/180376.diff


1 Files Affected:

- (modified) clang/lib/Sema/SemaInit.cpp (+2-1) 


``````````diff
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index ff278bc7471bd..3c19512595bae 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -8503,8 +8503,9 @@ ExprResult InitializationSequence::Perform(Sema &S,
         Expr::EvalResult ER;
         if (Entity.getType()->getAs<PointerType>() &&
             CurInit.get()->EvaluateAsRValue(ER, S.Context) &&
-            !ER.Val.isNullPointer()) {
+            (!ER.Val.isLValue() || !ER.Val.isNullPointer())) {
           S.Diag(Kind.getLocation(), diag::err_c23_constexpr_pointer_not_null);
+          return ExprError();
         }
       }
 

``````````

</details>


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

Reply via email to