erichkeane marked an inline comment as done.
erichkeane added inline comments.


================
Comment at: clang/lib/AST/MicrosoftMangle.cpp:2956
+
+  mangleArtificialTagType(TTK_Struct, TemplateMangling, {"__clang"});
 }
----------------
erichkeane wrote:
> Anastasia wrote:
> > erichkeane wrote:
> > > Anastasia wrote:
> > > > We don't seem to add namespace for other OpenCL types, although I am 
> > > > not against it as I find it actually cleaner.
> > > > 
> > > > Since the mangling deviates what is documented can you add some 
> > > > comments here explaining your mangling scheme?
> > > The Microsoft mangling scheme is owned by the Microsoft Corporation, so 
> > > adding something to their mangling (like 8ocl_pipe) isn't permitted.  
> > > Thus, the clang project mangles our types that aren't supported by 
> > > Microsoft as a type in the __clang namespace.  
> > > 
> > > You'll note that we do it for a bunch of types above, including 
> > > AddressSpaceType, VectorType, _Complex, _Float16, _Half, etc.
> > Are you saying that we have a bug for the other OpenCL type i.e. images, 
> > samplers, etc?
> I don't know those well enough to answer, but at least in this case 'Pipe' 
> isn't a Type.  It is a Type Class.  Because of this, having a single mangling 
> for it is incorrect.  It appears images likely is going to have this problem 
> as well.
I've looked closer, and I don't believe this is a problem for other openCL 
types (other than they are not reserved names).  In ~2090 in this file those 
are implemented as a struct named ocl_*, which while not reserved in C++ will 
demangle.  Image types are mangled differently, also as a struct type, so i 
think those are OK.

These pipe types aren't mangled separately in Linux (hence why overloading 
doesn't work with them in Linux).




CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75685/new/

https://reviews.llvm.org/D75685



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

Reply via email to