Merge branch 'rust-lang:master' into feat/enable-f16 · rust-lang/rust@6391e70 (original) (raw)
`@@ -13,10 +13,7 @@ struct RustArchiveMember {
`
13
13
` Archive::Child Child;
`
14
14
``
15
15
`RustArchiveMember()
`
16
``
`-
: Filename(nullptr), Name(nullptr),
`
17
``
`-
Child(nullptr, nullptr, nullptr)
`
18
``
`-
{
`
19
``
`-
}
`
``
16
`+
: Filename(nullptr), Name(nullptr), Child(nullptr, nullptr, nullptr) {}
`
20
17
`~RustArchiveMember() {}
`
21
18
`};
`
22
19
``
`@@ -27,11 +24,8 @@ struct RustArchiveIterator {
`
27
24
` std::unique_ptr Err;
`
28
25
``
29
26
`RustArchiveIterator(Archive::child_iterator Cur, Archive::child_iterator End,
`
30
``
`-
std::unique_ptr Err)
`
31
``
`-
: First(true),
`
32
``
`-
Cur(Cur),
`
33
``
`-
End(End),
`
34
``
`-
Err(std::move(Err)) {}
`
``
27
`+
std::unique_ptr Err)
`
``
28
`+
: First(true), Cur(Cur), End(End), Err(std::move(Err)) {}
`
35
29
`};
`
36
30
``
37
31
`enum class LLVMRustArchiveKind {
`
`@@ -66,8 +60,8 @@ typedef Archive::Child const *LLVMRustArchiveChildConstRef;
`
66
60
`typedef RustArchiveIterator *LLVMRustArchiveIteratorRef;
`
67
61
``
68
62
`extern "C" LLVMRustArchiveRef LLVMRustOpenArchive(char *Path) {
`
69
``
`-
ErrorOr<std::unique_ptr> BufOr =
`
70
``
`-
MemoryBuffer::getFile(Path, /IsText/false, /RequiresNullTerminator=/false);
`
``
63
`+
ErrorOr<std::unique_ptr> BufOr = MemoryBuffer::getFile(
`
``
64
`+
Path, /IsText/ false, /RequiresNullTerminator=/false);
`
71
65
`if (!BufOr) {
`
72
66
`LLVMRustSetLastError(BufOr.getError().message().c_str());
`
73
67
`return nullptr;
`
`@@ -146,8 +140,8 @@ extern "C" const char *
`
146
140
`LLVMRustArchiveChildName(LLVMRustArchiveChildConstRef Child, size_t *Size) {
`
147
141
` Expected NameOrErr = Child->getName();
`
148
142
`if (!NameOrErr) {
`
149
``
`-
// rustc_codegen_llvm currently doesn't use this error string, but it might be
`
150
``
`-
// useful in the future, and in the meantime this tells LLVM that the
`
``
143
`+
// rustc_codegen_llvm currently doesn't use this error string, but it might
`
``
144
`+
// be useful in the future, and in the meantime this tells LLVM that the
`
151
145
`// error was not ignored and that it shouldn't abort the process.
`
152
146
`LLVMRustSetLastError(toString(NameOrErr.takeError()).c_str());
`
153
147
`return nullptr;
`
`@@ -172,10 +166,9 @@ extern "C" void LLVMRustArchiveMemberFree(LLVMRustArchiveMemberRef Member) {
`
172
166
`delete Member;
`
173
167
`}
`
174
168
``
175
``
`-
extern "C" LLVMRustResult
`
176
``
`-
LLVMRustWriteArchive(char *Dst, size_t NumMembers,
`
177
``
`-
const LLVMRustArchiveMemberRef *NewMembers,
`
178
``
`-
bool WriteSymbtab, LLVMRustArchiveKind RustKind, bool isEC) {
`
``
169
`+
extern "C" LLVMRustResult LLVMRustWriteArchive(
`
``
170
`+
char *Dst, size_t NumMembers, const LLVMRustArchiveMemberRef *NewMembers,
`
``
171
`+
bool WriteSymbtab, LLVMRustArchiveKind RustKind, bool isEC) {
`
179
172
``
180
173
` std::vector Members;
`
181
174
`auto Kind = fromRust(RustKind);
`
`@@ -206,8 +199,10 @@ LLVMRustWriteArchive(char *Dst, size_t NumMembers,
`
206
199
`#if LLVM_VERSION_LT(18, 0)
`
207
200
`auto Result = writeArchive(Dst, Members, WriteSymbtab, Kind, true, false);
`
208
201
`#else
`
209
``
`-
auto SymtabMode = WriteSymbtab ? SymtabWritingMode::NormalSymtab : SymtabWritingMode::NoSymtab;
`
210
``
`-
auto Result = writeArchive(Dst, Members, SymtabMode, Kind, true, false, nullptr, isEC);
`
``
202
`+
auto SymtabMode = WriteSymbtab ? SymtabWritingMode::NormalSymtab
`
``
203
`+
: SymtabWritingMode::NoSymtab;
`
``
204
`+
auto Result =
`
``
205
`+
writeArchive(Dst, Members, SymtabMode, Kind, true, false, nullptr, isEC);
`
211
206
`#endif
`
212
207
`if (!Result)
`
213
208
`return LLVMRustResult::Success;
`