diff options
| -rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 4 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/module.map | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index 8a936fa8e14..dda96c5989c 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/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/clang/test/Modules/Inputs/module.map b/clang/test/Modules/Inputs/module.map index 032241d6aa1..46e7af8422c 100644 --- a/clang/test/Modules/Inputs/module.map +++ b/clang/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" |

