diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/overload4.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/overload4.C | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C new file mode 100644 index 000000000..6206d0b9e --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C @@ -0,0 +1,24 @@ +// { dg-do assemble } +// GROUPS passed overloading + typedef void * (*NewObject) (void); + + class B + { + public: + static void WantsNew (NewObject creator); // { dg-message "B::WantsNew|no known conversion" } + }; + + class A + { + public: + static A * NewOne (void); + + static void InitClass (void) + { + B::WantsNew ( (NewObject) A::NewOne ); + // This used to die in convert_harshness_{ansi,old} cuz it + // didn't know what to do about a void type. + B::WantsNew ( A::NewOne );// { dg-error "no matching" } + // { dg-message "candidate" "candidate note" { target *-*-* } 21 } + } + }; |