clang  10.0.0svn
Enumerations | Functions
CGNonTrivialStruct.cpp File Reference
#include "CodeGenFunction.h"
#include "CodeGenModule.h"
#include "clang/AST/NonTrivialTypeVisitor.h"
#include "clang/CodeGen/CodeGenABITypes.h"
#include "llvm/Support/ScopedPrinter.h"
#include <array>
Include dependency graph for CGNonTrivialStruct.cpp:

Go to the source code of this file.

Enumerations

enum  
 

Functions

static uint64_t getFieldSize (const FieldDecl *FD, QualType FT, ASTContext &Ctx)
 
template<class G , size_t N>
static void callSpecialFunction (G &&Gen, StringRef FuncName, QualType QT, bool IsVolatile, CodeGenFunction &CGF, std::array< Address, N > Addrs)
 
template<size_t N>
static std::array< Address, N > createNullAddressArray ()
 
template<>
std::array< Address, 1 > createNullAddressArray ()
 
template<>
std::array< Address, 2 > createNullAddressArray ()
 
template<class G , size_t N>
static llvm::Function * getSpecialFunction (G &&Gen, StringRef FuncName, QualType QT, bool IsVolatile, std::array< CharUnits, N > Alignments, CodeGenModule &CGM)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 33 of file CGNonTrivialStruct.cpp.

Function Documentation

◆ callSpecialFunction()

template<class G , size_t N>
static void callSpecialFunction ( G &&  Gen,
StringRef  FuncName,
QualType  QT,
bool  IsVolatile,
CodeGenFunction CGF,
std::array< Address, N >  Addrs 
)
static

◆ createNullAddressArray() [1/3]

template<size_t N>
static std::array<Address, N> createNullAddressArray ( )
static

Definition at line 828 of file CGNonTrivialStruct.cpp.

References clang::CharUnits::Zero().

Referenced by callSpecialFunction().

◆ createNullAddressArray() [2/3]

template<>
std::array<Address, 1> createNullAddressArray ( )

Definition at line 828 of file CGNonTrivialStruct.cpp.

References clang::CharUnits::Zero().

◆ createNullAddressArray() [3/3]

template<>
std::array<Address, 2> createNullAddressArray ( )

Definition at line 832 of file CGNonTrivialStruct.cpp.

References clang::CharUnits::Zero().

Referenced by callSpecialFunction().

◆ getFieldSize()

static uint64_t getFieldSize ( const FieldDecl FD,
QualType  FT,
ASTContext Ctx 
)
static

◆ getSpecialFunction()

template<class G , size_t N>
static llvm::Function* getSpecialFunction ( G &&  Gen,
StringRef  FuncName,
QualType  QT,
bool  IsVolatile,
std::array< CharUnits, N >  Alignments,
CodeGenModule CGM 
)
static