/* { dg-do run } */ /* { dg-options "-O1 -Wno-attributes" } */ extern void abort (void); static void __attribute__((always_inline)) reverse(int *first, int *last) { if (first == last--) return; while (first != last) { int t = *first; *first = *last; *last = t; if (++first == last--) break; } } int main() { int seq[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; reverse(seq, seq + 8); if (seq[3] != 5 || seq[4] != 4) abort (); return 0; }