diff options
-rw-r--r-- | lib/Lex/ModuleMap.cpp | 4 | ||||
-rw-r--r-- | test/Modules/Inputs/module.map | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/Lex/ModuleMap.cpp b/lib/Lex/ModuleMap.cpp index 8a936fa8e1..dda96c5989 100644 --- a/lib/Lex/ModuleMap.cpp +++ b/lib/Lex/ModuleMap.cpp @@ -1307,7 +1307,9 @@ void ModuleMapParser::parseHeaderDecl(SourceLocation UmbrellaLoc, if (BuiltinFile) Map.addHeader(ActiveModule, BuiltinFile, Exclude); } - } else { + } else if (!Exclude) { + // Ignore excluded header files. They're optional anyway. + Diags.Report(FileNameLoc, diag::err_mmap_header_not_found) << Umbrella << FileName; HadError = true; diff --git a/test/Modules/Inputs/module.map b/test/Modules/Inputs/module.map index 032241d6aa..46e7af8422 100644 --- a/test/Modules/Inputs/module.map +++ b/test/Modules/Inputs/module.map @@ -63,6 +63,7 @@ module decldef { module redecl_merge_top { header "redecl-merge-top.h" explicit module Explicit { header "redecl-merge-top-explicit.h" } + exclude header "nonexistent.h" } module redecl_merge_left { header "redecl-merge-left.h" |