diff options
author | dim <dim@FreeBSD.org> | 2012-08-15 20:02:54 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2012-08-15 20:02:54 +0000 |
commit | 554bcb69c2d785a011a30e7db87a36a87fe7db10 (patch) | |
tree | 9abb1a658a297776086f4e0dfa6ca533de02104e /include/clang/Driver/ToolChain.h | |
parent | bb67ca86b31f67faee50bd10c3b036d65751745a (diff) | |
download | FreeBSD-src-554bcb69c2d785a011a30e7db87a36a87fe7db10.zip FreeBSD-src-554bcb69c2d785a011a30e7db87a36a87fe7db10.tar.gz |
Vendor import of clang trunk r161861:
http://llvm.org/svn/llvm-project/cfe/trunk@161861
Diffstat (limited to 'include/clang/Driver/ToolChain.h')
-rw-r--r-- | include/clang/Driver/ToolChain.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/include/clang/Driver/ToolChain.h b/include/clang/Driver/ToolChain.h index c35cf67..ab417bb 100644 --- a/include/clang/Driver/ToolChain.h +++ b/include/clang/Driver/ToolChain.h @@ -18,6 +18,8 @@ #include <string> namespace clang { + class ObjCRuntime; + namespace driver { class ArgList; class Compilation; @@ -25,7 +27,6 @@ namespace driver { class Driver; class InputArgList; class JobAction; - class ObjCRuntime; class Tool; /// ToolChain - Access to tools for a single platform. @@ -137,6 +138,9 @@ public: /// default. virtual bool IsStrictAliasingDefault() const { return true; } + /// IsMathErrnoDefault - Does this tool chain use -fmath-errno by default. + virtual bool IsMathErrnoDefault() const { return true; } + /// IsObjCDefaultSynthPropertiesDefault - Does this tool chain enable /// -fobjc-default-synthesize-properties by default. virtual bool IsObjCDefaultSynthPropertiesDefault() const { return false; } @@ -145,11 +149,6 @@ public: /// -fobjc-nonfragile-abi by default. virtual bool IsObjCNonFragileABIDefault() const { return false; } - /// IsObjCLegacyDispatchDefault - Does this tool chain set - /// -fobjc-legacy-dispatch by default (this is only used with the non-fragile - /// ABI). - virtual bool IsObjCLegacyDispatchDefault() const { return true; } - /// UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the /// mixed dispatch method be used? virtual bool UseObjCMixedDispatch() const { return false; } @@ -207,11 +206,11 @@ public: virtual std::string ComputeEffectiveClangTriple(const ArgList &Args, types::ID InputType = types::TY_INVALID) const; - /// configureObjCRuntime - Configure the known properties of the - /// Objective-C runtime for this platform. + /// getDefaultObjCRuntime - Return the default Objective-C runtime + /// for this platform. /// /// FIXME: this really belongs on some sort of DeploymentTarget abstraction - virtual void configureObjCRuntime(ObjCRuntime &runtime) const; + virtual ObjCRuntime getDefaultObjCRuntime(bool isNonFragile) const; /// hasBlocksRuntime - Given that the user is compiling with /// -fblocks, does this tool chain guarantee the existence of a @@ -227,6 +226,10 @@ public: virtual void AddClangSystemIncludeArgs(const ArgList &DriverArgs, ArgStringList &CC1Args) const; + // addClangTargetOptions - Add options that need to be passed to cc1 for + // this target. + virtual void addClangTargetOptions(ArgStringList &CC1Args) const; + // GetRuntimeLibType - Determine the runtime library type to use with the // given compilation arguments. virtual RuntimeLibType GetRuntimeLibType(const ArgList &Args) const; |