| // Tests that the module dependency scan properly outputs diagnostics which | |
| // were collected during the dependency scan. | |
| // RUN: split-file %s %t | |
| // RUN: not %clang -### -fmodules -fmodules-driver -Rmodules-driver \ | |
| // RUN: -fmodule-map-file=%t/module.modulemap %t/main.cpp 2>&1 \ | |
| // RUN: -fmodules-cache-path=%t/modules-cache \ | |
| // RUN: | FileCheck --check-prefixes=CHECK %s | |
| //--- module.modulemap | |
| module a { header "a.h" } | |
| //--- a.h | |
| // Diagnostics collected during the dependency scan need to be translated to | |
| // and from a representation that can outlive the compiler invocation they | |
| // were generated by. | |
| // We test that the diagnostics source location is translated correctly: | |
| //----10|-------20|--------30| | |
| #include /*just some space*/ "doesnotexist.h" | |
| // CHECK: a.h:6:30: fatal error: 'doesnotexist.h' file not found | |
| //--- main.cpp | |
| #include "a.h" | |
| // CHECK: clang: error: failed to perform dependency scan |