Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / torture / pr39417.C
blob84d497a1c218c3458adaaa7b4eef13dc0bc41459
1 // { dg-do run }
2 // { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
4 #include <vector>
6 std::vector <int>
7 sequence(int l, int n)
9   std::vector <int> ret;
10   for(int i=n;i<=100;i++)
11     {
12       if(i%2==0)
13         {
14           if(l%i==i/2)
15             {
16               int init =l/i-i/2+1;
17               if(init>=0)
18                 {
19                   for(int j=0;j<i;j++)
20                     {
21                       ret.push_back(init);
22                       init ++;
23                     }
24                   break;
25                 }
26             }
27         }
28       else
29         {
30           if(l%i==0)
31             {
32               int init =l/i-i/2;
33               if(init>=0)
34                 {
35                   for(int j=0;j<i;j++)
36                     {
37                       ret.push_back(init);
38                       init ++;
39                     }
40                   break;
41                 }
42             }
43         }
44     }
45   return ret;
47 extern "C" void abort (void);
48 int main()
50   std::vector<int> res = sequence(18, 2);
51   if (res.size () != 3
52       || res[0] != 5
53       || res[1] != 6
54       || res[2] != 7)
55     abort ();
56   return 0;