new
authorJason Merrill <jason@gcc.gnu.org>
Mon, 18 Jan 1999 21:43:11 +0000 (16:43 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 18 Jan 1999 21:43:11 +0000 (16:43 -0500)
From-SVN: r24752

gcc/testsuite/g++.old-deja/g++.other/lineno1.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.other/lineno2.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.other/pmf3.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/ttp54.C [new file with mode: 0644]

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 (file)
index 0000000..ab003e0
--- /dev/null
@@ -0,0 +1,14 @@
+// Submitted by Nathan Sidwell <nathan@acm.org>
+// 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 (file)
index 0000000..4d64d1a
--- /dev/null
@@ -0,0 +1,14 @@
+// Submitted by Nathan Sidwell <nathan@acm.org>
+// 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 (file)
index 0000000..2378122
--- /dev/null
@@ -0,0 +1,24 @@
+// Submitted by Nathan Sidwell <nathan@acm.org>
+// Bug: g++ was crashing after giving errors.
+
+template<class T>
+  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 (file)
index 0000000..bae649a
--- /dev/null
@@ -0,0 +1,20 @@
+// Build don't link:
+
+// Reported by Bruce Eckel <Bruce@EckelObjects.com>
+
+// [temp.deduct.type]
+// Make sure we treat <T> in the construct TT<T> as any type containing T.
+
+template <class T> class C
+{
+};
+
+template <class T, template <class> class TT> void f (TT<T *> &t)
+{
+}
+
+int main ()
+{
+       C<char *> c;
+       f(c);
+}