diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/arg11.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/arg11.C | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg11.C b/gcc/testsuite/g++.old-deja/g++.law/arg11.C new file mode 100644 index 000000000..fc9357964 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/arg11.C @@ -0,0 +1,23 @@ +// { dg-do assemble } +// GROUPS passed arg-matching +// From: gustavo@cpqd.br (Gustavo Chaves) +// Date: Wed, 25 May 94 09:38:00 EST +// Subject: problem with user defined conversions in initialization +// Message-ID: <9405251238.AA19815@moon.cpqd.br> + +struct String { String(const char*); }; + +struct Ack { Ack(String); }; + +struct S { void method(Ack); }; // { dg-message "S::method|no known conversion" } referenced below + +void function(Ack); + +int +foo(S *o) +{ // Neither call has a usable constructor for conversions of char[5] to Ack. + function("adsf");// { dg-error "could not convert" } + o->method("adsf");// { dg-error "no matching" } + // { dg-message "candidate" "candidate note" { target *-*-* } 20 } + return 0; +} |