| /* { 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; | |
| } |