[clang] 878097d - [APINotes] Fix failing tests after a PCM logic change
via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 11 05:02:33 PDT 2024
Author: Egor Zhdan
Date: 2024-03-11T12:02:29Z
New Revision: 878097dff3ea4bad6b7f50017224a84bbf2af406
URL: https://github.com/llvm/llvm-project/commit/878097dff3ea4bad6b7f50017224a84bbf2af406
DIFF: https://github.com/llvm/llvm-project/commit/878097dff3ea4bad6b7f50017224a84bbf2af406.diff
LOG: [APINotes] Fix failing tests after a PCM logic change
This fixes tests that are going to be upstreamed in the near future.
Currently they are failing downstream in the Apple open source fork.
Failing tests
Clang :: APINotes/retain-count-convention.m
Clang :: APINotes/types.m
Clang :: APINotes/versioned-multi.c
Clang :: APINotes/versioned.m
Since 2e5af56 got merged, Clang now enables `LangOpts.APINotesModules`
when reading a precompiled module that was built with API Notes enabled.
This is correct. The logic in APINotesManager needs to be adjusted to
handle this.
rdar://123526142
Added:
Modified:
clang/lib/APINotes/APINotesManager.cpp
Removed:
################################################################################
diff --git a/clang/lib/APINotes/APINotesManager.cpp b/clang/lib/APINotes/APINotesManager.cpp
index d3aef09dac9105..f60f09e2b3c231 100644
--- a/clang/lib/APINotes/APINotesManager.cpp
+++ b/clang/lib/APINotes/APINotesManager.cpp
@@ -224,7 +224,7 @@ APINotesManager::getCurrentModuleAPINotes(Module *M, bool LookInModule,
llvm::SmallVector<FileEntryRef, 2> APINotes;
// First, look relative to the module itself.
- if (LookInModule) {
+ if (LookInModule && M->Directory) {
// Local function to try loading an API notes file in the given directory.
auto tryAPINotes = [&](DirectoryEntryRef Dir, bool WantPublic) {
if (auto File = findAPINotesFile(Dir, ModuleName, WantPublic)) {
More information about the cfe-commits
mailing list