OSDN Git Service

Merge in xfails from PR14107.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.old-deja / g++.bugs / 900324_06.C
1 // { dg-do run  }
2 // g++ 1.37.1 bug 900324_06
3
4 // g++ is unable to use context information (i.e. the required type of the
5 // expression) to disambiguate a possibly overloaded function name when that
6 // name is used as either the second or the third operand of a ?: operator.
7
8 // It is also unable to use the fact that the given name is not in fact
9 // overloaded (and has only one possible interpretation).
10
11 // This results in improper errors being generated.
12
13 // keywords: overloading, function pointers, disambiguation, operator?:
14
15 int i;
16 void (*p)();
17
18 void function_0 ()
19 {
20 }
21
22 void function_1 ()
23 {
24   p = i ? function_0 : 0;               // { dg-bogus "" } 
25   p = i ? 0 : function_0;               // { dg-bogus "" } 
26   p = i ? function_1 : function_0;      // { dg-bogus "" } 
27 }
28
29 int main () { return 0; }