From d363b1f30558827551c3041007ab8091675815df Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Mon, 18 Jan 1999 16:43:11 -0500 Subject: [PATCH] new From-SVN: r24752 --- .../g++.old-deja/g++.other/lineno1.C | 14 +++++++++++ .../g++.old-deja/g++.other/lineno2.C | 14 +++++++++++ gcc/testsuite/g++.old-deja/g++.other/pmf3.C | 24 +++++++++++++++++++ gcc/testsuite/g++.old-deja/g++.pt/ttp54.C | 20 ++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.other/lineno1.C create mode 100644 gcc/testsuite/g++.old-deja/g++.other/lineno2.C create mode 100644 gcc/testsuite/g++.old-deja/g++.other/pmf3.C create mode 100644 gcc/testsuite/g++.old-deja/g++.pt/ttp54.C diff --git a/gcc/testsuite/g++.old-deja/g++.other/lineno1.C b/gcc/testsuite/g++.old-deja/g++.other/lineno1.C new file mode 100644 index 00000000000..ab003e0ff95 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/lineno1.C @@ -0,0 +1,14 @@ +// Submitted by Nathan Sidwell +// Bug: g++ was giving the wrong line number for statics. +// Special g++ Options: -w + +class A +{ + A(); // ERROR - private + ~A(); // ERROR - private +}; + +static A a; // ERROR - here + + + diff --git a/gcc/testsuite/g++.old-deja/g++.other/lineno2.C b/gcc/testsuite/g++.old-deja/g++.other/lineno2.C new file mode 100644 index 00000000000..4d64d1abf1a --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/lineno2.C @@ -0,0 +1,14 @@ +// Submitted by Nathan Sidwell +// Bug: g++ wasn't listing candidates for a failed conversion. + +void f(int, double); // ERROR - candidate +void f(double, int); // ERROR - candidate +void f(int); // ERROR - candidate + +int +main () +{ + void (*ptr)(int, int); + + ptr = &f; // ERROR - no match +} diff --git a/gcc/testsuite/g++.old-deja/g++.other/pmf3.C b/gcc/testsuite/g++.old-deja/g++.other/pmf3.C new file mode 100644 index 00000000000..237812246e5 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/pmf3.C @@ -0,0 +1,24 @@ +// Submitted by Nathan Sidwell +// Bug: g++ was crashing after giving errors. + +template + void connect_to_method( + T *receiver, + void (T::*method)()) + {} + +class Gtk_Base +{ +public: + void expose(); + void show(); + void show(int); + Gtk_Base(); +}; + + +Gtk_Base::Gtk_Base() +{ + connect_to_method(this,&show); // ERROR - invalid pmf expression + connect_to_method(this,&expose); // ERROR - invalid pmf expression +} diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp54.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp54.C new file mode 100644 index 00000000000..bae649a3dfa --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/ttp54.C @@ -0,0 +1,20 @@ +// Build don't link: + +// Reported by Bruce Eckel + +// [temp.deduct.type] +// Make sure we treat in the construct TT as any type containing T. + +template class C +{ +}; + +template class TT> void f (TT &t) +{ +} + +int main () +{ + C c; + f(c); +}