Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / libmudflap / testsuite / libmudflap.c / pass51-frag.c
blobb830b3a869d944a3e4909e4832ddd3a01a65d658
1 /* Test object-spanning accesses. This is most conveniently done with
2 mmap, thus the config.h specificity here. */
3 #include "../config.h"
5 #include <unistd.h>
6 #include <string.h>
7 #ifdef HAVE_SYS_MMAN_H
8 #include <sys/mman.h>
9 #endif
11 int main ()
13 #ifndef MAP_ANONYMOUS
14 #define MAP_ANONYMOUS MAP_ANON
15 #endif
16 #ifdef HAVE_MMAP
17 void *p;
18 unsigned pg = getpagesize ();
19 int rc;
21 p = mmap (NULL, 4 * pg, PROT_READ|PROT_WRITE,
22 MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);
23 if (p == NULL)
24 return 1;
26 memset (p, 0, 4*pg);
27 rc = munmap (p, pg);
28 if (rc < 0) return 1;
29 memset (p+pg, 0, 3*pg);
30 rc = munmap (p+pg, pg);
31 if (rc < 0) return 1;
32 memset (p+2*pg, 0, 2*pg);
33 rc = munmap (p+2*pg, pg);
34 if (rc < 0) return 1;
35 memset (p+3*pg, 0, pg);
36 rc = munmap (p+3*pg, pg);
37 if (rc < 0) return 1;
38 #endif
40 return 0;