1 /* { dg-do run } */
2 /* { dg-options "-O1 -Wno-attributes" } */
3
4 extern void abort (void);
5
6 static void __attribute__((always_inline))
reverse(int * first,int * last)7 reverse(int *first, int *last)
8 {
9 if (first == last--)
10 return;
11 while (first != last)
12 {
13 int t = *first;
14 *first = *last;
15 *last = t;
16 if (++first == last--)
17 break;
18 }
19 }
20
main()21 int main()
22 {
23 int seq[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
24
25 reverse(seq, seq + 8);
26 if (seq[3] != 5 || seq[4] != 4)
27 abort ();
28
29 return 0;
30 }
31