forked from OSchip/llvm-project
Narrow the return types of a few DIBuilder utility functions.
llvm-svn: 175421
This commit is contained in:
parent
1460738710
commit
f11de2f27d
|
@ -29,6 +29,8 @@ namespace llvm {
|
|||
class MDNode;
|
||||
class StringRef;
|
||||
class DIBasicType;
|
||||
class DICompositeType;
|
||||
class DIDerivedType;
|
||||
class DIDescriptor;
|
||||
class DIFile;
|
||||
class DIEnumerator;
|
||||
|
@ -116,25 +118,25 @@ namespace llvm {
|
|||
/// type, e.g. 'const int'.
|
||||
/// @param Tag Tag identifing type, e.g. dwarf::TAG_volatile_type
|
||||
/// @param FromTy Base Type.
|
||||
DIType createQualifiedType(unsigned Tag, DIType FromTy);
|
||||
DIDerivedType createQualifiedType(unsigned Tag, DIType FromTy);
|
||||
|
||||
/// createPointerType - Create debugging information entry for a pointer.
|
||||
/// @param PointeeTy Type pointed by this pointer.
|
||||
/// @param SizeInBits Size.
|
||||
/// @param AlignInBits Alignment. (optional)
|
||||
/// @param Name Pointer type name. (optional)
|
||||
DIType createPointerType(DIType PointeeTy, uint64_t SizeInBits,
|
||||
uint64_t AlignInBits = 0,
|
||||
StringRef Name = StringRef());
|
||||
DIDerivedType
|
||||
createPointerType(DIType PointeeTy, uint64_t SizeInBits,
|
||||
uint64_t AlignInBits = 0, StringRef Name = StringRef());
|
||||
|
||||
/// \brief Create debugging information entry for a pointer to member.
|
||||
/// @param PointeeTy Type pointed to by this pointer.
|
||||
/// @param Class Type for which this pointer points to members of.
|
||||
DIType createMemberPointerType(DIType PointeeTy, DIType Class);
|
||||
DIDerivedType createMemberPointerType(DIType PointeeTy, DIType Class);
|
||||
|
||||
/// createReferenceType - Create debugging information entry for a c++
|
||||
/// style reference or rvalue reference type.
|
||||
DIType createReferenceType(unsigned Tag, DIType RTy);
|
||||
DIDerivedType createReferenceType(unsigned Tag, DIType RTy);
|
||||
|
||||
/// createTypedef - Create debugging information entry for a typedef.
|
||||
/// @param Ty Original type.
|
||||
|
@ -142,8 +144,8 @@ namespace llvm {
|
|||
/// @param File File where this type is defined.
|
||||
/// @param LineNo Line number.
|
||||
/// @param Context The surrounding context for the typedef.
|
||||
DIType createTypedef(DIType Ty, StringRef Name, DIFile File,
|
||||
unsigned LineNo, DIDescriptor Context);
|
||||
DIDerivedType createTypedef(DIType Ty, StringRef Name, DIFile File,
|
||||
unsigned LineNo, DIDescriptor Context);
|
||||
|
||||
/// createFriend - Create debugging information entry for a 'friend'.
|
||||
DIType createFriend(DIType Ty, DIType FriendTy);
|
||||
|
@ -155,8 +157,8 @@ namespace llvm {
|
|||
/// @param BaseOffset Base offset.
|
||||
/// @param Flags Flags to describe inheritance attribute,
|
||||
/// e.g. private
|
||||
DIType createInheritance(DIType Ty, DIType BaseTy, uint64_t BaseOffset,
|
||||
unsigned Flags);
|
||||
DIDerivedType createInheritance(DIType Ty, DIType BaseTy,
|
||||
uint64_t BaseOffset, unsigned Flags);
|
||||
|
||||
/// createMemberType - Create debugging information entry for a member.
|
||||
/// @param Scope Member scope.
|
||||
|
@ -168,10 +170,10 @@ namespace llvm {
|
|||
/// @param OffsetInBits Member offset.
|
||||
/// @param Flags Flags to encode member attribute, e.g. private
|
||||
/// @param Ty Parent type.
|
||||
DIType createMemberType(DIDescriptor Scope, StringRef Name, DIFile File,
|
||||
unsigned LineNo, uint64_t SizeInBits,
|
||||
uint64_t AlignInBits, uint64_t OffsetInBits,
|
||||
unsigned Flags, DIType Ty);
|
||||
DIDerivedType
|
||||
createMemberType(DIDescriptor Scope, StringRef Name, DIFile File,
|
||||
unsigned LineNo, uint64_t SizeInBits, uint64_t AlignInBits,
|
||||
uint64_t OffsetInBits, unsigned Flags, DIType Ty);
|
||||
|
||||
/// createStaticMemberType - Create debugging information entry for a
|
||||
/// C++ static data member.
|
||||
|
@ -292,10 +294,10 @@ namespace llvm {
|
|||
/// @param Flags Flags to encode member attribute, e.g. private
|
||||
/// @param Elements Union elements.
|
||||
/// @param RunTimeLang Optional parameter, Objective-C runtime version.
|
||||
DIType createUnionType(DIDescriptor Scope, StringRef Name, DIFile File,
|
||||
unsigned LineNumber, uint64_t SizeInBits,
|
||||
uint64_t AlignInBits, unsigned Flags,
|
||||
DIArray Elements, unsigned RunTimeLang = 0);
|
||||
DICompositeType createUnionType(
|
||||
DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber,
|
||||
uint64_t SizeInBits, uint64_t AlignInBits, unsigned Flags,
|
||||
DIArray Elements, unsigned RunTimeLang = 0);
|
||||
|
||||
/// createTemplateTypeParameter - Create debugging information for template
|
||||
/// type parameter.
|
||||
|
@ -330,8 +332,8 @@ namespace llvm {
|
|||
/// @param AlignInBits Alignment.
|
||||
/// @param Ty Element type.
|
||||
/// @param Subscripts Subscripts.
|
||||
DIType createArrayType(uint64_t Size, uint64_t AlignInBits,
|
||||
DIType Ty, DIArray Subscripts);
|
||||
DICompositeType createArrayType(uint64_t Size, uint64_t AlignInBits,
|
||||
DIType Ty, DIArray Subscripts);
|
||||
|
||||
/// createVectorType - Create debugging information entry for a vector type.
|
||||
/// @param Size Array size.
|
||||
|
@ -350,16 +352,16 @@ namespace llvm {
|
|||
/// @param SizeInBits Member size.
|
||||
/// @param AlignInBits Member alignment.
|
||||
/// @param Elements Enumeration elements.
|
||||
DIType createEnumerationType(DIDescriptor Scope, StringRef Name,
|
||||
DIFile File, unsigned LineNumber,
|
||||
uint64_t SizeInBits, uint64_t AlignInBits,
|
||||
DIArray Elements, DIType ClassType);
|
||||
DICompositeType createEnumerationType(
|
||||
DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber,
|
||||
uint64_t SizeInBits, uint64_t AlignInBits, DIArray Elements,
|
||||
DIType ClassType);
|
||||
|
||||
/// createSubroutineType - Create subroutine type.
|
||||
/// @param File File in which this subroutine is defined.
|
||||
/// @param ParameterTypes An array of subroutine parameter types. This
|
||||
/// includes return type at 0th index.
|
||||
DIType createSubroutineType(DIFile File, DIArray ParameterTypes);
|
||||
DICompositeType createSubroutineType(DIFile File, DIArray ParameterTypes);
|
||||
|
||||
/// createArtificialType - Create a new DIType with "artificial" flag set.
|
||||
DIType createArtificialType(DIType Ty);
|
||||
|
|
|
@ -185,7 +185,7 @@ DIBuilder::createBasicType(StringRef Name, uint64_t SizeInBits,
|
|||
|
||||
/// createQualifiedType - Create debugging information entry for a qualified
|
||||
/// type, e.g. 'const int'.
|
||||
DIType DIBuilder::createQualifiedType(unsigned Tag, DIType FromTy) {
|
||||
DIDerivedType DIBuilder::createQualifiedType(unsigned Tag, DIType FromTy) {
|
||||
// Qualified types are encoded in DIDerivedType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, Tag),
|
||||
|
@ -199,12 +199,13 @@ DIType DIBuilder::createQualifiedType(unsigned Tag, DIType FromTy) {
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Flags
|
||||
FromTy
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DIDerivedType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createPointerType - Create debugging information entry for a pointer.
|
||||
DIType DIBuilder::createPointerType(DIType PointeeTy, uint64_t SizeInBits,
|
||||
uint64_t AlignInBits, StringRef Name) {
|
||||
DIDerivedType
|
||||
DIBuilder::createPointerType(DIType PointeeTy, uint64_t SizeInBits,
|
||||
uint64_t AlignInBits, StringRef Name) {
|
||||
// Pointer types are encoded in DIDerivedType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_pointer_type),
|
||||
|
@ -218,10 +219,10 @@ DIType DIBuilder::createPointerType(DIType PointeeTy, uint64_t SizeInBits,
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Flags
|
||||
PointeeTy
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DIDerivedType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
DIType DIBuilder::createMemberPointerType(DIType PointeeTy, DIType Base) {
|
||||
DIDerivedType DIBuilder::createMemberPointerType(DIType PointeeTy, DIType Base) {
|
||||
// Pointer types are encoded in DIDerivedType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_ptr_to_member_type),
|
||||
|
@ -236,12 +237,12 @@ DIType DIBuilder::createMemberPointerType(DIType PointeeTy, DIType Base) {
|
|||
PointeeTy,
|
||||
Base
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DIDerivedType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createReferenceType - Create debugging information entry for a reference
|
||||
/// type.
|
||||
DIType DIBuilder::createReferenceType(unsigned Tag, DIType RTy) {
|
||||
DIDerivedType DIBuilder::createReferenceType(unsigned Tag, DIType RTy) {
|
||||
assert(RTy.Verify() && "Unable to create reference type");
|
||||
// References are encoded in DIDerivedType format.
|
||||
Value *Elts[] = {
|
||||
|
@ -256,12 +257,12 @@ DIType DIBuilder::createReferenceType(unsigned Tag, DIType RTy) {
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Flags
|
||||
RTy
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DIDerivedType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createTypedef - Create debugging information entry for a typedef.
|
||||
DIType DIBuilder::createTypedef(DIType Ty, StringRef Name, DIFile File,
|
||||
unsigned LineNo, DIDescriptor Context) {
|
||||
DIDerivedType DIBuilder::createTypedef(DIType Ty, StringRef Name, DIFile File,
|
||||
unsigned LineNo, DIDescriptor Context) {
|
||||
// typedefs are encoded in DIDerivedType format.
|
||||
assert(Ty.Verify() && "Invalid typedef type!");
|
||||
Value *Elts[] = {
|
||||
|
@ -276,7 +277,7 @@ DIType DIBuilder::createTypedef(DIType Ty, StringRef Name, DIFile File,
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Flags
|
||||
Ty
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DIDerivedType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createFriend - Create debugging information entry for a 'friend'.
|
||||
|
@ -301,8 +302,8 @@ DIType DIBuilder::createFriend(DIType Ty, DIType FriendTy) {
|
|||
|
||||
/// createInheritance - Create debugging information entry to establish
|
||||
/// inheritance relationship between two types.
|
||||
DIType DIBuilder::createInheritance(DIType Ty, DIType BaseTy,
|
||||
uint64_t BaseOffset, unsigned Flags) {
|
||||
DIDerivedType DIBuilder::createInheritance(
|
||||
DIType Ty, DIType BaseTy, uint64_t BaseOffset, unsigned Flags) {
|
||||
assert(Ty.Verify() && "Unable to create inheritance");
|
||||
// TAG_inheritance is encoded in DIDerivedType format.
|
||||
Value *Elts[] = {
|
||||
|
@ -317,15 +318,14 @@ DIType DIBuilder::createInheritance(DIType Ty, DIType BaseTy,
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), Flags),
|
||||
BaseTy
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DIDerivedType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createMemberType - Create debugging information entry for a member.
|
||||
DIType DIBuilder::createMemberType(DIDescriptor Scope, StringRef Name,
|
||||
DIFile File, unsigned LineNumber,
|
||||
uint64_t SizeInBits, uint64_t AlignInBits,
|
||||
uint64_t OffsetInBits, unsigned Flags,
|
||||
DIType Ty) {
|
||||
DIDerivedType DIBuilder::createMemberType(
|
||||
DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber,
|
||||
uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits,
|
||||
unsigned Flags, DIType Ty) {
|
||||
// TAG_member is encoded in DIDerivedType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_member),
|
||||
|
@ -339,7 +339,7 @@ DIType DIBuilder::createMemberType(DIDescriptor Scope, StringRef Name,
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), Flags),
|
||||
Ty
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DIDerivedType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createStaticMemberType - Create debugging information entry for a
|
||||
|
@ -533,11 +533,10 @@ DIType DIBuilder::createStructType(DIDescriptor Context, StringRef Name,
|
|||
}
|
||||
|
||||
/// createUnionType - Create debugging information entry for an union.
|
||||
DIType DIBuilder::createUnionType(DIDescriptor Scope, StringRef Name,
|
||||
DIFile File,
|
||||
unsigned LineNumber, uint64_t SizeInBits,
|
||||
uint64_t AlignInBits, unsigned Flags,
|
||||
DIArray Elements, unsigned RunTimeLang) {
|
||||
DICompositeType DIBuilder::createUnionType(
|
||||
DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber,
|
||||
uint64_t SizeInBits, uint64_t AlignInBits, unsigned Flags, DIArray Elements,
|
||||
unsigned RunTimeLang) {
|
||||
// TAG_union_type is encoded in DICompositeType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_union_type),
|
||||
|
@ -554,11 +553,12 @@ DIType DIBuilder::createUnionType(DIDescriptor Scope, StringRef Name,
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), RunTimeLang),
|
||||
Constant::getNullValue(Type::getInt32Ty(VMContext))
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DICompositeType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createSubroutineType - Create subroutine type.
|
||||
DIType DIBuilder::createSubroutineType(DIFile File, DIArray ParameterTypes) {
|
||||
DICompositeType
|
||||
DIBuilder::createSubroutineType(DIFile File, DIArray ParameterTypes) {
|
||||
// TAG_subroutine_type is encoded in DICompositeType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_subroutine_type),
|
||||
|
@ -575,17 +575,15 @@ DIType DIBuilder::createSubroutineType(DIFile File, DIArray ParameterTypes) {
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), 0),
|
||||
Constant::getNullValue(Type::getInt32Ty(VMContext))
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DICompositeType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createEnumerationType - Create debugging information entry for an
|
||||
/// enumeration.
|
||||
DIType DIBuilder::createEnumerationType(DIDescriptor Scope, StringRef Name,
|
||||
DIFile File, unsigned LineNumber,
|
||||
uint64_t SizeInBits,
|
||||
uint64_t AlignInBits,
|
||||
DIArray Elements,
|
||||
DIType ClassType) {
|
||||
DICompositeType DIBuilder::createEnumerationType(
|
||||
DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber,
|
||||
uint64_t SizeInBits, uint64_t AlignInBits, DIArray Elements,
|
||||
DIType ClassType) {
|
||||
// TAG_enumeration_type is encoded in DICompositeType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_enumeration_type),
|
||||
|
@ -604,12 +602,12 @@ DIType DIBuilder::createEnumerationType(DIDescriptor Scope, StringRef Name,
|
|||
};
|
||||
MDNode *Node = MDNode::get(VMContext, Elts);
|
||||
AllEnumTypes.push_back(Node);
|
||||
return DIType(Node);
|
||||
return DICompositeType(Node);
|
||||
}
|
||||
|
||||
/// createArrayType - Create debugging information entry for an array.
|
||||
DIType DIBuilder::createArrayType(uint64_t Size, uint64_t AlignInBits,
|
||||
DIType Ty, DIArray Subscripts) {
|
||||
DICompositeType DIBuilder::createArrayType(uint64_t Size, uint64_t AlignInBits,
|
||||
DIType Ty, DIArray Subscripts) {
|
||||
// TAG_array_type is encoded in DICompositeType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_array_type),
|
||||
|
@ -626,7 +624,7 @@ DIType DIBuilder::createArrayType(uint64_t Size, uint64_t AlignInBits,
|
|||
ConstantInt::get(Type::getInt32Ty(VMContext), 0),
|
||||
Constant::getNullValue(Type::getInt32Ty(VMContext))
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
return DICompositeType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createVectorType - Create debugging information entry for a vector.
|
||||
|
|
Loading…
Reference in New Issue