<div dir="ltr"><div>I don't understand - you'll need to be more specific. (anything that's "this doesn't /always/ happen" sounds like there's a /lot/ going on that's not specified in your question... compilers in general and clang in particular are /very/ deterministic, so they do do the same thing every time - so if there's some variation it's likely because you're looking at different things)<br><br>If you're looking at a particular instantiation of the variable template tVar, well, once you ask for the type of that particular instantiation you'll be looking at a concrete type and probably too late to find out anything about the template-y-ness.<br><br>But if you are actually looking at the DeclRef for the variable template instantiation, then you can get the VarDecl from that DeclRef and then you can query the VarDecl to see if it's a template as I mentioned in the link previously - "getTemplateSpecializationKind" on the VarDecl should tell you if it's a template at all.<br><br>At least I think that's how you'd go about it... <br><br>- Dave</div><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><br>On Sun, Feb 20, 2020 at 4:08 PM Robert Ankeney via cfe-users <<a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">David - thanks for your suggestions, but no luck here. I had hoped for something like a isTemplateTypeParam() function in QualType, but no such luck. In many cases, if I do a getCanonicalType().getAsString() I get a "type-parameter-0-0" as a result. Though not always. I don't even always see "Type" returned if I do a getUnqualifiedType().getAsString(). I had hoped for a simple function call, as these template parameters seem like generic types.<br><br>Robert </div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"> </div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 17, 2020 at 9:28 AM David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:</div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><div dir="ltr" class="gmail_attr"></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Guessing these sort of functions would be relevant: <a href="https://clang.llvm.org/doxygen/classclang_1_1VarDecl.html#a617bcdd5baaab0ccba71a96cd9c2ed03" target="_blank">https://clang.llvm.org/doxygen/classclang_1_1VarDecl.html#a617bcdd5baaab0ccba71a96cd9c2ed03</a> </div></div></blockquote></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div> <br></div></div></blockquote></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr" class="gmail_attr">On Sun, Feb 16, 2020 at 5:43 PM Robert Ankeney via cfe-users <<a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Suppose I have some code like:<div><br></div><div>template<typename Type></div><div>Type tVar;</div><div>function(tVar);</div><div><br></div><div>How can I determine that tVar is templated from the VarDecl or a MemberExpr? I don't see any obvious function in QualType or Type.</div><div><br></div><div>Thanks,</div><div>Robert </div></div></blockquote></div></blockquote></div></blockquote></div></div>