[compiler-rt] r189105 - [msan] Extend VAArgTLSOverwrite test.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Fri Aug 23 05:13:18 PDT 2013


Author: eugenis
Date: Fri Aug 23 07:13:18 2013
New Revision: 189105

URL: http://llvm.org/viewvc/llvm-project?rev=189105&view=rev
Log:
[msan] Extend VAArgTLSOverwrite test.

This test now covers LLVM r189104.

Modified:
    compiler-rt/trunk/lib/msan/tests/msan_test.cc

Modified: compiler-rt/trunk/lib/msan/tests/msan_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/tests/msan_test.cc?rev=189105&r1=189104&r2=189105&view=diff
==============================================================================
--- compiler-rt/trunk/lib/msan/tests/msan_test.cc (original)
+++ compiler-rt/trunk/lib/msan/tests/msan_test.cc Fri Aug 23 07:13:18 2013
@@ -1792,22 +1792,33 @@ TEST(MemorySanitizer, VAArgOverflow) {
 static void vaargsfn_tlsoverwrite2(int guard, ...) {
   va_list vl;
   va_start(vl, guard);
-  EXPECT_NOT_POISONED(va_arg(vl, int));
+  for (int i = 0; i < 20; ++i)
+    EXPECT_NOT_POISONED(va_arg(vl, int));
   va_end(vl);
 }
 
 static void vaargsfn_tlsoverwrite(int guard, ...) {
   // This call will overwrite TLS contents unless it's backed up somewhere.
-  vaargsfn_tlsoverwrite2(2, 42);
+  vaargsfn_tlsoverwrite2(2,
+      42, 42, 42, 42, 42,
+      42, 42, 42, 42, 42,
+      42, 42, 42, 42, 42,
+      42, 42, 42, 42, 42); // 20x
   va_list vl;
   va_start(vl, guard);
-  EXPECT_POISONED(va_arg(vl, int));
+  for (int i = 0; i < 20; ++i)
+    EXPECT_POISONED(va_arg(vl, int));
   va_end(vl);
 }
 
 TEST(MemorySanitizer, VAArgTLSOverwrite) {
   int* x = GetPoisoned<int>();
-  vaargsfn_tlsoverwrite(1, *x);
+  vaargsfn_tlsoverwrite(1,
+      *x, *x, *x, *x, *x,
+      *x, *x, *x, *x, *x,
+      *x, *x, *x, *x, *x,
+      *x, *x, *x, *x, *x); // 20x
+
 }
 
 struct StructByVal {





More information about the llvm-commits mailing list