diff --git a/llvm/include/llvm/IR/DIBuilder.h b/llvm/include/llvm/IR/DIBuilder.h --- a/llvm/include/llvm/IR/DIBuilder.h +++ b/llvm/include/llvm/IR/DIBuilder.h @@ -518,10 +518,10 @@ /// \param Name Value parameter name. /// \param Ty Parameter type. /// \param Val The fully qualified name of the template. - DITemplateValueParameter *createTemplateTemplateParameter(DIScope *Scope, - StringRef Name, - DIType *Ty, - StringRef Val); + /// \param IsDefault Parameter is default or not. + DITemplateValueParameter * + createTemplateTemplateParameter(DIScope *Scope, StringRef Name, DIType *Ty, + StringRef Val, bool IsDefault = false); /// Create debugging information for a template parameter pack. /// \param Scope Scope in which this type is defined. diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -474,10 +474,11 @@ DITemplateValueParameter * DIBuilder::createTemplateTemplateParameter(DIScope *Context, StringRef Name, - DIType *Ty, StringRef Val) { + DIType *Ty, StringRef Val, + bool IsDefault) { return createTemplateValueParameterHelper( VMContext, dwarf::DW_TAG_GNU_template_template_param, Context, Name, Ty, - false, MDString::get(VMContext, Val)); + IsDefault, MDString::get(VMContext, Val)); } DITemplateValueParameter *