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/Basic/LangOptions.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/Basic/LangOptions.h')
-rw-r--r-- | include/clang/Basic/LangOptions.h | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/include/clang/Basic/LangOptions.h b/include/clang/Basic/LangOptions.h index ce4ff06..fbb014e 100644 --- a/include/clang/Basic/LangOptions.h +++ b/include/clang/Basic/LangOptions.h @@ -6,9 +6,10 @@ // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// -// -// This file defines the LangOptions interface. -// +/// +/// \file +/// \brief Defines the clang::LangOptions interface. +/// //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_LANGOPTIONS_H @@ -16,6 +17,7 @@ #include <string> #include "clang/Basic/LLVM.h" +#include "clang/Basic/ObjCRuntime.h" #include "clang/Basic/Visibility.h" #include "llvm/ADT/IntrusiveRefCntPtr.h" @@ -39,8 +41,8 @@ protected: #include "clang/Basic/LangOptions.def" }; -/// LangOptions - This class keeps track of the various options that can be -/// enabled, which controls the dialect of C that is accepted. +/// \brief Keeps track of the various options that can be +/// enabled, which controls the dialect of C or C++ that is accepted. class LangOptions : public RefCountedBase<LangOptions>, public LangOptionsBase { public: typedef clang::Visibility Visibility; @@ -54,10 +56,20 @@ public: SOB_Trapping // -ftrapv }; + enum FPContractModeKind { + FPC_Off, // Form fused FP ops only where result will not be affected. + FPC_On, // Form fused FP ops according to FP_CONTRACT rules. + FPC_Fast // Aggressively fuse FP ops (E.g. FMA). + }; + public: + clang::ObjCRuntime ObjCRuntime; + std::string ObjCConstantStringClass; - /// The name of the handler function to be called when -ftrapv is specified. + /// \brief The name of the handler function to be called when -ftrapv is + /// specified. + /// /// If none is specified, abort (GCC-compatible behaviour). std::string OverflowHandler; @@ -82,7 +94,7 @@ public: void resetNonModularOptions(); }; -/// Floating point control options +/// \brief Floating point control options class FPOptions { public: unsigned fp_contract : 1; @@ -93,7 +105,7 @@ public: fp_contract(LangOpts.DefaultFPContract) {} }; -/// OpenCL volatile options +/// \brief OpenCL volatile options class OpenCLOptions { public: #define OPENCLEXT(nm) unsigned nm : 1; @@ -116,7 +128,6 @@ enum TranslationUnitKind { TU_Module }; - /// \brief } // end namespace clang #endif |