aboutsummaryrefslogtreecommitdiff
path: root/unit-tests/cc/parser
diff options
context:
space:
mode:
Diffstat (limited to 'unit-tests/cc/parser')
-rw-r--r--unit-tests/cc/parser/buildfile6
-rw-r--r--unit-tests/cc/parser/driver.cxx66
-rw-r--r--unit-tests/cc/parser/module.testscript149
3 files changed, 0 insertions, 221 deletions
diff --git a/unit-tests/cc/parser/buildfile b/unit-tests/cc/parser/buildfile
deleted file mode 100644
index d9e3e28..0000000
--- a/unit-tests/cc/parser/buildfile
+++ /dev/null
@@ -1,6 +0,0 @@
-# file : unit-tests/cc/parser/buildfile
-# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
-# license : MIT; see accompanying LICENSE file
-
-include ../../../build2/
-exe{driver}: {hxx cxx}{*} ../../../build2/libue{b} testscript{*}
diff --git a/unit-tests/cc/parser/driver.cxx b/unit-tests/cc/parser/driver.cxx
deleted file mode 100644
index 19a2133..0000000
--- a/unit-tests/cc/parser/driver.cxx
+++ /dev/null
@@ -1,66 +0,0 @@
-// file : unit-tests/cc/parser/driver.cxx -*- C++ -*-
-// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
-// license : MIT; see accompanying LICENSE file
-
-#include <cassert>
-#include <iostream>
-
-#include <build2/types.hxx>
-#include <build2/utility.hxx>
-
-#include <build2/cc/parser.hxx>
-
-using namespace std;
-using namespace butl;
-
-namespace build2
-{
- namespace cc
- {
- // Usage: argv[0] [<file>]
- //
- int
- main (int argc, char* argv[])
- {
- try
- {
- const char* file;
-
- ifdstream is;
- if (argc > 1)
- {
- file = argv[1];
- is.open (file);
- }
- else
- {
- file = "stdin";
- is.open (fddup (stdin_fd ()));
- }
-
- parser p;
- translation_unit u (p.parse (is, path (file)));
-
- for (const module_import& m: u.mod.imports)
- cout << (m.exported ? "export " : "")
- << "import " << m.name << ';' << endl;
-
- if (!u.mod.name.empty ())
- cout << (u.mod.iface ? "export " : "")
- << "module " << u.mod.name << ';' << endl;
- }
- catch (const failed&)
- {
- return 1;
- }
-
- return 0;
- }
- }
-}
-
-int
-main (int argc, char* argv[])
-{
- return build2::cc::main (argc, argv);
-}
diff --git a/unit-tests/cc/parser/module.testscript b/unit-tests/cc/parser/module.testscript
deleted file mode 100644
index dc7f3e4..0000000
--- a/unit-tests/cc/parser/module.testscript
+++ /dev/null
@@ -1,149 +0,0 @@
-# file : unit-tests/cc/parser/module.testscript
-# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
-# license : MIT; see accompanying LICENSE file
-
-# Test C++ module constructs.
-#
-
-: import
-:
-$* <<EOI >>EOI
-import foo;
-import foo.bar;
-import foo.bar.baz;
-EOI
-
-: module-implementation
-:
-$* <<EOI >>EOI
-module foo;
-EOI
-
-: module-interface
-:
-$* <<EOI >>EOI
-export module foo;
-EOI
-
-: export-imported
-:
-$* <<EOI >>EOO
-export import foo;
-EOI
-export import foo;
-EOO
-
-: export-imported-block
-:
-$* <<EOI >>EOO
-import bar;
-
-export {import foo;}
-
-export
-{
- namespace foo
- {
- class c {};
- }
-
- template <typename T> int f ();
-
- import bar;
-}
-EOI
-export import bar;
-export import foo;
-EOO
-
-: non-module
-:
-$* <<EOI
-#pragma import module foo;
-#pragma export module foo;
-#pragma module foo;
-extern module foo: int foo ();
-export namespace bar {int fox ();}
-EOI
-
-: attribute
-:
-$* <<EOI >>EOO
-import foo [[export({import})]];
-module bar [[module({module})]];
-EOI
-import foo;
-module bar;
-EOO
-
-: import-duplicate
-:
-$* <<EOI >>EOO
-import foo;
-import bar.baz;
-import foo;
-import bar . baz;
-EOI
-import foo;
-import bar.baz;
-EOO
-
-: brace-missing
-:
-$* <<EOI 2>>EOE != 0
-export
-{
- class foo
- {
- //};
- module foo;
-}
-EOI
-stdin:8:1: error: {}-imbalance detected
-EOE
-
-: brace-stray
-:
-$* <<EOI 2>>EOE != 0
-export
-{
- class foo
- {
- };}
-}
-module foo;
-EOI
-stdin:6:1: error: {}-imbalance detected
-EOE
-
-: import-missing-name
-:
-$* <<EOI 2>>EOE != 0
-import ;
-EOI
-stdin:1:8: error: module name expected instead of ';'
-EOE
-
-: module-missing-name
-:
-$* <<EOI 2>>EOE != 0
-module ;
-EOI
-stdin:1:1: error: module declaration expected after leading module marker
-EOE
-
-: import-missing-semi
-:
-$* <<EOI 2>>EOE != 0
-import foo
-EOI
-stdin:2:1: error: ';' expected instead of <end of file>
-EOE
-
-: module-missing-semi
-:
-$* <<EOI 2>>EOE != 0
-export module foo
-EOI
-stdin:2:1: error: ';' expected instead of <end of file>
-EOE