diff options
Diffstat (limited to 'test/Modules/load-after-failure.m')
-rw-r--r-- | test/Modules/load-after-failure.m | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/Modules/load-after-failure.m b/test/Modules/load-after-failure.m new file mode 100644 index 000000000000..f471fd88d505 --- /dev/null +++ b/test/Modules/load-after-failure.m @@ -0,0 +1,25 @@ +// REQUIRES: shell +// RUN: rm -rf %t +// RUN: mkdir -p %t + +// RUN: echo '@import B;' > %t/A.h +// RUN: echo '@import C;' > %t/B.h +// RUN: echo '@import D;' >> %t/B.h +// RUN: echo '// C.h' > %t/C.h +// RUN: echo '// D.h' > %t/D.h +// RUN: echo 'module A { header "A.h" }' > %t/module.modulemap +// RUN: echo 'module B { header "B.h" }' >> %t/module.modulemap +// RUN: echo 'module C { header "C.h" }' >> %t/module.modulemap +// RUN: echo 'module D { header "D.h" }' >> %t/module.modulemap + +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %t %s -verify +// RUN: echo " " >> %t/D.h +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %t %s -verify +// expected-no-diagnostics + + +@import C; +@import A; +@import C; +// When compiling A, C will be be loaded then removed when D fails. Ensure +// this does not cause problems importing C again later. |