class MDNode;
class StringRef;
class DIBasicType;
+ class DICompileUnit;
class DICompositeType;
class DIDerivedType;
class DIDescriptor;
private:
Module &M;
LLVMContext & VMContext;
- MDNode *TheCU;
MDNode *TempEnumTypes;
MDNode *TempRetainTypes;
public:
explicit DIBuilder(Module &M);
- const MDNode *getCU() { return TheCU; }
enum ComplexAddrKind { OpPlus=1, OpDeref };
/// finalize - Construct any deferred debug info descriptors.
/// Objective-C.
/// @param SplitName The name of the file that we'll split debug info out
/// into.
- void createCompileUnit(unsigned Lang, StringRef File, StringRef Dir,
- StringRef Producer, bool isOptimized,
- StringRef Flags, unsigned RV,
- StringRef SplitName = StringRef());
+ DICompileUnit createCompileUnit(unsigned Lang, StringRef File,
+ StringRef Dir, StringRef Producer,
+ bool isOptimized, StringRef Flags,
+ unsigned RV,
+ StringRef SplitName = StringRef());
/// createFile - Create a file descriptor to hold debugging information
/// for a file.
/// createEnumerator - Create a single enumerator value.
DIEnumerator createEnumerator(StringRef Name, int64_t Val);
- /// createNullPtrType - Create C++0x nullptr type.
- DIBasicType createNullPtrType(StringRef Name);
+ /// \brief Create a DWARF unspecified type.
+ DIBasicType createUnspecifiedType(StringRef Name);
+
+ /// \brief Create C++11 nullptr type.
+ DIBasicType createNullPtrType();
/// createBasicType - Create debugging information entry for a basic
/// type.
DIType createObjectPointerType(DIType Ty);
/// createForwardDecl - Create a temporary forward-declared type.
- DIType createForwardDecl(unsigned Tag, StringRef Name, DIDescriptor Scope,
- DIFile F, unsigned Line, unsigned RuntimeLang = 0,
- uint64_t SizeInBits = 0, uint64_t AlignInBits = 0);
+ DICompositeType createForwardDecl(unsigned Tag, StringRef Name,
+ DIDescriptor Scope, DIFile F,
+ unsigned Line, unsigned RuntimeLang = 0,
+ uint64_t SizeInBits = 0,
+ uint64_t AlignInBits = 0);
/// retainType - Retain DIType in a module even if it is not referenced
/// through debug info anchors.