summaryrefslogtreecommitdiff
path: root/tests/parser
diff options
context:
space:
mode:
Diffstat (limited to 'tests/parser')
-rw-r--r--tests/parser/common.cli1
-rw-r--r--tests/parser/makefile2
-rw-r--r--tests/parser/test-001-base.cli (renamed from tests/parser/base.cli)0
-rw-r--r--tests/parser/test-001-common.cli1
-rw-r--r--tests/parser/test-001.cli4
-rw-r--r--tests/parser/test-003.cli20
-rw-r--r--tests/parser/test-007-base.cli11
-rw-r--r--tests/parser/test-007.cli29
-rw-r--r--tests/parser/test-007.std0
9 files changed, 61 insertions, 7 deletions
diff --git a/tests/parser/common.cli b/tests/parser/common.cli
deleted file mode 100644
index c0c7262..0000000
--- a/tests/parser/common.cli
+++ /dev/null
@@ -1 +0,0 @@
-include "base.cli";
diff --git a/tests/parser/makefile b/tests/parser/makefile
index eaceabd..490fbf3 100644
--- a/tests/parser/makefile
+++ b/tests/parser/makefile
@@ -7,7 +7,7 @@ include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make
cxx_tun := driver.cxx
-tests := 000 001 002 003 004 005 006
+tests := 000 001 002 003 004 005 006 007
#
#
diff --git a/tests/parser/base.cli b/tests/parser/test-001-base.cli
index e69de29..e69de29 100644
--- a/tests/parser/base.cli
+++ b/tests/parser/test-001-base.cli
diff --git a/tests/parser/test-001-common.cli b/tests/parser/test-001-common.cli
new file mode 100644
index 0000000..73fb928
--- /dev/null
+++ b/tests/parser/test-001-common.cli
@@ -0,0 +1 @@
+include "test-001-base.cli";
diff --git a/tests/parser/test-001.cli b/tests/parser/test-001.cli
index 473a238..52f7f8e 100644
--- a/tests/parser/test-001.cli
+++ b/tests/parser/test-001.cli
@@ -2,5 +2,5 @@
//
include <string>;
include "types.hxx";
-include "common.cli";
-include "../parser/base.cli";
+include "test-001-common.cli";
+include "../parser/test-001-base.cli";
diff --git a/tests/parser/test-003.cli b/tests/parser/test-003.cli
index bfd8c72..2920b16 100644
--- a/tests/parser/test-003.cli
+++ b/tests/parser/test-003.cli
@@ -1,9 +1,23 @@
-// class-def
+// class-def, inheritance-spec, abstract-spec
//
class c1
{
};
-class c2
+class c2 = 0
{
-}; \ No newline at end of file
+};
+
+class c3: c1, ::c2
+{
+};
+
+namespace n1
+{
+ class c {};
+}
+
+class c4: n1::c = 0
+{
+};
+
diff --git a/tests/parser/test-007-base.cli b/tests/parser/test-007-base.cli
new file mode 100644
index 0000000..7c02a39
--- /dev/null
+++ b/tests/parser/test-007-base.cli
@@ -0,0 +1,11 @@
+class b1 {};
+
+namespace n1
+{
+ class b2 {};
+
+ namespace i1
+ {
+ class b3 {};
+ }
+}
diff --git a/tests/parser/test-007.cli b/tests/parser/test-007.cli
new file mode 100644
index 0000000..3e5ca7f
--- /dev/null
+++ b/tests/parser/test-007.cli
@@ -0,0 +1,29 @@
+// base class lookup
+//
+
+include "test-007-base.cli";
+
+class c1 {};
+class c2: c1 {};
+class c3: ::c1 {};
+
+namespace n1
+{
+ class c4 {};
+ class c5: c4 {};
+ class c6: n1::c4 {};
+ class c7: ::n1::c4 {};
+
+ class c8: b2 {}; // From included.
+ class c9: i1::b3 {}; // From included.
+
+ namespace i1
+ {
+ class c10: c4 {}; // Outer scope.
+ class c11: b3 {}; // From included.
+ class c12: b2 {}; // Outer scope from included.
+ }
+}
+
+class c13: n1::c4 {};
+class c14: ::n1::c4 {};
diff --git a/tests/parser/test-007.std b/tests/parser/test-007.std
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/parser/test-007.std