| 1 | // Test that verifies TSan runtime doesn't contain compiler-emitted |
| 2 | // memcpy/memmove calls. It builds the binary with TSan and check's |
| 3 | // its objdump. |
| 4 | |
| 5 | // This could fail if using a static libunwind because that static libunwind |
| 6 | // could be uninstrumented and contain memcpy/memmove calls not intercepted by |
| 7 | // tsan. |
| 8 | // REQUIRES: shared_unwind, x86_64-target-arch |
| 9 | |
| 10 | // RUN: %clang_tsan -O1 %s -o %t |
| 11 | // RUN: llvm-objdump -d -l %t | FileCheck --implicit-check-not="{{(callq|jmpq) .*<(__interceptor_.*)?mem(cpy|set|move)>}}" %s |
| 12 | |
| 13 | int main() { return 0; } |
| 14 | |