mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-12 15:51:40 +00:00
DIBuilder: allow linkage name to be specified for global variables
Patch by Kai Nacke (kai@redstar.de) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177547 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
980b5140ff
commit
3fac43d8b4
@ -407,6 +407,19 @@ namespace llvm {
|
||||
createGlobalVariable(StringRef Name, DIFile File, unsigned LineNo,
|
||||
DIType Ty, bool isLocalToUnit, llvm::Value *Val);
|
||||
|
||||
/// \brief Create a new descriptor for the specified global.
|
||||
/// @param Name Name of the variable.
|
||||
/// @param LinkageName Mangled variable name.
|
||||
/// @param File File where this variable is defined.
|
||||
/// @param LineNo Line number.
|
||||
/// @param Ty Variable Type.
|
||||
/// @param isLocalToUnit Boolean flag indicate whether this variable is
|
||||
/// externally visible or not.
|
||||
/// @param Val llvm::Value of the variable.
|
||||
DIGlobalVariable
|
||||
createGlobalVariable(StringRef Name, StringRef LinkageName, DIFile File,
|
||||
unsigned LineNo, DIType Ty, bool isLocalToUnit,
|
||||
llvm::Value *Val);
|
||||
|
||||
/// createStaticVariable - Create a new descriptor for the specified
|
||||
/// variable.
|
||||
|
@ -773,17 +773,18 @@ DISubrange DIBuilder::getOrCreateSubrange(int64_t Lo, int64_t Count) {
|
||||
return DISubrange(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createGlobalVariable - Create a new descriptor for the specified global.
|
||||
/// \brief Create a new descriptor for the specified global.
|
||||
DIGlobalVariable DIBuilder::
|
||||
createGlobalVariable(StringRef Name, DIFile F, unsigned LineNumber,
|
||||
DIType Ty, bool isLocalToUnit, Value *Val) {
|
||||
createGlobalVariable(StringRef Name, StringRef LinkageName, DIFile F,
|
||||
unsigned LineNumber, DIType Ty, bool isLocalToUnit,
|
||||
Value *Val) {
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_variable),
|
||||
Constant::getNullValue(Type::getInt32Ty(VMContext)),
|
||||
NULL, // TheCU,
|
||||
MDString::get(VMContext, Name),
|
||||
MDString::get(VMContext, Name),
|
||||
MDString::get(VMContext, Name),
|
||||
MDString::get(VMContext, LinkageName),
|
||||
F,
|
||||
ConstantInt::get(Type::getInt32Ty(VMContext), LineNumber),
|
||||
Ty,
|
||||
@ -797,6 +798,14 @@ createGlobalVariable(StringRef Name, DIFile F, unsigned LineNumber,
|
||||
return DIGlobalVariable(Node);
|
||||
}
|
||||
|
||||
/// \brief Create a new descriptor for the specified global.
|
||||
DIGlobalVariable DIBuilder::
|
||||
createGlobalVariable(StringRef Name, DIFile F, unsigned LineNumber,
|
||||
DIType Ty, bool isLocalToUnit, Value *Val) {
|
||||
return createGlobalVariable(Name, Name, F, LineNumber, Ty, isLocalToUnit,
|
||||
Val);
|
||||
}
|
||||
|
||||
/// createStaticVariable - Create a new descriptor for the specified static
|
||||
/// variable.
|
||||
DIGlobalVariable DIBuilder::
|
||||
|
Loading…
x
Reference in New Issue
Block a user