<div dir="ltr">You should be getting three times the `<span style="font-size:12.8px">CXCursor_CXXBaseSpecifier`, one for each class you're inheriting from. I ran the analysis on my machine (clang 3.8) and that is exactly what I am getting: `RecursiveBase<class Base>`, `Base2</span><span style="font-size:12.8px">`</span><span style="font-size:12.8px">, </span><span style="font-size:12.8px">`</span><span style="font-size:12.8px">Base3</span><span style="font-size:12.8px">`. Maybe you could use `</span><span style="background-color:rgb(240,240,240);color:rgb(51,51,51)">clang -Xclang -ast-dump -fsyntax-only <this_demo>`</span><span style="color:rgb(51,51,51);background-color:rgb(255,255,255)"> to see the output of Clang's built-in AST dumper. It should contain these entries. Otherwise, clang version you're running might be an older one.</span></div><div class="gmail_extra"><br><div class="gmail_quote">On 12 March 2017 at 05:09, Nestal Wan via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
When I use clang_visitChildren() to visit a class, I can't get a<br>
CXCursor_CXXBaseSpecifier for its base class if the base class is a<br>
template. For example:<br>
<br>
template <typename BaseType><br>
class RecursiveBase : public BaseType<br>
{<br>
public:<br>
   virtual void SomeFunc()<br>
   {<br>
      // prevent optimizer to remove the function<br>
      global_var++;<br>
   }<br>
};<br>
<br>
class Derived : public RecursiveBase<Base>, public Base2, public Base3<br>
{<br>
public:<br>
   Derived() = default;<br>
<br>
   void Func() override {}<br>
};<br>
<br>
I can get a CXCursor_CXXBaseSpecifier cursor as children of the<br>
"Derived" cursor, but not RecursiveBase. How can I find out references<br>
to all base classes including templates?<br>
<br>
Thanks.<br>
<br>
Nestal<br>
______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>