From a14b9bc18431c6aed8441261d28b6ff20bd25935 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 11 Apr 2019 14:44:32 +0200 Subject: Initial take on header unit and include translation support --- build2/cc/parser+module.test.testscript | 48 ++++++++++++++++----------------- 1 file changed, 23 insertions(+), 25 deletions(-) (limited to 'build2/cc/parser+module.test.testscript') diff --git a/build2/cc/parser+module.test.testscript b/build2/cc/parser+module.test.testscript index 0e2e52e..dcb2f8b 100644 --- a/build2/cc/parser+module.test.testscript +++ b/build2/cc/parser+module.test.testscript @@ -5,6 +5,9 @@ # Test C++ module constructs. # +# NOTE: currently header unit imports don't produce anything. +# + : import : $* <>EOI @@ -13,6 +16,14 @@ import foo.bar; import foo.bar.baz; EOI +: import-header +: +$* <; +__import "/usr/include/stdio.h"; +EOI + : module-implementation : $* <>EOI @@ -29,40 +40,18 @@ EOI : $* <>EOO export import foo; +export import "foo.h"; +export import ; EOI export import foo; EOO -: export-imported-block -: -$* <>EOO -import bar; - -export {import foo;} - -export -{ - namespace foo - { - class c {}; - } - - template int f (); - - import bar; -} -EOI -export import bar; -export import foo; -EOO - : non-module : $* <>EOO import foo [[export({import})]]; +import "foo.h" [[export({import})]]; module bar [[module({module})]]; EOI import foo; @@ -121,7 +111,7 @@ EOE $* <>EOE != 0 import ; EOI -stdin:1:8: error: module name expected instead of ';' +stdin:1:8: error: module or header name expected instead of ';' EOE : module-missing-name @@ -147,3 +137,11 @@ export module foo EOI stdin:2:1: error: ';' expected instead of EOE + +: import-missing-header +: +$* <>EOE != 0 +import ' expected after header name +EOE -- cgit v1.1