0
|
1 #include <stdlib.h>
|
|
2
|
|
3 #define SIZE 16
|
|
4
|
|
5 char b[SIZE];
|
|
6 char a[SIZE];
|
|
7
|
|
8 int main ()
|
|
9 {
|
|
10 int i, j=0, k;
|
|
11 int a_before_b = (& a[0] < & b[0]);
|
|
12 /* Rather than iterating linearly, which would allow loop unrolling
|
|
13 and mapping to pointer manipulation, we traverse the "joined"
|
|
14 arrays in some random order. */
|
|
15 for (i=0; i<SIZE*2; i++)
|
|
16 {
|
|
17 k = rand() % (SIZE*2);
|
|
18 j += (a_before_b ? a[k] : b[k]);
|
|
19 }
|
|
20 return j;
|
|
21 }
|
|
22 /* { dg-output "mudflap violation 1.*" } */
|
|
23 /* { dg-output "Nearby object.*" } */
|
|
24 /* { dg-output "mudflap object.*\[ab\]" } */
|
|
25 /* { dg-do run { xfail *-*-* } } */
|