rjmccall added a comment.

In https://reviews.llvm.org/D52674#1297893, @smeenai wrote:

> In https://reviews.llvm.org/D52674#1297879, @rjmccall wrote:
>
> > I'm not worried about the mangler being re-used for multiple declarations, 
> > I'm worried about a global flag changing how we mangle all components of a 
> > type when we only mean to change it at the top level.
>
>
> Hmm, but don't we want it to affect all components? For example, consider 
> something like:
>
>   @interface I
>   @end
>  
>   template <class T> class C {};
>  
>   void f();
>   void g() {
>     try {
>       f();
>     } catch (C<I> *) {
>     }
>   }
>
>
> I would say that we want the RTTI for `C<I> *` to have the discriminator for 
> `I`.


Why?  IIUC, you're adding the discriminator to distinguish between two 
different RTTI objects.  It's not like there are two different types.  You 
should mangle `C<I>` normally here.


Repository:
  rC Clang

https://reviews.llvm.org/D52674



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

Reply via email to