diff options
author | Eric Fiselier <eric@efcs.ca> | 2015-08-26 00:14:08 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2015-08-26 00:14:08 +0000 |
commit | 0d5758d2db7f92cf2544ae857772f9ee33960d32 (patch) | |
tree | f555b61e67ae0ca8b4c5b43d4a2989658b8641a7 /lib/msan/tests | |
parent | 0aa99212cf04f93a65f456be00bff15bdba06554 (diff) |
[compiler-rt] Add common interceptor for wcrtomb.
Summary: Currently there is a libc++ test failing under MSAN because wcrtomb is not intercepted. This patch adds an interceptor for it.
Reviewers: samsonov, eugenis
Subscribers: tberghammer, danalbert, srhines, llvm-commits
Differential Revision: http://reviews.llvm.org/D12311
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@245994 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/msan/tests')
-rw-r--r-- | lib/msan/tests/msan_test.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/msan/tests/msan_test.cc b/lib/msan/tests/msan_test.cc index 00dd20a3d..57938329d 100644 --- a/lib/msan/tests/msan_test.cc +++ b/lib/msan/tests/msan_test.cc @@ -1952,6 +1952,16 @@ TEST(MemorySanitizer, wcsnrtombs) { EXPECT_POISONED(buff[2]); } +TEST(MemorySanitizer, wcrtomb) { + wchar_t x = L'a'; + char buff[10]; + mbstate_t mbs; + memset(&mbs, 0, sizeof(mbs)); + size_t res = wcrtomb(buff, x, &mbs); + EXPECT_EQ(res, (size_t)1); + EXPECT_EQ(buff[0], 'a'); +} + TEST(MemorySanitizer, wmemset) { wchar_t x[25]; break_optimization(x); |