diff options
Diffstat (limited to 'lib/Driver/ToolChains/Darwin.h')
-rw-r--r-- | lib/Driver/ToolChains/Darwin.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/Driver/ToolChains/Darwin.h b/lib/Driver/ToolChains/Darwin.h index 87d553bd7e0b2..eee6e966718b5 100644 --- a/lib/Driver/ToolChains/Darwin.h +++ b/lib/Driver/ToolChains/Darwin.h @@ -130,6 +130,9 @@ protected: Tool *buildLinker() const override; Tool *getTool(Action::ActionClass AC) const override; + /// \return Directory to find the runtime library in. + SmallString<128> runtimeLibDir(bool IsEmbedded=false) const; + private: mutable std::unique_ptr<tools::darwin::Lipo> Lipo; mutable std::unique_ptr<tools::darwin::Dsymutil> Dsymutil; @@ -251,7 +254,6 @@ public: GetExceptionModel(const llvm::opt::ArgList &Args) const override { return llvm::ExceptionHandling::None; } - /// } }; @@ -420,6 +422,11 @@ protected: StringRef getPlatformFamily() const; StringRef getOSLibraryNameSuffix() const; + /// \return Relative path to the filename for the library + /// containing the sanitizer {@code SanitizerName}. + std::string getFileNameForSanitizerLib(StringRef SanitizerName, + bool Shared = true) const; + public: static StringRef getSDKName(StringRef isysroot); @@ -473,6 +480,12 @@ public: SanitizerMask getSupportedSanitizers() const override; void printVerboseInfo(raw_ostream &OS) const override; + +private: + /// \return Whether the runtime corresponding to the given + /// sanitizer exists in the toolchain. + bool sanitizerRuntimeExists(StringRef SanitizerName, + bool Shared = true) const; }; /// DarwinClang - The Darwin toolchain used by Clang. |