diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Index/missing_vfs.c | 6 | ||||
-rw-r--r-- | clang/test/VFS/Inputs/MissingVFS/a.h | 1 | ||||
-rw-r--r-- | clang/test/VFS/Inputs/MissingVFS/module.modulemap | 3 | ||||
-rw-r--r-- | clang/test/VFS/Inputs/MissingVFS/vfsoverlay.yaml | 13 | ||||
-rw-r--r-- | clang/test/VFS/module_missing_vfs.m | 16 |
5 files changed, 39 insertions, 0 deletions
diff --git a/clang/test/Index/missing_vfs.c b/clang/test/Index/missing_vfs.c new file mode 100644 index 00000000000..61aedd41cfa --- /dev/null +++ b/clang/test/Index/missing_vfs.c @@ -0,0 +1,6 @@ +// RUN: c-index-test -test-load-source local %s -ivfsoverlay %t/does-not-exist.yaml &> %t.out +// RUN: FileCheck -check-prefix=STDERR %s < %t.out +// STDERR: fatal error: virtual filesystem overlay file '{{.*}}' not found +// RUN: FileCheck %s < %t.out +// CHECK: missing_vfs.c:[[@LINE+1]]:6: FunctionDecl=foo:[[@LINE+1]]:6 +void foo(void); diff --git a/clang/test/VFS/Inputs/MissingVFS/a.h b/clang/test/VFS/Inputs/MissingVFS/a.h new file mode 100644 index 00000000000..892d837b10b --- /dev/null +++ b/clang/test/VFS/Inputs/MissingVFS/a.h @@ -0,0 +1 @@ +// void funcA(void); diff --git a/clang/test/VFS/Inputs/MissingVFS/module.modulemap b/clang/test/VFS/Inputs/MissingVFS/module.modulemap new file mode 100644 index 00000000000..bbd9d674c94 --- /dev/null +++ b/clang/test/VFS/Inputs/MissingVFS/module.modulemap @@ -0,0 +1,3 @@ +module A { + header "a.h" +} diff --git a/clang/test/VFS/Inputs/MissingVFS/vfsoverlay.yaml b/clang/test/VFS/Inputs/MissingVFS/vfsoverlay.yaml new file mode 100644 index 00000000000..49517a15908 --- /dev/null +++ b/clang/test/VFS/Inputs/MissingVFS/vfsoverlay.yaml @@ -0,0 +1,13 @@ +{ + 'version': 0, + 'ignore-non-existent-contents': false, + 'roots': [ + { 'name': 'INPUT_DIR', 'type': 'directory', + 'contents': [ + { 'name': 'a.h', 'type': 'file', + 'external-contents': 'OUT_DIR/a.h' + } + ] + } + ] +} diff --git a/clang/test/VFS/module_missing_vfs.m b/clang/test/VFS/module_missing_vfs.m new file mode 100644 index 00000000000..4c4ee4dd896 --- /dev/null +++ b/clang/test/VFS/module_missing_vfs.m @@ -0,0 +1,16 @@ +// REQUIRES: shell +// RUN: rm -rf %t && mkdir -p %t +// RUN: echo "void funcA(void);" >> %t/a.h + +// RUN: not %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/mcp -I %S/Inputs/MissingVFS %s -fsyntax-only -ivfsoverlay %t/vfs.yaml 2>&1 | FileCheck %s -check-prefix=ERROR +// ERROR: virtual filesystem overlay file '{{.*}}' not found +// RUN: find %t/mcp -name "A-*.pcm" | count 1 + +// RUN: sed -e "s:INPUT_DIR:%S/Inputs:g" -e "s:OUT_DIR:%t:g" %S/Inputs/MissingVFS/vfsoverlay.yaml > %t/vfs.yaml +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/mcp -I %S/Inputs/MissingVFS %s -fsyntax-only -ivfsoverlay %t/vfs.yaml +// RUN: find %t/mcp -name "A-*.pcm" | count 1 + +@import A; +void test(void) { + funcA(); +} |