[PATCH] D140996: [c++20] P1907R1: Support for generalized non-type template arguments of scalar type.

Andrey Ali Khan Bolshakov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 13 14:05:11 PDT 2023


bolshakov-a added inline comments.


================
Comment at: clang/lib/Index/USRGeneration.cpp:1032
+  case TemplateArgument::UncommonValue:
+    // FIXME: Visit value.
+    break;
----------------
bnbarham wrote:
> akyrtzi wrote:
> > erichkeane wrote:
> > > bolshakov-a wrote:
> > > > aaron.ballman wrote:
> > > > > Any particular reason this isn't being handled now?
> > > > I need some guidance here. Which characters are allowed in the USR? Could the mangling algorithm from `CXXNameMangler::mangleValueInTemplateArg` be moved into some common place and reused here?
> > > I have no idea what is valid here.  BUT @akyrtzi and @gribozavr (or @gribozavr2 ?) seem to be the ones that touch these files the most?
> > Adding @bnbarham to review the `Index` changes.
> Just visiting the underlying type seems reasonable, ie. `VisitType(Arg.getUncommonValueType());`. If it needed to be differentiated between a `TemplateArgument::Type` you could add a prefix character (eg. `U`), but that doesn't seem needed to me.
Doesn't the holded value be added so as to distinguish e.g. `Tpl<1.5>` from `Tpl<2.5>`?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D140996/new/

https://reviews.llvm.org/D140996



More information about the cfe-commits mailing list