c++: constantness of call to function pointer [PR111703]
[official-gcc.git] / gcc / testsuite / g++.dg / torture / pr83718.C
blob2fa280642027dfa5719fc2b2ff561a16257fee30
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -std=c++11" } */
4 class a
6 public:
7   int c (const char *);
8 };
9 class B
11   virtual int *d (a, bool);
14 bool e, f, g;
16 class: B
18   int ah;
19   int *
20   d (a, bool)
21   {
22     if (e)
23       return &ah;
24     a bj;
25     bj.c ("");
26     if (f)
27       return &ah;
28     bj.c ("");
29     if (f)
30       return &ah;
31     bj.c ("");
32     if (f)
33       return &ah;
34     bj.c ("");
35     if (f)
36       return &ah;
37     bj.c ("");
38     if (f)
39       return &ah;
40     bj.c ("");
41     if (f)
42       return &ah;
43     bj.c ("");
44     if (f)
45       return &ah;
46     bj.c ("");
47     if (f)
48       return &ah;
49     bj.c ("");
50     if (f)
51       return &ah;
52     bj.c ("");
53     if (f)
54       return &ah;
55     bj.c ("");
56     if (f)
57       return &ah;
58     bj.c ("");
59     if (f)
60       return &ah;
61     bj.c ("");
62     if (f)
63       return &ah;
64     bj.c ("");
65     if (f)
66       return &ah;
67     bj.c ("");
68     if (f)
69       return &ah;
70     bj.c ("");
71     if (f)
72       return &ah;
73     bj.c ("");
74     if (f)
75       return &ah;
76     bj.c ("");
77     if (f)
78       return &ah;
79     bj.c ("");
80     if (f)
81       return &ah;
82     bj.c ("");
83     if (f)
84       return &ah;
85     bj.c ("");
86     if (f)
87       return &ah;
88     bj.c ("");
89     if (f)
90       return &ah;
91     bj.c ("");
92     if (f)
93       return &ah;
94     bj.c ("");
95     if (f)
96       return &ah;
97     bj.c ("");
98     if (f)
99       return &ah;
100     bj.c ("");
101     if (f)
102       return &ah;
103     bj.c ("");
104     if (f)
105       return &ah;
106     bj.c ("");
107     if (g)
108       return &ah;
109     if (f)
110       return &ah;
111       e = a ().c("");
112     return &ah;
113   }
114 } b;