[clang] [clang][analyzer] Correct SMT Layer for _BitInt cases refutations (PR #143310)

DonĂ¡t Nagy via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 11 06:09:40 PDT 2025


================
@@ -570,23 +572,35 @@ class SMTConv {
   // TODO: Refactor to put elsewhere
   static inline QualType getAPSIntType(ASTContext &Ctx,
                                        const llvm::APSInt &Int) {
-    return Ctx.getIntTypeForBitwidth(Int.getBitWidth(), Int.isSigned());
+    QualType Ty;
+    if (!(Ty = Ctx.getIntTypeForBitwidth(Int.getBitWidth(), Int.isSigned()))
+             .isNull())
----------------
NagyDonat wrote:

I feel that the init-if would be really ugly in this particular case because the initializer expression is far too long. (I understand that it improves readability by highlighting the limited scope of the variable -- I think this is significantly outweighed by the complicated condition which is hard to parse at glance. Also, this is a small function, so the scope reduction isn't too significant.)

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


More information about the cfe-commits mailing list