mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-16 12:24:03 +00:00
DebugInfo: Support (using GNU extensions) for template template parameters and parameter packs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184643 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -530,15 +530,14 @@ DIBuilder::createTemplateTypeParameter(DIDescriptor Context, StringRef Name,
|
||||
return DITemplateTypeParameter(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createTemplateValueParameter - Create debugging information for template
|
||||
/// value parameter.
|
||||
DITemplateValueParameter
|
||||
DIBuilder::createTemplateValueParameter(DIDescriptor Context, StringRef Name,
|
||||
DIType Ty, Value *Val,
|
||||
MDNode *File, unsigned LineNo,
|
||||
DIBuilder::createTemplateValueParameter(unsigned Tag, DIDescriptor Context,
|
||||
StringRef Name, DIType Ty,
|
||||
Value *Val, MDNode *File,
|
||||
unsigned LineNo,
|
||||
unsigned ColumnNo) {
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_template_value_parameter),
|
||||
GetTagConstant(VMContext, Tag),
|
||||
getNonCompileUnitScope(Context),
|
||||
MDString::get(VMContext, Name),
|
||||
Ty,
|
||||
@ -550,6 +549,38 @@ DIBuilder::createTemplateValueParameter(DIDescriptor Context, StringRef Name,
|
||||
return DITemplateValueParameter(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createTemplateValueParameter - Create debugging information for template
|
||||
/// value parameter.
|
||||
DITemplateValueParameter
|
||||
DIBuilder::createTemplateValueParameter(DIDescriptor Context, StringRef Name,
|
||||
DIType Ty, Value *Val,
|
||||
MDNode *File, unsigned LineNo,
|
||||
unsigned ColumnNo) {
|
||||
return createTemplateValueParameter(dwarf::DW_TAG_template_value_parameter,
|
||||
Context, Name, Ty, Val, File, LineNo,
|
||||
ColumnNo);
|
||||
}
|
||||
|
||||
DITemplateValueParameter
|
||||
DIBuilder::createTemplateTemplateParameter(DIDescriptor Context, StringRef Name,
|
||||
DIType Ty, StringRef Val,
|
||||
MDNode *File, unsigned LineNo,
|
||||
unsigned ColumnNo) {
|
||||
return createTemplateValueParameter(
|
||||
dwarf::DW_TAG_GNU_template_template_param, Context, Name, Ty,
|
||||
MDString::get(VMContext, Val), File, LineNo, ColumnNo);
|
||||
}
|
||||
|
||||
DITemplateValueParameter
|
||||
DIBuilder::createTemplateParameterPack(DIDescriptor Context, StringRef Name,
|
||||
DIType Ty, DIArray Val,
|
||||
MDNode *File, unsigned LineNo,
|
||||
unsigned ColumnNo) {
|
||||
return createTemplateValueParameter(dwarf::DW_TAG_GNU_template_parameter_pack,
|
||||
Context, Name, Ty, Val, File, LineNo,
|
||||
ColumnNo);
|
||||
}
|
||||
|
||||
/// createClassType - Create debugging information entry for a class.
|
||||
DICompositeType DIBuilder::createClassType(DIDescriptor Context, StringRef Name,
|
||||
DIFile File, unsigned LineNumber,
|
||||
|
Reference in New Issue
Block a user