@@ -1796,56 +1796,6 @@ extern "C" LLVMValueRef LLVMRustBuildMaxNum(LLVMBuilderRef B, LLVMValueRef LHS,
17961796 return wrap (unwrap (B)->CreateMaxNum (unwrap (LHS), unwrap (RHS)));
17971797}
17981798
1799- // This struct contains all necessary info about a symbol exported from a DLL.
1800- struct LLVMRustCOFFShortExport {
1801- const char *name;
1802- bool ordinal_present;
1803- // The value of `ordinal` is only meaningful if `ordinal_present` is true.
1804- uint16_t ordinal;
1805- };
1806-
1807- // Machine must be a COFF machine type, as defined in PE specs.
1808- extern " C" LLVMRustResult
1809- LLVMRustWriteImportLibrary (const char *ImportName, const char *Path,
1810- const LLVMRustCOFFShortExport *Exports,
1811- size_t NumExports, uint16_t Machine, bool MinGW) {
1812- std::vector<llvm::object::COFFShortExport> ConvertedExports;
1813- ConvertedExports.reserve (NumExports);
1814-
1815- for (size_t i = 0 ; i < NumExports; ++i) {
1816- bool ordinal_present = Exports[i].ordinal_present ;
1817- uint16_t ordinal = ordinal_present ? Exports[i].ordinal : 0 ;
1818- ConvertedExports.push_back (llvm::object::COFFShortExport{
1819- Exports[i].name , // Name
1820- std::string{}, // ExtName
1821- std::string{}, // SymbolName
1822- std::string{}, // AliasTarget
1823- #if LLVM_VERSION_GE(19, 0)
1824- std::string{}, // ExportAs
1825- #endif
1826- ordinal, // Ordinal
1827- ordinal_present, // Noname
1828- false , // Data
1829- false , // Private
1830- false // Constant
1831- });
1832- }
1833-
1834- auto Error = llvm::object::writeImportLibrary (
1835- ImportName, Path, ConvertedExports,
1836- static_cast <llvm::COFF::MachineTypes>(Machine), MinGW);
1837- if (Error) {
1838- std::string errorString;
1839- auto stream = llvm::raw_string_ostream (errorString);
1840- stream << Error;
1841- stream.flush ();
1842- LLVMRustSetLastError (errorString.c_str ());
1843- return LLVMRustResult::Failure;
1844- } else {
1845- return LLVMRustResult::Success;
1846- }
1847- }
1848-
18491799// Transfers ownership of DiagnosticHandler unique_ptr to the caller.
18501800extern " C" DiagnosticHandler *
18511801LLVMRustContextGetDiagnosticHandler (LLVMContextRef C) {
0 commit comments