[compiler-rt] 6f37d18 - [asan] Fixed test failing on windows due to different printf behaviour.

Vy Nguyen via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 15 07:59:04 PDT 2021


Author: Vy Nguyen
Date: 2021-03-15T10:58:40-04:00
New Revision: 6f37d18d8cb109848b16ab55b631a9bdb4956a7a

URL: https://github.com/llvm/llvm-project/commit/6f37d18d8cb109848b16ab55b631a9bdb4956a7a
DIFF: https://github.com/llvm/llvm-project/commit/6f37d18d8cb109848b16ab55b631a9bdb4956a7a.diff

LOG: [asan] Fixed test failing on windows due to different printf behaviour.

%p reported prints upper case hex chars on Windows.
The fix  is to switch to using %#lx

Differential Revision: https://reviews.llvm.org/D98570

Added: 
    

Modified: 
    compiler-rt/test/asan/TestCases/wild_pointer.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/test/asan/TestCases/wild_pointer.cpp b/compiler-rt/test/asan/TestCases/wild_pointer.cpp
index 80c3e2b254e5..8969a285e565 100644
--- a/compiler-rt/test/asan/TestCases/wild_pointer.cpp
+++ b/compiler-rt/test/asan/TestCases/wild_pointer.cpp
@@ -2,7 +2,9 @@
 // RUN: not %run %t 2>&1 | FileCheck %s
 // REQUIRES: asan-64-bits
 
+#include <inttypes.h>
 #include <stdarg.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <string.h>
 
@@ -10,9 +12,17 @@ int main() {
   char *p = new char;
   char *dest = new char;
   const size_t offset = 0x4567890123456789;
+
+  // The output here needs to match the output from the sanitizer runtime,
+  // which includes 0x and prints hex in lower case.
+  //
+  // On Windows, %p omits %0x and prints hex characters in upper case,
+  // so we use PRIxPTR instead of %p.
+  fprintf(stderr, "Expected bad addr: %#" PRIxPTR "\n",
+          reinterpret_cast<uintptr_t>(p + offset));
   // Flush it so the output came out before the asan report.
-  fprintf(stderr, "Expected bad addr: %p\n", p + offset);
   fflush(stderr);
+
   memmove(dest, p, offset);
   return 0;
 }


        


More information about the llvm-commits mailing list