diff options
author | Eric Christopher <echristo@gmail.com> | 2013-01-16 01:22:23 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2013-01-16 01:22:23 +0000 |
commit | 6b6061f01171bd3d4e32022efa45428d4f9941ee (patch) | |
tree | aae4e22e2a4ca079f2ff59c85f524318eb91d5a0 /include/llvm/DIBuilder.h | |
parent | 171192f149dce679cd520f85ffced4789448b017 (diff) | |
download | llvm-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.h | 17 |
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 |