[clang] 720014f - Revert "[Modules] Don't fail when an unused textual header is missing. (#138227)"
Volodymyr Sapsai via cfe-commits
cfe-commits at lists.llvm.org
Thu May 22 18:48:21 PDT 2025
Author: Volodymyr Sapsai
Date: 2025-05-22T18:34:30-07:00
New Revision: 720014f70841f0284d21ef8100c406d6c864ac9c
URL: https://github.com/llvm/llvm-project/commit/720014f70841f0284d21ef8100c406d6c864ac9c
DIFF: https://github.com/llvm/llvm-project/commit/720014f70841f0284d21ef8100c406d6c864ac9c.diff
LOG: Revert "[Modules] Don't fail when an unused textual header is missing. (#138227)"
This reverts commit 64bb60a471a5ddc9c9bec413c65fdab730a1e4b0.
Revert to give more time affected parties to adjust to the change.
Added:
Modified:
clang/lib/Lex/ModuleMap.cpp
clang/test/Modules/Inputs/submodules/module.modulemap
clang/test/Modules/missing-header.m
Removed:
################################################################################
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp
index 4175959d8f55b..e899e0cbc6f35 100644
--- a/clang/lib/Lex/ModuleMap.cpp
+++ b/clang/lib/Lex/ModuleMap.cpp
@@ -310,10 +310,8 @@ void ModuleMap::resolveHeader(Module *Mod,
} else if (Header.HasBuiltinHeader && !Header.Size && !Header.ModTime) {
// There's a builtin header but no corresponding on-disk header. Assume
// this was supposed to modularize the builtin header alone.
- } else if ((Header.Kind == Module::HK_Excluded) ||
- (Header.Kind == Module::HK_Textual)) {
- // Ignore excluded and textual header files as a module can be built with
- // such headers missing.
+ } else if (Header.Kind == Module::HK_Excluded) {
+ // Ignore missing excluded header files. They're optional anyway.
} else {
// If we find a module that has a missing header, we mark this module as
// unavailable and store the header directive for displaying diagnostics.
diff --git a/clang/test/Modules/Inputs/submodules/module.modulemap b/clang/test/Modules/Inputs/submodules/module.modulemap
index 9e8143b8101de..1c1b76a08969e 100644
--- a/clang/test/Modules/Inputs/submodules/module.modulemap
+++ b/clang/test/Modules/Inputs/submodules/module.modulemap
@@ -30,7 +30,3 @@ module missing_umbrella_with_inferred_submodules {
module * { export * }
export *
}
-
-module missing_textual_header {
- textual header "missing_textual.h"
-}
diff --git a/clang/test/Modules/missing-header.m b/clang/test/Modules/missing-header.m
index 84d82e5ceda32..c162e1b5f08b3 100644
--- a/clang/test/Modules/missing-header.m
+++ b/clang/test/Modules/missing-header.m
@@ -8,9 +8,6 @@
@import missing_unavailable_headers.not_missing; // OK
// CHECK-NOT: missing_unavailable_headers
- at import missing_textual_header; // OK
-// CHECK-NOT: missing_textual_header
-
@import missing_headers;
// CHECK: module.modulemap:15:27: error: header 'missing.h' not found
// CHECK: could not build module 'missing_headers'
More information about the cfe-commits
mailing list