dblaikie added a comment. In D141826#4072609 <https://reviews.llvm.org/D141826#4072609>, @Michael137 wrote:
> In D141826#4059088 <https://reviews.llvm.org/D141826#4059088>, @erichkeane > wrote: > >> In D141826#4059073 <https://reviews.llvm.org/D141826#4059073>, @Michael137 >> wrote: >> >>> In D141826#4058866 <https://reviews.llvm.org/D141826#4058866>, @erichkeane >>> wrote: >>> >>>> This seems innocuous enough/easy enough to use. I'd like a comment on the >>>> functions at least and types in TemplateBase.h to specify that this is for >>>> printing-policy only? Alternatively (and perhaps MUCH more appreciated) >>>> would be to make sure we mark the defaulted during AST generation as well. >>> >>> I'll have a look at doing that >>> >>> Are you suggesting we do the substitution check that the TypePrinter >>> currently does when constructing the specialisation decls? So the >>> TypePrinter simply needs to check the `TemplateArgument::getIsDefaulted`? I >>> like the sound of that. >>> >>> Unfortunately we'd still need the `setIsDefaulted` because of the DWARF >>> limitation in LLDB >> >> Yes, thats my thought. Of course we'd still need the 'setIsDefaulted', but >> at least it would be something that coudl be generally useful. > > So I've been having a go at this. The latest diff sets the bit when creating > `ClassTemplateSpecializationDecl`s. However, we end up having to copy the > `ArrayRef<TemplateArgument>` twice (because of the current assumptions that a > `TemplateArgumentList` is immutable, which seems like a nice property to > maintain). That seems iffy. > > I also had to add the flag to the `TemplateArgument` tablegen description to > support deserialized `ClassTemplateSpecializationDecl`. > > I've been playing around with setting the flag at construction of > `TemplateArgument`s instead. Not sure how much cleaner that's going to be > because so far I've not found a good single point of entry (been looking at > CheckTemplateArgumentList > <https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaTemplate.cpp#L6004-L6116> > in `SemaTemplate`) Yep, I think that'd be the idea, if there's somewhere to do it - rather than updating/copying it on every specialization. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141826/new/ https://reviews.llvm.org/D141826 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits