clang
7.0.0
|
#include "Darwin.h"
#include "Arch/ARM.h"
#include "CommonArgs.h"
#include "clang/Basic/AlignedAllocation.h"
#include "clang/Basic/ObjCRuntime.h"
#include "clang/Basic/VirtualFileSystem.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/DriverDiagnostic.h"
#include "clang/Driver/Options.h"
#include "clang/Driver/SanitizerArgs.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/TargetParser.h"
#include <cstdlib>
Go to the source code of this file.
Functions | |
static bool | shouldLinkerNotDedup (bool IsLinkerOnlyAction, const ArgList &Args) |
Pass -no_deduplicate to ld64 under certain conditions: More... | |
static bool | isObjCRuntimeLinked (const ArgList &Args) |
Determine whether we are linking the ObjC runtime. More... | |
static const char * | ArmMachOArchName (StringRef Arch) |
static const char * | ArmMachOArchNameCPU (StringRef CPU) |
static bool | hasExportSymbolDirective (const ArgList &Args) |
Check if the link command contains a symbol export directive. More... | |
static void | addExportedSymbol (ArgStringList &CmdArgs, const char *Symbol) |
Add an export directive for Symbol to the link command. More... | |
static std::string | getSystemOrSDKMacOSVersion (StringRef MacOSSDKVersion) |
Returns the most appropriate macOS target version for the current process. More... | |
|
static |
Add an export directive for Symbol
to the link command.
Definition at line 1016 of file Darwin.cpp.
Referenced by clang::driver::toolchains::Darwin::addProfileRTLibs().
|
static |
Definition at line 744 of file Darwin.cpp.
Referenced by clang::driver::toolchains::MachO::getMachOArchName().
|
static |
Definition at line 761 of file Darwin.cpp.
Referenced by clang::driver::toolchains::MachO::getMachOArchName().
|
static |
Returns the most appropriate macOS target version for the current process.
If the macOS SDK version is the same or earlier than the system version, then the SDK version is returned. Otherwise the system version is returned.
Definition at line 1170 of file Darwin.cpp.
References clang::driver::ToolChain::getPlatform(), and clang::driver::Driver::GetReleaseVersion().
|
static |
Check if the link command contains a symbol export directive.
Definition at line 1001 of file Darwin.cpp.
Referenced by clang::driver::toolchains::Darwin::addProfileRTLibs().
|
static |
Determine whether we are linking the ObjC runtime.
Definition at line 413 of file Darwin.cpp.
References clang::driver::tools::isObjCAutoRefCount().
Referenced by clang::driver::tools::darwin::Linker::ConstructJob().
Pass -no_deduplicate to ld64 under certain conditions:
Also do not add -no_deduplicate when no -O option is specified and this is just a link (we can't imply -O0)
Definition at line 185 of file Darwin.cpp.
References clang::driver::toolchains::MachO::addMinVersionArgs(), clang::driver::Compilation::addTempFile(), clang::driver::Driver::Diag(), clang::driver::Driver::Dir, clang::driver::Driver::embedBitcodeEnabled(), clang::driver::Driver::embedBitcodeMarkerOnly(), clang::driver::JobList::empty(), clang::driver::Compilation::getArgs(), clang::driver::Compilation::getDriver(), clang::driver::Compilation::getJobs(), clang::driver::Driver::GetReleaseVersion(), clang::driver::Compilation::getSysRoot(), clang::driver::Driver::GetTemporaryPath(), clang::driver::types::getTypeTempSuffix(), clang::driver::toolchains::MachO::isTargetIOSBased(), clang::driver::Driver::isUsingLTO(), P, and clang::driver::ToolChain::SupportsEmbeddedBitcode().