URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900324_06.C] - Rev 816
Compare with Previous | Blame | View Log
// { 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; }