repo.or.cz
/
gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Fortran: Fix PR 47485.
[gcc.git]
/
gcc
/
testsuite
/
g++.dg
/
torture
/
pr39417.C
blob
84d497a1c218c3458adaaa7b4eef13dc0bc41459
1
// { dg-do run }
2
// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
3
4
#include <vector>
5
6
std::vector <int>
7
sequence(int l, int n)
8
{
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;
46
}
47
extern "C" void abort (void);
48
int main()
49
{
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;
57
}