[clang] [clang][bytecode] Add `StringPointer` (PR #216736)

Timm Baeder via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 19 23:35:01 PDT 2026


================
@@ -209,17 +209,23 @@ bool Context::evaluateStringRepr(State &Parent, const Expr *SizeExpr,
     }
 
     if (!Ptr.isLive() || !Ptr.isInitialized() || Ptr.isUnknownSizeArray() ||
-        !Ptr.getFieldDesc()->isPrimitiveArray())
+        !Ptr.inArray())
       return false;
 
     // Must be char.
-    if (Ptr.getFieldDesc()->getElemDataSize() != 1 /*bytes*/)
+    if (Ptr.isBlockPointer() &&
+        Ptr.getFieldDesc()->getElemDataSize() != 1 /*bytes*/)
----------------
tbaederr wrote:

Not sure `StringLiteral::isOrdinary()` would even return in that case. :thinking: 

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


More information about the cfe-commits mailing list