diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.jason/conversion11.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/conversion11.C | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C new file mode 100644 index 000000000..6621a27b6 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C @@ -0,0 +1,29 @@ +// { dg-do assemble } +// PRMS Id: 8805 +// Bug: The two-level conversion is not found when calling a global fn. + +class Int { +public: + Int(int A); +}; + +class Ding { +public: + Ding(Int A); +}; + +class Something { +public: + void DoSomething(Ding A); // { dg-message "Something::DoSomething|no known conversion" } referred to +}; + +void DoSomething(Ding A); + +void foo(Something* pX) +{ + DoSomething(1); // { dg-error "could not convert" } + pX->DoSomething(1); // { dg-error "no matching" } + // { dg-message "candidate" "candidate note" { target *-*-* } 25 } + (*pX).DoSomething(1); // { dg-error "no matching" } + // { dg-message "candidate" "candidate note" { target *-*-* } 27 } +} |