forked from OSchip/llvm-project
Fix coverage-related asan tests for VS 2015
printf is an inline function in VS 2015, giving these tests an unexpected extra point of coverage. This change works around that by avoiding printf. llvm-svn: 264010
This commit is contained in:
parent
717d2b0a0d
commit
c35d402aeb
|
@ -6,8 +6,8 @@
|
|||
// RUN: %sancov print *.sancov | FileCheck %s
|
||||
#include <stdio.h>
|
||||
|
||||
void foo() { fprintf(stderr, "FOO\n"); }
|
||||
void bar() { fprintf(stderr, "BAR\n"); }
|
||||
void foo() { fputs("FOO", stderr); }
|
||||
void bar() { fputs("BAR", stderr); }
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
if (argc == 2) {
|
||||
|
|
|
@ -13,6 +13,13 @@ static volatile int sink;
|
|||
__attribute__((noinline)) void bar() { sink = 2; }
|
||||
__attribute__((noinline)) void foo() { sink = 1; }
|
||||
|
||||
// In MSVC 2015, printf is an inline function, which causes this test to fail as
|
||||
// it introduces an extra coverage point. Define away printf on that platform to
|
||||
// avoid the issue.
|
||||
#if _MSC_VER >= 1900
|
||||
# define printf(arg, ...)
|
||||
#endif
|
||||
|
||||
#define GET_AND_PRINT_COVERAGE() \
|
||||
bitset = 0; \
|
||||
for (size_t i = 0; i < n_guards; i++) \
|
||||
|
|
Loading…
Reference in New Issue