[clang] [StaticAnalyzer] Fix non decimal macro values in tryExpandAsInteger (PR #168632)

Balázs Benics via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 19 06:59:44 PST 2025


================
@@ -142,19 +142,25 @@ std::optional<int> tryExpandAsInteger(StringRef Macro, const Preprocessor &PP) {
   if (InvalidSpelling)
     return std::nullopt;
 
-  llvm::APInt IntValue;
+  llvm::APSInt IntValue(0, true);
   constexpr unsigned AutoSenseRadix = 0;
-  if (ValueStr.getAsInteger(AutoSenseRadix, IntValue))
+  if (ValueStr.getAsInteger(AutoSenseRadix,
+                            static_cast<llvm::APInt &>(IntValue)))
----------------
steakhal wrote:

Do we need this static cast? It doesn't seem to be the case. Implicit conversion should just achieve this, no?

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


More information about the cfe-commits mailing list