From: Alexandre Oliva Date: Sat, 18 Sep 1999 18:06:20 +0000 (+0000) Subject: * overload1.C: New test. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=711b552c22af933cd3122dc0c9b5012e1cc1e705;p=platform%2Fupstream%2Fgcc.git * overload1.C: New test. From-SVN: r29499 --- diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog index 0000a9f..4ab874d 100644 --- a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog +++ b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog @@ -1,5 +1,7 @@ 1999-09-18 Alexandre Oliva + * overload1.C: New test. + * inline1.C: New test. 1999-08-25 Alexandre Oliva diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/overload1.C b/gcc/testsuite/g++.old-deja/g++.oliva/overload1.C new file mode 100644 index 0000000..fd79dad --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.oliva/overload1.C @@ -0,0 +1,23 @@ +// Build don't link: + +// Copyright (C) 1999 Free Software Foundation + +// by Alexandre Oliva +// Based on bug report by JDonner + +struct foo { + static int bar(); // ERROR - candidate + void bar(int); // ERROR - candidate +}; + +/* gcc emits a hard error without -pedantic, and a warning with + -pedantic, even in bad1. */ +int (*ok1)() = foo::bar; // gets bogus error - XFAIL *-*-* +void (foo::*bad1)(int) = foo::bar; // ERROR - missing & + +int (*ok2)() = &foo::bar; // ok +void (*bad2)(int) = foo::bar; // ERROR - overload resolution fails + +void (foo::*ok3)(int) = &foo::bar; // ok +int (foo::*bad3)() = foo::bar; // ERROR - overload resolution fails +