OSDN Git Service

add
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Sep 1997 07:40:44 +0000 (07:40 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Sep 1997 07:40:44 +0000 (07:40 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15721 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/g++.old-deja/g++.pt/nontype1.C
gcc/testsuite/g++.old-deja/g++.pt/syntax1.C
gcc/testsuite/g++.old-deja/g++.pt/typename1.C
gcc/testsuite/g++.old-deja/g++.pt/typename2.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/warn1.C

index 7126200..4070885 100644 (file)
@@ -1,3 +1,5 @@
+// Build don't link:
+
 struct X {
     enum {
        a = 0,
index 38fd79e..c34eff1 100644 (file)
@@ -1,3 +1,5 @@
+// Build don't link:
+
 template<class T>
 struct A {
     typedef T T1;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename2.C b/gcc/testsuite/g++.old-deja/g++.pt/typename2.C
new file mode 100644 (file)
index 0000000..f2f2265
--- /dev/null
@@ -0,0 +1,21 @@
+// Build don't link:
+
+class Base {
+public:
+  class Bar { public: virtual ~Bar() {}; };
+};
+
+class Derived : public Base {
+public:
+  class Bar : public Base::Bar {};
+};
+
+template <class T>
+struct XYZ : public T::Bar {
+  XYZ(): T::Bar() { }
+};
+
+void test() {
+  XYZ<Base> b;
+  XYZ<Derived> d;
+}
index 2b9fc7a..96ed148 100644 (file)
@@ -1,24 +1,27 @@
-    template <class T>
-    struct S
-    {
-      struct R 
-      {
-       R();
-       ~R();
-      };
+// Build don't link:
+// Special g++ Options: -Wunused
 
-      void foo()
-      {
-       R r;
-       int i;
-      }
+template <class T>
+struct S
+{
+  struct R 
+  {
+    R();
+    ~R();
+  };
 
-      S();
-      ~S();
-    };
+  void foo()
+  {
+    R r;                       // no warning
+    int i;                     // WARNING - unused
+  }
 
-    void f()
-    {
-      S<int> si;
-      si.foo();
-    }
+  S();
+  ~S();
+};
+
+void f()
+{
+  S<int> si;
+  si.foo();
+}