xref: /openbsd-src/gnu/gcc/libgomp/testsuite/libgomp.c++/loop-7.C (revision 404b540a9034ac75a6199ad1a32d1bbc7a0d4210)
1*404b540aSrobert // PR c++/24502
2*404b540aSrobert // { dg-do run }
3*404b540aSrobert 
4*404b540aSrobert extern "C" void abort ();
5*404b540aSrobert 
6*404b540aSrobert template <typename T> T
foo(T r)7*404b540aSrobert foo (T r)
8*404b540aSrobert {
9*404b540aSrobert   T i;
10*404b540aSrobert #pragma omp for
11*404b540aSrobert   for (i = 0; i < 10; i++)
12*404b540aSrobert     r += i;
13*404b540aSrobert   return r;
14*404b540aSrobert }
15*404b540aSrobert 
16*404b540aSrobert int
main()17*404b540aSrobert main ()
18*404b540aSrobert {
19*404b540aSrobert   if (foo (0) != 10 * 9 / 2 || foo (2L) != 10L * 9 / 2 + 2)
20*404b540aSrobert     abort ();
21*404b540aSrobert   return 0;
22*404b540aSrobert }
23