clang API Documentation

Defines | Functions
CGDebugInfo.cpp File Reference
#include "CGDebugInfo.h"
#include "CGBlocks.h"
#include "CGCXXABI.h"
#include "CGObjCRuntime.h"
#include "CodeGenFunction.h"
#include "CodeGenModule.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclFriend.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/RecordLayout.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Version.h"
#include "clang/Frontend/CodeGenOptions.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "clang/AST/BuiltinTypes.def"
#include "clang/AST/TypeNodes.def"
Include dependency graph for CGDebugInfo.cpp:

Go to the source code of this file.

Defines

#define BUILTIN_TYPE(Id, SingletonId)
#define PLACEHOLDER_TYPE(Id, SingletonId)   case BuiltinType::Id:
#define TYPE(Class, Base)
#define ABSTRACT_TYPE(Class, Base)
#define NON_CANONICAL_TYPE(Class, Base)
#define DEPENDENT_TYPE(Class, Base)   case Type::Class:

Functions

static SmallString< 256 > getUniqueTagTypeName (const TagType *Ty, CodeGenModule &CGM, llvm::DICompileUnit TheCU)
static unsigned getAccessFlag (AccessSpecifier Access, const RecordDecl *RD)
static bool isFunctionLocalClass (const CXXRecordDecl *RD)
static bool hasExplicitMemberDefinition (CXXRecordDecl::method_iterator I, CXXRecordDecl::method_iterator End)
static bool shouldOmitDefinition (CodeGenOptions::DebugInfoKind DebugKind, const RecordDecl *RD, const LangOptions &LangOpts)
static bool hasDefaultGetterName (const ObjCPropertyDecl *PD, const ObjCMethodDecl *Getter)
static bool hasDefaultSetterName (const ObjCPropertyDecl *PD, const ObjCMethodDecl *Setter)
static QualType UnwrapTypeForDebugInfo (QualType T, const ASTContext &C)

Define Documentation

#define ABSTRACT_TYPE (   Class,
  Base 
)
#define BUILTIN_TYPE (   Id,
  SingletonId 
)
#define DEPENDENT_TYPE (   Class,
  Base 
)    case Type::Class:
#define NON_CANONICAL_TYPE (   Class,
  Base 
)
#define PLACEHOLDER_TYPE (   Id,
  SingletonId 
)    case BuiltinType::Id:
#define TYPE (   Class,
  Base 
)

Function Documentation

static unsigned getAccessFlag ( AccessSpecifier  Access,
const RecordDecl RD 
) [static]

Convert an AccessSpecifier into the corresponding DIDescriptor flag. As an optimization, return 0 if the access specifier equals the default for the containing type.

Definition at line 810 of file CGDebugInfo.cpp.

References clang::AS_none, clang::AS_private, clang::AS_protected, clang::AS_public, clang::TagDecl::isClass(), clang::TagDecl::isStruct(), and clang::TagDecl::isUnion().

static SmallString<256> getUniqueTagTypeName ( const TagType Ty,
CodeGenModule CGM,
llvm::DICompileUnit  TheCU 
) [static]
static bool hasDefaultGetterName ( const ObjCPropertyDecl PD,
const ObjCMethodDecl Getter 
) [static]
static bool hasDefaultSetterName ( const ObjCPropertyDecl PD,
const ObjCMethodDecl Setter 
) [static]

Definition at line 1493 of file CGDebugInfo.cpp.

Referenced by shouldOmitDefinition().

static bool isFunctionLocalClass ( const CXXRecordDecl RD) [static]

isFunctionLocalClass - Return true if CXXRecordDecl is defined inside a function.

Definition at line 1069 of file CGDebugInfo.cpp.

References clang::Decl::getDeclContext().

static bool shouldOmitDefinition ( CodeGenOptions::DebugInfoKind  DebugKind,
const RecordDecl RD,
const LangOptions LangOpts 
) [static]
static QualType UnwrapTypeForDebugInfo ( QualType  T,
const ASTContext C 
) [static]