OSDN Git Service

PR c++/2738
authorreichelt <reichelt@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 22 Jan 2003 23:21:51 +0000 (23:21 +0000)
committerreichelt <reichelt@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 22 Jan 2003 23:21:51 +0000 (23:21 +0000)
* g++.dg/parse/ret-type1.C: New test.

PR c++/3792
* g++.dg/parse/tmpl-outside1.C: New test.

PR c++/4207
* g++.dg/parse/int-as-enum1.C: New test.

PR c++/4903
* g++.dg/parse/no-typename1.C: New test.

PR c++/5533
* g++.dg/parse/no-value1.C: New test.

PR c++/5921
* g++.dg/parse/wrong-inline1.C: New test.

PR c++/6402
* g++.dg/parse/ref1.C: New test.

PR c++/6992
* g++.dg/parse/attr-ctor1.C: New test.

PR c++/7229
* g++.dg/parse/namespace5.C: New test.

PR c++/7917
* g++.dg/parse/func-def1.C: New test.

PR c++/8143
* g++.dg/parse/undefined1.C: New test.

PR c++/5723, PR c++/8522
* g++.dg/parse/specialization1.C: New test.

PR c++/163, PR c++/8595
* g++.dg/parse/struct-as-enum1.C: New test.

PR c++/9173
* g++.dg/parse/undefined2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61624 138bc75d-0d04-0410-961f-82ee72b054a4

15 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/attr-ctor1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/func-def1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/int-as-enum1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/namespace5.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/no-typename1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/no-value1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/ref1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/ret-type1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/specialization1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/struct-as-enum1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/tmpl-outside1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/undefined1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/undefined2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/wrong-inline1.C [new file with mode: 0644]

index fed915c..80d67ee 100644 (file)
@@ -1,3 +1,47 @@
+2003-01-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/2738
+       * g++.dg/parse/ret-type1.C: New test.
+
+       PR c++/3792
+       * g++.dg/parse/tmpl-outside1.C: New test.
+
+       PR c++/4207
+       * g++.dg/parse/int-as-enum1.C: New test.
+
+       PR c++/4903
+       * g++.dg/parse/no-typename1.C: New test.
+
+       PR c++/5533
+       * g++.dg/parse/no-value1.C: New test.
+
+       PR c++/5921
+       * g++.dg/parse/wrong-inline1.C: New test.
+
+       PR c++/6402
+       * g++.dg/parse/ref1.C: New test.
+
+       PR c++/6992
+       * g++.dg/parse/attr-ctor1.C: New test.
+
+       PR c++/7229
+       * g++.dg/parse/namespace5.C: New test.
+
+       PR c++/7917
+       * g++.dg/parse/func-def1.C: New test.
+
+       PR c++/8143
+       * g++.dg/parse/undefined1.C: New test.
+
+       PR c++/5723, PR c++/8522
+       * g++.dg/parse/specialization1.C: New test.
+
+       PR c++/163, PR c++/8595
+       * g++.dg/parse/struct-as-enum1.C: New test.
+
+       PR c++/9173
+       * g++.dg/parse/undefined2.C: New test.
+
 2003-01-22  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/9298
diff --git a/gcc/testsuite/g++.dg/parse/attr-ctor1.C b/gcc/testsuite/g++.dg/parse/attr-ctor1.C
new file mode 100644 (file)
index 0000000..4f8cd1d
--- /dev/null
@@ -0,0 +1,8 @@
+// PR c++/6992
+// Origin: <petr@scssoft.com>
+// { dg-do compile }
+
+class A
+{
+    __attribute__((section("whatever"))) A();
+};
diff --git a/gcc/testsuite/g++.dg/parse/func-def1.C b/gcc/testsuite/g++.dg/parse/func-def1.C
new file mode 100644 (file)
index 0000000..00c973d
--- /dev/null
@@ -0,0 +1,11 @@
+// PR c++/7917
+// Origin: VACLAV HAISMAN <V.Haisman@sh.cvut.cz>
+// { dg-do compile }
+
+struct A
+{
+    int i;
+    void foo() = 0 {} // { dg-error "" }
+
+    A() : i(0) {}
+};
diff --git a/gcc/testsuite/g++.dg/parse/int-as-enum1.C b/gcc/testsuite/g++.dg/parse/int-as-enum1.C
new file mode 100644 (file)
index 0000000..2bf9cc0
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/4207
+// Origin: <wanderer@rsu.ru>
+// { dg-do compile }
+
+typedef int A;
+enum ::A {}; // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/namespace5.C b/gcc/testsuite/g++.dg/parse/namespace5.C
new file mode 100644 (file)
index 0000000..277c0c8
--- /dev/null
@@ -0,0 +1,5 @@
+// PR c++/7229
+// { dg-do compile }
+
+namespace A { namespace B { typedef int type; } }
+typename A::B<0>::type x; // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/no-typename1.C b/gcc/testsuite/g++.dg/parse/no-typename1.C
new file mode 100644 (file)
index 0000000..42059ce
--- /dev/null
@@ -0,0 +1,11 @@
+// PR c++/4903
+// Origin: Dan Marinescu <theverylittleone@hotmail.com>
+// { dg-do compile }
+
+template <typename T> struct A
+{
+    template <typename U> struct B
+    {
+        A<T>::template B<U> foo(); // { dg-error "" }
+    };
+};
diff --git a/gcc/testsuite/g++.dg/parse/no-value1.C b/gcc/testsuite/g++.dg/parse/no-value1.C
new file mode 100644 (file)
index 0000000..443a389
--- /dev/null
@@ -0,0 +1,14 @@
+// PR c++/5533
+// { dg-do compile }
+
+namespace N
+{
+    template <class T> struct A{};
+}
+
+template <class T> void foo(T) {}
+
+void bar()
+{
+    foo(N::A); // { dg-error "" }
+}
diff --git a/gcc/testsuite/g++.dg/parse/ref1.C b/gcc/testsuite/g++.dg/parse/ref1.C
new file mode 100644 (file)
index 0000000..d1dffb0
--- /dev/null
@@ -0,0 +1,17 @@
+// PR c++/6402
+// Origin: Wolfgang Bangerth <wolfgang@dealii.org>
+// { dg-do compile }
+
+class A
+{
+    A (const A&);
+  public:
+    A();
+};
+
+struct B { A a; };
+
+struct C : public B
+{
+    void foo() { const A &ref = B::a; } // taking reference, not a copy!
+};
diff --git a/gcc/testsuite/g++.dg/parse/ret-type1.C b/gcc/testsuite/g++.dg/parse/ret-type1.C
new file mode 100644 (file)
index 0000000..a5dc93a
--- /dev/null
@@ -0,0 +1,10 @@
+// PR c++/2738
+// Origin: Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
+// { dg-do compile }
+
+template <int i> class A
+{
+    class C { C(); };
+};
+
+template <int i> void A<i>::C::C () {} // { dg-error "return type" }
diff --git a/gcc/testsuite/g++.dg/parse/specialization1.C b/gcc/testsuite/g++.dg/parse/specialization1.C
new file mode 100644 (file)
index 0000000..7378570
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/5723, PR c++/8522
+// Origin: Matthias Kleinmann, Peter Karl Mueller <peter.karl.mueller@gmx.de>
+// { dg-do compile }
+
+template <typename T> class A;
+template <typename T> class A<T>::B; // { dg-error "declaration" }
diff --git a/gcc/testsuite/g++.dg/parse/struct-as-enum1.C b/gcc/testsuite/g++.dg/parse/struct-as-enum1.C
new file mode 100644 (file)
index 0000000..016c603
--- /dev/null
@@ -0,0 +1,10 @@
+// PR c++/163, PR c++/8595
+// Origin: <martin@loewis.home.cs.tu-berlin.de>, Mark Leone <mleone@pixar.com>
+// { dg-do compile }
+
+namespace N
+{
+    struct A {};
+}
+
+typedef enum N::A B; // { dg-error "enum" }
diff --git a/gcc/testsuite/g++.dg/parse/tmpl-outside1.C b/gcc/testsuite/g++.dg/parse/tmpl-outside1.C
new file mode 100644 (file)
index 0000000..07c89e2
--- /dev/null
@@ -0,0 +1,10 @@
+// PR c++/3792
+// Origin: <david.abrahams@rcn.com>
+// { dg-do compile }
+
+struct X
+{
+   template <int i> struct Y {};
+};
+
+typedef X::template Y<0> y; // { dg-error "template" }
diff --git a/gcc/testsuite/g++.dg/parse/undefined1.C b/gcc/testsuite/g++.dg/parse/undefined1.C
new file mode 100644 (file)
index 0000000..0ae4e88
--- /dev/null
@@ -0,0 +1,10 @@
+// PR c++/8143
+// { dg-do compile }
+
+struct foo
+{
+    X x;                   // { dg-error "" }
+
+    foo(X)              {} // { dg-error "" }
+    foo(X y, int) : x() {} // { dg-error "" }
+};
diff --git a/gcc/testsuite/g++.dg/parse/undefined2.C b/gcc/testsuite/g++.dg/parse/undefined2.C
new file mode 100644 (file)
index 0000000..a7e76f1
--- /dev/null
@@ -0,0 +1,12 @@
+// PR c++/9173
+// Origin: <wwieser@gmx.de>
+// { dg-do compile }
+
+class A {};
+
+class B
+{
+    void foo(int,A::X); // { dg-error "" }
+};
+
+void B::foo(int,A::X) {} // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/wrong-inline1.C b/gcc/testsuite/g++.dg/parse/wrong-inline1.C
new file mode 100644 (file)
index 0000000..22b9a97
--- /dev/null
@@ -0,0 +1,12 @@
+// PR c++/5921
+// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+// { dg-do compile }
+
+struct A
+{
+  struct B { B(); };
+};
+
+static A::B b;
+
+inline template <int i> void f (); // { dg-error "" }