// { dg-do run } // g++ 1.37.1 bug 900324_06 // g++ is unable to use context information (i.e. the required type of the // expression) to disambiguate a possibly overloaded function name when that // name is used as either the second or the third operand of a ?: operator. // It is also unable to use the fact that the given name is not in fact // overloaded (and has only one possible interpretation). // This results in improper errors being generated. // keywords: overloading, function pointers, disambiguation, operator?: int i; void (*p)(); void function_0 () { } void function_1 () { p = i ? function_0 : 0; // { dg-bogus "" } p = i ? 0 : function_0; // { dg-bogus "" } p = i ? function_1 : function_0; // { dg-bogus "" } } int main () { return 0; }