clang
15.0.0git
|
#include "clang/Basic/FileManager.h"
#include "clang/Basic/MacroBuilder.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/SyncScope.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/Version.h"
#include "clang/Frontend/FrontendDiagnostic.h"
#include "clang/Frontend/FrontendOptions.h"
#include "clang/Frontend/Utils.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Lex/PreprocessorOptions.h"
#include "clang/Serialization/ASTReader.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "clang/Basic/OpenCLExtensions.def"
Go to the source code of this file.
Macros | |
#define | OPENCL_GENERIC_EXTENSION(Ext, ...) defineOpenCLExtMacro(#Ext, __VA_ARGS__); |
#define | TOSTR2(X) #X |
#define | TOSTR(X) TOSTR2(X) |
#define | DEFINE_LOCK_FREE_MACRO(TYPE, Type) |
Functions | |
static bool | MacroBodyEndsInBackslash (StringRef MacroBody) |
static void | DefineBuiltinMacro (MacroBuilder &Builder, StringRef Macro, DiagnosticsEngine &Diags) |
static void | AddImplicitInclude (MacroBuilder &Builder, StringRef File) |
AddImplicitInclude - Add an implicit #include of the specified file to the predefines buffer. More... | |
static void | AddImplicitIncludeMacros (MacroBuilder &Builder, StringRef File) |
static void | AddImplicitIncludePCH (MacroBuilder &Builder, Preprocessor &PP, const PCHContainerReader &PCHContainerRdr, StringRef ImplicitIncludePCH) |
Add an implicit #include using the original file used to generate a PCH file. More... | |
template<typename T > | |
static T | PickFP (const llvm::fltSemantics *Sem, T IEEEHalfVal, T IEEESingleVal, T IEEEDoubleVal, T X87DoubleExtendedVal, T PPCDoubleDoubleVal, T IEEEQuadVal) |
PickFP - This is used to pick a value based on the FP semantics of the specified FP model. More... | |
static void | DefineFloatMacros (MacroBuilder &Builder, StringRef Prefix, const llvm::fltSemantics *Sem, StringRef Ext) |
static void | DefineTypeSize (const Twine &MacroName, unsigned TypeWidth, StringRef ValSuffix, bool isSigned, MacroBuilder &Builder) |
DefineTypeSize - Emit a macro to the predefines buffer that declares a macro named MacroName with the max value for a type with width 'TypeWidth' a signedness of 'isSigned' and with a value suffix of 'ValSuffix' (e.g. More... | |
static void | DefineTypeSize (const Twine &MacroName, TargetInfo::IntType Ty, const TargetInfo &TI, MacroBuilder &Builder) |
DefineTypeSize - An overloaded helper that uses TargetInfo to determine the width, suffix, and signedness of the given type. More... | |
static void | DefineFmt (const Twine &Prefix, TargetInfo::IntType Ty, const TargetInfo &TI, MacroBuilder &Builder) |
static void | DefineType (const Twine &MacroName, TargetInfo::IntType Ty, MacroBuilder &Builder) |
static void | DefineTypeWidth (const Twine &MacroName, TargetInfo::IntType Ty, const TargetInfo &TI, MacroBuilder &Builder) |
static void | DefineTypeSizeof (StringRef MacroName, unsigned BitWidth, const TargetInfo &TI, MacroBuilder &Builder) |
static void | DefineTypeSizeAndWidth (const Twine &Prefix, TargetInfo::IntType Ty, const TargetInfo &TI, MacroBuilder &Builder) |
static void | DefineExactWidthIntType (TargetInfo::IntType Ty, const TargetInfo &TI, MacroBuilder &Builder) |
static void | DefineExactWidthIntTypeSize (TargetInfo::IntType Ty, const TargetInfo &TI, MacroBuilder &Builder) |
static void | DefineLeastWidthIntType (unsigned TypeWidth, bool IsSigned, const TargetInfo &TI, MacroBuilder &Builder) |
static void | DefineFastIntType (unsigned TypeWidth, bool IsSigned, const TargetInfo &TI, MacroBuilder &Builder) |
static const char * | getLockFreeValue (unsigned TypeWidth, unsigned TypeAlign, unsigned InlineWidth) |
Get the value the ATOMIC_*_LOCK_FREE macro should have for a type with the specified properties. More... | |
static void | AddObjCXXARCLibstdcxxDefines (const LangOptions &LangOpts, MacroBuilder &Builder) |
Add definitions required for a smooth interaction between Objective-C++ automated reference counting and libstdc++ (4.2). More... | |
static void | InitializeStandardPredefinedMacros (const TargetInfo &TI, const LangOptions &LangOpts, const FrontendOptions &FEOpts, MacroBuilder &Builder) |
static void | InitializeCPlusPlusFeatureTestMacros (const LangOptions &LangOpts, MacroBuilder &Builder) |
Initialize the predefined C++ language feature test macros defined in ISO/IEC JTC1/SC22/WG21 (C++) SD-6: "SG10 Feature Test Recommendations". More... | |
void | InitializeOpenCLFeatureTestMacros (const TargetInfo &TI, const LangOptions &Opts, MacroBuilder &Builder) |
InitializeOpenCLFeatureTestMacros - Define OpenCL macros based on target settings and language version. More... | |
static void | InitializePredefinedMacros (const TargetInfo &TI, const LangOptions &LangOpts, const FrontendOptions &FEOpts, const PreprocessorOptions &PPOpts, MacroBuilder &Builder) |
#define OPENCL_GENERIC_EXTENSION | ( | Ext, | |
... | |||
) | defineOpenCLExtMacro(#Ext, __VA_ARGS__); |
|
static |
AddImplicitInclude - Add an implicit #include of the specified file to the predefines buffer.
As these includes are generated by -include arguments the header search logic is going to search relatively to the current working directory.
Definition at line 69 of file InitPreprocessor.cpp.
|
static |
Definition at line 73 of file InitPreprocessor.cpp.
|
static |
Add an implicit #include using the original file used to generate a PCH file.
Definition at line 81 of file InitPreprocessor.cpp.
|
static |
Add definitions required for a smooth interaction between Objective-C++ automated reference counting and libstdc++ (4.2).
Definition at line 315 of file InitPreprocessor.cpp.
|
static |
Definition at line 40 of file InitPreprocessor.cpp.
|
static |
Definition at line 219 of file InitPreprocessor.cpp.
|
static |
Definition at line 244 of file InitPreprocessor.cpp.
|
static |
Definition at line 279 of file InitPreprocessor.cpp.
|
static |
Definition at line 113 of file InitPreprocessor.cpp.
|
static |
Definition at line 183 of file InitPreprocessor.cpp.
|
static |
Definition at line 261 of file InitPreprocessor.cpp.
|
static |
Definition at line 193 of file InitPreprocessor.cpp.
|
static |
DefineTypeSize - An overloaded helper that uses TargetInfo to determine the width, suffix, and signedness of the given type.
Definition at line 177 of file InitPreprocessor.cpp.
|
static |
DefineTypeSize - Emit a macro to the predefines buffer that declares a macro named MacroName with the max value for a type with width 'TypeWidth' a signedness of 'isSigned' and with a value suffix of 'ValSuffix' (e.g.
LL).
Definition at line 167 of file InitPreprocessor.cpp.
|
static |
Definition at line 212 of file InitPreprocessor.cpp.
|
static |
Definition at line 203 of file InitPreprocessor.cpp.
|
static |
Definition at line 198 of file InitPreprocessor.cpp.
|
static |
Get the value the ATOMIC_*_LOCK_FREE macro should have for a type with the specified properties.
Definition at line 301 of file InitPreprocessor.cpp.
|
static |
Initialize the predefined C++ language feature test macros defined in ISO/IEC JTC1/SC22/WG21 (C++) SD-6: "SG10 Feature Test Recommendations".
Definition at line 589 of file InitPreprocessor.cpp.
void InitializeOpenCLFeatureTestMacros | ( | const TargetInfo & | TI, |
const LangOptions & | Opts, | ||
MacroBuilder & | Builder | ||
) |
InitializeOpenCLFeatureTestMacros - Define OpenCL macros based on target settings and language version.
Definition at line 702 of file InitPreprocessor.cpp.
|
static |
Definition at line 723 of file InitPreprocessor.cpp.
|
static |
Definition at line 370 of file InitPreprocessor.cpp.
|
static |
Definition at line 31 of file InitPreprocessor.cpp.
References clang::isWhitespace().
|
static |
PickFP - This is used to pick a value based on the FP semantics of the specified FP model.
Definition at line 96 of file InitPreprocessor.cpp.