rust/compiler/rustc_llvm/llvm-wrapper
klensy 0ce966fd64 llvm-wrapper: fix warning C4305
llvm-wrapper/ArchiveWrapper.cpp(70): warning C4305: 'argument': truncation from 'int' to 'bool'
while in llvm 12 signature was
 static ErrorOr<std::unique_ptr<MemoryBuffer>> getFile(const Twine &Filename, int64_t FileSize = -1, bool RequiresNullTerminator = true, bool IsVolatile = false);
fed41342a8/llvm/include/llvm/Support/MemoryBuffer.h (L85-L87)

in llvm 13 and later it was changed to
static ErrorOr<std::unique_ptr<MemoryBuffer>> getFile(const Twine &Filename, bool IsText = false, bool RequiresNullTerminator = true, bool IsVolatile = false);
75e33f71c2/llvm/include/llvm/Support/MemoryBuffer.h (L86-L88)

so code was interpreted as MemoryBuffer::getFile(Path, /*IsText*/true, /*RequiresNullTerminator=*/false), but now will be MemoryBuffer::getFile(Path, /*IsText*/false, /*RequiresNullTerminator=*/false). How that worked before?
2024-02-21 13:13:50 +03:00
..
.editorconfig Move rustllvm into rustc_llvm 2020-09-09 23:05:43 +03:00
ArchiveWrapper.cpp llvm-wrapper: fix warning C4305 2024-02-21 13:13:50 +03:00
CoverageMappingWrapper.cpp RustWrapper: adapt for coverage mapping API changes 2024-02-13 15:15:14 +01:00
Linker.cpp suppress warnings on msvc 2023-11-22 09:10:53 -08:00
LLVMWrapper.h Remove ffi_returns_twice feature 2024-01-30 22:09:09 +00:00
PassWrapper.cpp Auto merge of #120055 - nikic:llvm-18, r=cuviper 2024-02-13 15:07:28 +00:00
README Move rustllvm into rustc_llvm 2020-09-09 23:05:43 +03:00
RustWrapper.cpp llvm-wrapper: fix warning C4244 2024-02-21 12:18:59 +03:00
SuppressLLVMWarnings.h fix long lines 2023-11-22 10:17:50 -08:00
SymbolWrapper.cpp suppress warnings on msvc 2023-11-22 09:10:53 -08:00

This directory currently contains some LLVM support code. This will generally
be sent upstream to LLVM in time; for now it lives here.

NOTE: the LLVM C++ ABI is subject to between-version breakage and must *never*
be exposed to Rust. To allow for easy auditing of that, all Rust-exposed types
must be typedef-ed as "LLVMXyz", or "LLVMRustXyz" if they were defined here.

Functions that return a failure status and leave the error in
the LLVM last error should return an LLVMRustResult rather than an
int or anything to avoid confusion.

When translating enums, add a single `Other` variant as the first
one to allow for new variants to be added. It should abort when used
as an input.

All other types must not be typedef-ed as such.