LLVM
17.0.0git
|
#include "llvm/ToolDrivers/llvm-lib/LibDriver.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/BinaryFormat/Magic.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/Object/ArchiveWriter.h"
#include "llvm/Object/COFF.h"
#include "llvm/Object/WindowsMachineFlag.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Option/Option.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/StringSaver.h"
#include "llvm/Support/raw_ostream.h"
#include <optional>
#include "Options.inc"
Go to the source code of this file.
Macros | |
#define | OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID, |
#define | PREFIX(NAME, VALUE) |
#define | OPTION(X1, X2, ID, KIND, GROUP, ALIAS, X7, X8, X9, X10, X11, X12) |
Functions | |
static std::string | getDefaultOutputPath (const NewArchiveMember &FirstMember) |
static std::vector< StringRef > | getSearchPaths (opt::InputArgList *Args, StringSaver &Saver) |
static std::string | findInputFile (StringRef File, ArrayRef< StringRef > Paths) |
static void | fatalOpenError (llvm::Error E, Twine File) |
static void | doList (opt::InputArgList &Args) |
static Expected< COFF::MachineTypes > | getCOFFFileMachine (MemoryBufferRef MB) |
static Expected< COFF::MachineTypes > | getBitcodeFileMachine (MemoryBufferRef MB) |
static void | appendFile (std::vector< NewArchiveMember > &Members, COFF::MachineTypes &LibMachine, std::string &LibMachineSource, MemoryBufferRef MB) |
Definition at line 39 of file LibDriver.cpp.
Definition at line 39 of file LibDriver.cpp.
#define PREFIX | ( | NAME, | |
VALUE | |||
) |
Definition at line 44 of file LibDriver.cpp.
|
static |
Definition at line 183 of file LibDriver.cpp.
References llvm::file_magic::archive, llvm::file_magic::bitcode, llvm::file_magic::coff_import_library, llvm::file_magic::coff_object, llvm::errs(), exit(), llvm::MemoryBufferRef::getBuffer(), llvm::MemoryBufferRef::getBufferIdentifier(), llvm::identify_magic(), llvm::msf::Magic, and llvm::file_magic::windows_resource.
Referenced by llvm::libDriverMain().
|
static |
Definition at line 113 of file LibDriver.cpp.
References llvm::file_magic::archive, Arg, llvm::AMDGPU::HSAMD::Kernel::Key::Args, B, llvm::errorCodeToError(), fatalOpenError(), llvm::ErrorOr< T >::get(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFile(), llvm::identify_magic(), and move.
Referenced by llvm::libDriverMain().
|
static |
Definition at line 104 of file LibDriver.cpp.
References E, llvm::errs(), exit(), llvm::handleAllErrors(), llvm::ErrorInfoBase::message(), and move.
Referenced by doList(), and llvm::libDriverMain().
Definition at line 94 of file LibDriver.cpp.
References llvm::sys::path::append(), and llvm::sys::fs::exists().
Referenced by llvm::libDriverMain().
|
static |
Definition at line 163 of file LibDriver.cpp.
References llvm::Triple::aarch64, llvm::Triple::arm, llvm::createStringError(), llvm::Triple::getArch(), llvm::getBitcodeTargetTriple(), llvm::COFF::IMAGE_FILE_MACHINE_AMD64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT, llvm::COFF::IMAGE_FILE_MACHINE_I386, llvm::inconvertibleErrorCode(), llvm::Expected< T >::takeError(), llvm::Triple::x86, and llvm::Triple::x86_64.
|
static |
Definition at line 145 of file LibDriver.cpp.
References llvm::object::COFFObjectFile::create(), llvm::createStringError(), llvm::COFF::IMAGE_FILE_MACHINE_AMD64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT, llvm::COFF::IMAGE_FILE_MACHINE_I386, llvm::inconvertibleErrorCode(), Machine, and llvm::to_string().
|
static |
Definition at line 65 of file LibDriver.cpp.
References llvm::NewArchiveMember::Buf, llvm::sys::path::replace_extension(), and llvm::SmallString< InternalLen >::str().
Referenced by llvm::libDriverMain().
|
static |
Definition at line 71 of file LibDriver.cpp.
References Arg, llvm::AMDGPU::HSAMD::Kernel::Key::Args, llvm::StringRef::empty(), llvm::sys::Process::GetEnv(), llvm::MipsISD::Ret, llvm::StringSaver::save(), and llvm::StringRef::split().
Referenced by llvm::libDriverMain().