1 | // RUN: %libomp-compile-and-run |
2 | #include <stdio.h> |
3 | #include <stdlib.h> |
4 | #include "omp_testsuite.h" |
5 | #include "omp_my_sleep.h" |
6 | |
7 | #define NTIMES 100 |
8 | |
9 | #define ASSERT_CMP(lhs, cmp, rhs) \ |
10 | if (!((lhs)cmp(rhs))) { \ |
11 | printf("Expected: (" #lhs ") " #cmp " (" #rhs "), actual: %e vs. %e", lhs, \ |
12 | rhs); \ |
13 | return EXIT_FAILURE; \ |
14 | } |
15 | |
16 | int main() { |
17 | int i; |
18 | |
19 | for (i = 0; i < NTIMES; i++) { |
20 | double start = omp_get_wtime(), end; |
21 | ASSERT_CMP(start, >=, 0.0); |
22 | for (end = omp_get_wtime(); end == start; end = omp_get_wtime()) { |
23 | ASSERT_CMP(end, >=, 0.0); |
24 | } |
25 | ASSERT_CMP(end, >=, 0.0); |
26 | ASSERT_CMP(end, >, start); |
27 | } |
28 | |
29 | return EXIT_SUCCESS; |
30 | } |
31 | |