[llvm] 515d3f7 - [TextAPI] Reorder addRPath parameters (#87601)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 4 10:45:58 PDT 2024
Author: Cyndy Ishida
Date: 2024-04-04T10:45:55-07:00
New Revision: 515d3f7d62679cba178fb3603db963baa6ec8c93
URL: https://github.com/llvm/llvm-project/commit/515d3f7d62679cba178fb3603db963baa6ec8c93
DIFF: https://github.com/llvm/llvm-project/commit/515d3f7d62679cba178fb3603db963baa6ec8c93.diff
LOG: [TextAPI] Reorder addRPath parameters (#87601)
It matches up with other _attribute_ adding member functions and helps
simplify InterfaceFile assignment for InstallAPI.
Added:
Modified:
llvm/include/llvm/TextAPI/InterfaceFile.h
llvm/lib/TextAPI/InterfaceFile.cpp
llvm/lib/TextAPI/TextStubV5.cpp
llvm/unittests/TextAPI/TextStubV5Tests.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/TextAPI/InterfaceFile.h b/llvm/include/llvm/TextAPI/InterfaceFile.h
index 10a37e3a0c2f35..23c27cb0f47456 100644
--- a/llvm/include/llvm/TextAPI/InterfaceFile.h
+++ b/llvm/include/llvm/TextAPI/InterfaceFile.h
@@ -299,9 +299,9 @@ class InterfaceFile {
}
/// Set the runpath search paths.
- /// \param InputTarget The target applicable to runpath search path.
/// \param RPath The name of runpath.
- void addRPath(const Target &InputTarget, StringRef RPath);
+ /// \param InputTarget The target applicable to runpath search path.
+ void addRPath(StringRef RPath, const Target &InputTarget);
/// Get the list of runpath search paths.
///
diff --git a/llvm/lib/TextAPI/InterfaceFile.cpp b/llvm/lib/TextAPI/InterfaceFile.cpp
index 9979df92674ccd..79694c90370f43 100644
--- a/llvm/lib/TextAPI/InterfaceFile.cpp
+++ b/llvm/lib/TextAPI/InterfaceFile.cpp
@@ -54,7 +54,7 @@ void InterfaceFile::addParentUmbrella(const Target &Target_, StringRef Parent) {
ParentUmbrellas.emplace(Iter, Target_, std::string(Parent));
}
-void InterfaceFile::addRPath(const Target &InputTarget, StringRef RPath) {
+void InterfaceFile::addRPath(StringRef RPath, const Target &InputTarget) {
if (RPath.empty())
return;
using RPathEntryT = const std::pair<Target, std::string>;
@@ -198,9 +198,9 @@ InterfaceFile::merge(const InterfaceFile *O) const {
IF->addReexportedLibrary(Lib.getInstallName(), Target);
for (const auto &[Target, Path] : rpaths())
- IF->addRPath(Target, Path);
+ IF->addRPath(Path, Target);
for (const auto &[Target, Path] : O->rpaths())
- IF->addRPath(Target, Path);
+ IF->addRPath(Path, Target);
for (const auto *Sym : symbols()) {
IF->addSymbol(Sym->getKind(), Sym->getName(), Sym->targets(),
@@ -319,7 +319,7 @@ InterfaceFile::extract(Architecture Arch) const {
for (const auto &It : rpaths())
if (It.first.Arch == Arch)
- IF->addRPath(It.first, It.second);
+ IF->addRPath(It.second, It.first);
for (const auto &Lib : allowableClients())
for (const auto &Target : Lib.targets())
diff --git a/llvm/lib/TextAPI/TextStubV5.cpp b/llvm/lib/TextAPI/TextStubV5.cpp
index d96981035dddc7..b072c0b5d69d04 100644
--- a/llvm/lib/TextAPI/TextStubV5.cpp
+++ b/llvm/lib/TextAPI/TextStubV5.cpp
@@ -672,7 +672,7 @@ Expected<IFPtr> parseToInterfaceFile(const Object *File) {
F->addParentUmbrella(Target, Lib);
for (auto &[Path, Targets] : RPaths)
for (auto Target : Targets)
- F->addRPath(Target, Path);
+ F->addRPath(Path, Target);
for (auto &[Targets, Symbols] : Exports)
for (auto &Sym : Symbols)
F->addSymbol(Sym.Kind, Sym.Name, Targets, Sym.Flags);
diff --git a/llvm/unittests/TextAPI/TextStubV5Tests.cpp b/llvm/unittests/TextAPI/TextStubV5Tests.cpp
index c77d13ef8f2309..62fdd79ae49701 100644
--- a/llvm/unittests/TextAPI/TextStubV5Tests.cpp
+++ b/llvm/unittests/TextAPI/TextStubV5Tests.cpp
@@ -722,7 +722,7 @@ TEST(TBDv5, WriteFile) {
File.setInstallName("@rpath/S/L/F/Foo.framework/Foo");
File.setCurrentVersion(PackedVersion(1, 2, 0));
File.setCompatibilityVersion(PackedVersion(1, 1, 0));
- File.addRPath(AllTargets[0], "@executable_path/.../Frameworks");
+ File.addRPath("@executable_path/.../Frameworks", AllTargets[0]);
for (const auto &Targ : AllTargets) {
File.addParentUmbrella(Targ, "System");
@@ -897,7 +897,7 @@ TEST(TBDv5, WriteMultipleDocuments) {
NestedFile.setTwoLevelNamespace();
NestedFile.setApplicationExtensionSafe(false);
NestedFile.setCurrentVersion(PackedVersion(2, 1, 1));
- NestedFile.addRPath(AllTargets[0], "@executable_path/.../Frameworks");
+ NestedFile.addRPath("@executable_path/.../Frameworks", AllTargets[0]);
for (const auto &Targ : AllTargets)
NestedFile.addReexportedLibrary("@rpath/libfoo.dylib", Targ);
NestedFile.addSymbol(EncodeKind::GlobalSymbol, "_funcFoo", AllTargets,
More information about the llvm-commits
mailing list