[PATCH] D137400: [llvm-debuginfo-analyzer] Fix format string-type mismatch in LVScope

Michał Górny via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 4 01:24:51 PDT 2022


mgorny created this revision.
mgorny added reviewers: CarlosAlbertoEnciso, probinson, dblaikie, psamolysov.
Herald added subscribers: manas, ASDenysPetrov, dkrupp, donat.nagy, Szelethus, a.sidorin, baloghadamsoftware, hiraditya.
Herald added a project: All.
mgorny requested review of this revision.
Herald added a project: LLVM.

Fix mismatch between `%d`/`%x` format strings and `uint64_t` type.
This fixes incorrect printing of "Scope Sizes" on 32-bit platforms
where this leads to `llvm::print()` misreading vararg.


https://reviews.llvm.org/D137400

Files:
  llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp


Index: llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
===================================================================
--- llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
+++ llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
@@ -1192,7 +1192,8 @@
                                  LVOffset Upper) {
   LLVM_DEBUG({
     dbgs() << format(
-        "CU [0x%08x], Scope [0x%08x], Range [0x%08x:0x%08x], Size = %d\n",
+        "CU [0x%08" PRIx64 "], Scope [0x%08" PRIx64 "], Range [0x%08" PRIx64
+        ":0x%08" PRIx64 "], Size = %" PRId64 "\n",
         getOffset(), Scope->getOffset(), Lower, Upper, Upper - Lower);
   });
 
@@ -1548,7 +1549,7 @@
     // implementation-defined rounding inside printing functions.
     float Percentage =
         rint((float(Size) / CUContributionSize) * 100.0 * 100.0) / 100.0;
-    OS << format("%10d (%6.2f%%) : ", Size, Percentage);
+    OS << format("%10" PRId64 " (%6.2f%%) : ", Size, Percentage);
     Scope->print(OS);
 
     // Keep record of the total sizes at each lexical level.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137400.473153.patch
Type: text/x-patch
Size: 1027 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221104/0ed2aa61/attachment.bin>


More information about the llvm-commits mailing list