clang  3.7.0
Macros | Functions
Targets.cpp File Reference
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/MacroBuilder.h"
#include "clang/Basic/TargetBuiltins.h"
#include "clang/Basic/TargetOptions.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Triple.h"
#include "llvm/MC/MCSectionMachO.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TargetParser.h"
#include <algorithm>
#include <memory>
#include "clang/Basic/BuiltinsPPC.def"
#include "clang/Basic/BuiltinsNVPTX.def"
#include "clang/Basic/BuiltinsAMDGPU.def"
#include "clang/Basic/BuiltinsX86.def"
#include "clang/Basic/BuiltinsNEON.def"
#include "clang/Basic/BuiltinsARM.def"
#include "clang/Basic/BuiltinsAArch64.def"
#include "clang/Basic/BuiltinsHexagon.def"
#include "clang/Basic/BuiltinsSystemZ.def"
#include "clang/Basic/BuiltinsMips.def"
#include "clang/Basic/BuiltinsLe64.def"
#include "clang/Basic/BuiltinsXCore.def"
Include dependency graph for Targets.cpp:

Go to the source code of this file.

Macros

#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define LANGBUILTIN(ID, TYPE, ATTRS, LANG)   { #ID, TYPE, ATTRS, 0, LANG },
 
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define BUILTIN(ID, TYPE, ATTRS)   { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
 
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
 

Functions

static void DefineStd (MacroBuilder &Builder, StringRef MacroName, const LangOptions &Opts)
 
static void defineCPUMacros (MacroBuilder &Builder, StringRef CPUName, bool Tuning=true)
 
static void getDarwinDefines (MacroBuilder &Builder, const LangOptions &Opts, const llvm::Triple &Triple, StringRef &PlatformName, VersionTuple &PlatformMinVersion)
 
static void addCygMingDefines (const LangOptions &Opts, MacroBuilder &Builder)
 
static void addMinGWDefines (const LangOptions &Opts, MacroBuilder &Builder)
 
static TargetInfoAllocateTarget (const llvm::Triple &Triple)
 

Macro Definition Documentation

#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)    { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
#define LANGBUILTIN (   ID,
  TYPE,
  ATTRS,
  LANG 
)    { #ID, TYPE, ATTRS, 0, LANG },
#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)
Value:
{ #ID, TYPE, ATTRS, HEADER,\
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
ID
Defines the set of possible language-specific address spaces.
Definition: AddressSpaces.h:27
#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)
Value:
{ #ID, TYPE, ATTRS, HEADER,\
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
ID
Defines the set of possible language-specific address spaces.
Definition: AddressSpaces.h:27
#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)
Value:
{ #ID, TYPE, ATTRS, HEADER,\
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
ID
Defines the set of possible language-specific address spaces.
Definition: AddressSpaces.h:27
#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)
Value:
{ #ID, TYPE, ATTRS, HEADER,\
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
ID
Defines the set of possible language-specific address spaces.
Definition: AddressSpaces.h:27
#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)
Value:
{ #ID, TYPE, ATTRS, HEADER,\
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
ID
Defines the set of possible language-specific address spaces.
Definition: AddressSpaces.h:27
#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)
Value:
{ #ID, TYPE, ATTRS, HEADER,\
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
ID
Defines the set of possible language-specific address spaces.
Definition: AddressSpaces.h:27
#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)
Value:
{ #ID, TYPE, ATTRS, HEADER,\
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
ID
Defines the set of possible language-specific address spaces.
Definition: AddressSpaces.h:27
#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)
Value:
{ #ID, TYPE, ATTRS, HEADER,\
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
ID
Defines the set of possible language-specific address spaces.
Definition: AddressSpaces.h:27

Function Documentation

static void addCygMingDefines ( const LangOptions Opts,
MacroBuilder Builder 
)
static

Definition at line 3706 of file Targets.cpp.

References clang::MacroBuilder::defineMacro().

Referenced by addMinGWDefines().

static void addMinGWDefines ( const LangOptions Opts,
MacroBuilder Builder 
)
static

Definition at line 3730 of file Targets.cpp.

References addCygMingDefines(), and clang::MacroBuilder::defineMacro().

static TargetInfo* AllocateTarget ( const llvm::Triple &  Triple)
static

Definition at line 6983 of file Targets.cpp.

Referenced by clang::TargetInfo::CreateTargetInfo().

static void defineCPUMacros ( MacroBuilder Builder,
StringRef  CPUName,
bool  Tuning = true 
)
static

Definition at line 58 of file Targets.cpp.

References clang::MacroBuilder::defineMacro().

static void DefineStd ( MacroBuilder Builder,
StringRef  MacroName,
const LangOptions Opts 
)
static

DefineStd - Define a macro name and standard variants. For example if MacroName is "unix", then this will define "__unix", "__unix__", and "unix" when in GNU mode.

Definition at line 42 of file Targets.cpp.

References clang::MacroBuilder::defineMacro().

static void getDarwinDefines ( MacroBuilder Builder,
const LangOptions Opts,
const llvm::Triple &  Triple,
StringRef &  PlatformName,
VersionTuple PlatformMinVersion 
)
static