xref: /llvm-project/compiler-rt/test/asan/TestCases/printf-1.c (revision 85220d021878c4627f69752ff1c411d4f08320c0)
19f20d670SAlexey Samsonov // RUN: %clang_asan -O2 %s -o %t
2*85220d02SReid Kleckner // RUN: %env_asan_opts=check_printf=1 %run %t 2>&1 | FileCheck %s
3*85220d02SReid Kleckner // RUN: %env_asan_opts=check_printf=0 %run %t 2>&1 | FileCheck %s
4b8aae540SGreg Fitzgerald // RUN: %run %t 2>&1 | FileCheck %s
59f20d670SAlexey Samsonov 
69f20d670SAlexey Samsonov #include <stdio.h>
77f291813STimur Iskhodzhanov #if defined(_WIN32)
87f291813STimur Iskhodzhanov # define snprintf _snprintf
97f291813STimur Iskhodzhanov #endif
107f291813STimur Iskhodzhanov 
main()119f20d670SAlexey Samsonov int main() {
129f20d670SAlexey Samsonov   volatile char c = '0';
139f20d670SAlexey Samsonov   volatile int x = 12;
149f20d670SAlexey Samsonov   volatile float f = 1.239;
159f20d670SAlexey Samsonov   volatile char s[] = "34";
169f20d670SAlexey Samsonov   // Check that printf works fine under Asan.
179f20d670SAlexey Samsonov   printf("%c %d %.3f %s\n", c, x, f, s);
189f20d670SAlexey Samsonov   // CHECK: 0 12 1.239 34
199f20d670SAlexey Samsonov   // Check that snprintf works fine under Asan.
209f20d670SAlexey Samsonov   char buf[4];
219f20d670SAlexey Samsonov   snprintf(buf, 1000, "qwe");
229f20d670SAlexey Samsonov   printf("%s\n", buf);
239f20d670SAlexey Samsonov   // CHECK: qwe
249f20d670SAlexey Samsonov   return 0;
259f20d670SAlexey Samsonov }
26