annotate gcc/testsuite/g++.dg/vect/pr60836.cc @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do compile }
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 int a, b;
kono
parents:
diff changeset
4 typedef double (*NormFunc) (const int &);
kono
parents:
diff changeset
5 int &
kono
parents:
diff changeset
6 max (int &p1, int &p2)
kono
parents:
diff changeset
7 {
kono
parents:
diff changeset
8 if (p1 < p2)
kono
parents:
diff changeset
9 return p2;
kono
parents:
diff changeset
10 return p1;
kono
parents:
diff changeset
11 }
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 struct A
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 int operator () (int p1, int p2)
kono
parents:
diff changeset
16 {
kono
parents:
diff changeset
17 return max (p1, p2);
kono
parents:
diff changeset
18 }
kono
parents:
diff changeset
19 };
kono
parents:
diff changeset
20 template < class, class > double
kono
parents:
diff changeset
21 norm_ (const int &)
kono
parents:
diff changeset
22 {
kono
parents:
diff changeset
23 char c, d;
kono
parents:
diff changeset
24 A e;
kono
parents:
diff changeset
25 for (; a; a++)
kono
parents:
diff changeset
26 {
kono
parents:
diff changeset
27 b = e (b, d);
kono
parents:
diff changeset
28 b = e (b, c);
kono
parents:
diff changeset
29 }
kono
parents:
diff changeset
30 }
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32 void
kono
parents:
diff changeset
33 norm ()
kono
parents:
diff changeset
34 {
kono
parents:
diff changeset
35 static NormFunc f = norm_ < int, A >;
kono
parents:
diff changeset
36 f = 0;
kono
parents:
diff changeset
37 }
kono
parents:
diff changeset
38