summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/msan/tests/msan_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/lib/msan/tests/msan_test.cc')
-rw-r--r--compiler-rt/lib/msan/tests/msan_test.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc
index 813606ed371..2266cdd0249 100644
--- a/compiler-rt/lib/msan/tests/msan_test.cc
+++ b/compiler-rt/lib/msan/tests/msan_test.cc
@@ -2064,8 +2064,26 @@ TEST(MemorySanitizer, fcvt) {
char *str = fcvt(12345.6789, 10, &a, &b);
EXPECT_NOT_POISONED(a);
EXPECT_NOT_POISONED(b);
+ ASSERT_NE(nullptr, str);
+ EXPECT_NOT_POISONED(str[0]);
+ ASSERT_NE(0U, strlen(str));
}
+TEST(MemorySanitizer, fcvt_long) {
+ int a, b;
+ break_optimization(&a);
+ break_optimization(&b);
+ EXPECT_POISONED(a);
+ EXPECT_POISONED(b);
+ char *str = fcvt(111111112345.6789, 10, &a, &b);
+ EXPECT_NOT_POISONED(a);
+ EXPECT_NOT_POISONED(b);
+ ASSERT_NE(nullptr, str);
+ EXPECT_NOT_POISONED(str[0]);
+ ASSERT_NE(0U, strlen(str));
+}
+
+
TEST(MemorySanitizer, memchr) {
char x[10];
break_optimization(x);
OpenPOWER on IntegriCloud