[LLVMdev] CXXMethodDecl::getNameAsString for template-class' constructor or destructor

David Come davidbrcz at gmail.com
Mon Feb 17 00:43:33 PST 2014


Hello !

I'm writing a small software to translate header into C++ files. It works
fine for non-template class but I'm having n issue with template class,
especially with template class's constructor or destructor.

I'm using CXXMethodDecl::getNameAsString to get the name of the function.
For a non template class like

  struct C
  {
    C();
    ~C();
    //other stuff
  }

The previous function gives me (as I expect) C and ~C.

But if the class is template like the following:

  template <class TT,int N>
  struct C
  {
    C();
    ~C();
   }

I get as result : C<TT, N> and ~C<TT, N>, which is not what I was
expecting.

For me, the name of a function should not be independent of the class being
template. Classic functions behave the way I expect (same name in both
cases).


Am I missing something ? Is this the normal behavior or a bug ?

Thank you !

David.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140217/69dd007c/attachment.html>


More information about the llvm-dev mailing list