diff options
Diffstat (limited to 'build2/cc/parser+module.test.testscript')
-rw-r--r-- | build2/cc/parser+module.test.testscript | 48 |
1 files changed, 23 insertions, 25 deletions
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 >>EOI @@ -13,6 +16,14 @@ import foo.bar; import foo.bar.baz; EOI +: import-header +: +$* <<EOI +import "foo.h"; +import <sys/foo.h>; +__import "/usr/include/stdio.h"; +EOI + : module-implementation : $* <<EOI >>EOI @@ -29,40 +40,18 @@ EOI : $* <<EOI >>EOO export import foo; +export import "foo.h"; +export import <sys/foo.h>; 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 @@ -70,6 +59,7 @@ EOI : $* <<EOI >>EOO import foo [[export({import})]]; +import "foo.h" [[export({import})]]; module bar [[module({module})]]; EOI import foo; @@ -121,7 +111,7 @@ EOE $* <<EOI 2>>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 <end of file> EOE + +: import-missing-header +: +$* <<EOI 2>>EOE != 0 +import <foo.h; +EOI +stdin:2:1: error: closing '>' expected after header name +EOE |