[llvm][DebugInfo] Add IsDefault parameter to DIBuilder::createTemplateTemplateParameter
authorMichael Buch <michaelbuch12@gmail.com>
Fri, 16 Dec 2022 11:26:08 +0000 (11:26 +0000)
committerMichael Buch <michaelbuch12@gmail.com>
Fri, 16 Dec 2022 11:38:53 +0000 (11:38 +0000)
This is in preparation for Clang to emit `DW_AT_default_value`
for defaulted template template parameters.

Differential Revision: https://reviews.llvm.org/D139989

llvm/include/llvm/IR/DIBuilder.h
llvm/lib/IR/DIBuilder.cpp

index 2898d48..45b9404 100644 (file)
@@ -518,10 +518,10 @@ namespace llvm {
     /// \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.
index 5028f54..6c873c3 100644 (file)
@@ -474,10 +474,11 @@ DIBuilder::createTemplateValueParameter(DIScope *Context, StringRef Name,
 
 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 *