[Msan] Make unit tests that use mempcpy() passing on FreeBSD
authorViktor Kutuzov <vkutuzov@accesssoftek.com>
Mon, 16 Feb 2015 13:26:32 +0000 (13:26 +0000)
committerViktor Kutuzov <vkutuzov@accesssoftek.com>
Mon, 16 Feb 2015 13:26:32 +0000 (13:26 +0000)
Differential Revision: http://reviews.llvm.org/D7588

llvm-svn: 229388

compiler-rt/lib/msan/tests/msan_test.cc

index f6b4bfd..1fc5e8c 100644 (file)
@@ -80,6 +80,12 @@ int shmdt(const void *);
 # include <net/ethernet.h>
 # define f_namelen f_namemax  // FreeBSD names this statfs field so.
 # define cpu_set_t cpuset_t
+extern "C" {
+// FreeBSD's <ssp/string.h> defines mempcpy() to be a macro expanding into
+// a __builtin___mempcpy_chk() call, but since Msan RTL defines it as an
+// ordinary function, we can declare it here to complete the tests.
+void *mempcpy(void *dest, const void *src, size_t n);
+}
 #endif
 
 #if defined(__i386__) || defined(__x86_64__)