clang  7.0.0svn
Functions
Darwin.cpp File Reference
#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>
Include dependency graph for Darwin.cpp:

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...
 

Function Documentation

◆ addExportedSymbol()

static void addExportedSymbol ( ArgStringList &  CmdArgs,
const char *  Symbol 
)
static

◆ ArmMachOArchName()

static const char* ArmMachOArchName ( StringRef  Arch)
static

Definition at line 744 of file Darwin.cpp.

Referenced by ArmMachOArchNameCPU().

◆ ArmMachOArchNameCPU()

static const char* ArmMachOArchNameCPU ( StringRef  CPU)
static

◆ getSystemOrSDKMacOSVersion()

static std::string getSystemOrSDKMacOSVersion ( StringRef  MacOSSDKVersion)
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 1180 of file Darwin.cpp.

References clang::driver::Driver::GetReleaseVersion().

◆ hasExportSymbolDirective()

static bool hasExportSymbolDirective ( const ArgList &  Args)
static

Check if the link command contains a symbol export directive.

Definition at line 1014 of file Darwin.cpp.

Referenced by addExportedSymbol().

◆ isObjCRuntimeLinked()

static bool isObjCRuntimeLinked ( const ArgList &  Args)
static

◆ shouldLinkerNotDedup()

static bool shouldLinkerNotDedup ( bool  IsLinkerOnlyAction,
const ArgList &  Args 
)
static