[RISCV] Add RVVConstraint to SiFive custom matrix multiply instructions. (#124055)
[llvm-project.git] / compiler-rt / test / asan / TestCases / Posix / readv.cpp
blob27436a1ad3d962c1adadc7722bc3e14c1e2a697a
1 // RUN: %clangxx_asan -O0 %s -o %t && %run %t
2 // RUN: %clangxx_asan -O0 %s -DPOSITIVE -o %t && not %run %t 2>&1 | FileCheck %s
4 // Test the readv() interceptor.
6 #include <assert.h>
7 #include <stdio.h>
8 #include <stdlib.h>
9 #include <unistd.h>
10 #include <fcntl.h>
11 #include <sys/uio.h>
12 #include <time.h>
14 int main() {
15 char buf[2011];
16 struct iovec iov[2];
17 #ifdef POSITIVE
18 char * volatile buf_ = buf;
19 iov[0].iov_base = buf_ - 1;
20 #else
21 iov[0].iov_base = buf + 1;
22 #endif
23 iov[0].iov_len = 5;
24 iov[1].iov_base = buf + 10;
25 iov[1].iov_len = 2000;
26 int fd = open("/etc/hosts", O_RDONLY);
27 assert(fd > 0);
28 readv(fd, iov, 2);
29 // CHECK: WRITE of size 5 at
30 close(fd);
31 return 0;