sfantao added a comment.

Hi John,

Thanks for the remark!

In http://reviews.llvm.org/D12614#272354, @rjmccall wrote:

> CurFuncDecl is supposed to be the enclosing user function.  Things like 
> outlined functions should be getting stored in CurCodeDecl; that's how it's 
> done for blocks and lambdas.


Apologies I was not accurate in my previous post. `CurFuncDecl` is in fact the 
declaration of the enclosing user function. What is not defined in some times 
undefined is `CurGD` and this is what I was trying to use to get the right 
mangled name of the user function, given that it also encodes the structor 
type. So my question is: is there a good/safe way to get the mangled  name of 
the user function given the function declaration? I didn't find any good way to 
do that without replicating part of the stuff that happens in the mangler.

Just a little bit of context. The reason I was relying on the mangled name 
(along with source information) to unequivocally identify a target region is 
that it seemed as the most straightforward way to differentiate between 
different instances of the same template function/aggregate. So if you are 
aware of a different/easier way to accomplish the same goal please let me know.

Thanks again!
Samuel


http://reviews.llvm.org/D12614



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to