summaryrefslogtreecommitdiff
path: root/include/llvm/DIBuilder.h
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2013-01-16 01:22:23 +0000
committerEric Christopher <echristo@gmail.com>2013-01-16 01:22:23 +0000
commit6b6061f01171bd3d4e32022efa45428d4f9941ee (patch)
treeaae4e22e2a4ca079f2ff59c85f524318eb91d5a0 /include/llvm/DIBuilder.h
parent171192f149dce679cd520f85ffced4789448b017 (diff)
downloadllvm-6b6061f01171bd3d4e32022efa45428d4f9941ee.tar.gz
llvm-6b6061f01171bd3d4e32022efa45428d4f9941ee.tar.bz2
llvm-6b6061f01171bd3d4e32022efa45428d4f9941ee.tar.xz
Define metadata interfaces for describing a static data member
of a class. Emit static data member declarations and definitions through correctly. Part of PR14471. Patch by Paul Robinson! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172590 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/DIBuilder.h')
-rw-r--r--include/llvm/DIBuilder.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/include/llvm/DIBuilder.h b/include/llvm/DIBuilder.h
index e0e3fc90e7..fb7aa8b38a 100644
--- a/include/llvm/DIBuilder.h
+++ b/include/llvm/DIBuilder.h
@@ -172,6 +172,19 @@ namespace llvm {
uint64_t AlignInBits, uint64_t OffsetInBits,
unsigned Flags, DIType Ty);
+ /// createStaticMemberType - Create debugging information entry for a
+ /// C++ static data member.
+ /// @param Scope Member scope.
+ /// @param Name Member name.
+ /// @param File File where this member is declared.
+ /// @param LineNo Line number.
+ /// @param Ty Type of the static member.
+ /// @param Flags Flags to encode member attribute, e.g. private.
+ /// @param Val Const initializer of the member.
+ DIType createStaticMemberType(DIDescriptor Scope, StringRef Name,
+ DIFile File, unsigned LineNo, DIType Ty,
+ unsigned Flags, llvm::Value *Val);
+
/// createObjCIVar - Create debugging information entry for Objective-C
/// instance variable.
/// @param Name Member name.
@@ -402,10 +415,12 @@ namespace llvm {
/// @param isLocalToUnit Boolean flag indicate whether this variable is
/// externally visible or not.
/// @param Val llvm::Value of the variable.
+ /// @param Decl Reference to the corresponding declaration.
DIGlobalVariable
createStaticVariable(DIDescriptor Context, StringRef Name,
StringRef LinkageName, DIFile File, unsigned LineNo,
- DIType Ty, bool isLocalToUnit, llvm::Value *Val);
+ DIType Ty, bool isLocalToUnit, llvm::Value *Val,
+ MDNode *Decl = NULL);
/// createLocalVariable - Create a new descriptor for the specified