erichkeane added inline comments.

Comment at: lib/AST/MicrosoftMangle.cpp:1717
+        Out << '8';
+        for (const char *NS : {"__swift_cc", "__Swift"})
+          mangleSourceName(NS);
compnerd wrote:
> erichkeane wrote:
> > rsmith wrote:
> > > erichkeane wrote:
> > > > When I implemented regcall, it was brought up that this was likely a 
> > > > bad idea, and to just choose a letter for mangleCallingConvention.  It 
> > > > is a really stable list as it is, and if you avoid ones in the 
> > > > immediate pattern, you'll be fine.
> > > If you can get someone at Microsoft to sign off on us using a specific 
> > > letter, that seems fine. Otherwise, because we don't define the ABI, we 
> > > don't get to invent extensions to it, and we should instead pick 
> > > something (like this) that we can be confident won't conflict with future 
> > > official mangling extensions
> > Hmm... well, when we did it with RegCall, we didn't get them to 'sign off' 
> > so to speak, but simply alerted them about it after the fact and they 
> > promised to keep an eye on it.
> This is a fairly well established technique within clang, we already use this 
> for a large number of C types (e.g. `_Complex`, `_Atomic`, etc) which MSVC 
> does not yet support and may at some point.
Types are WAAAY different from calling conventions IMO.  putting a type in a 
__clang namespace makes a lot of sense.  Putting a function into an arbitrary 
namespace is way different.

  rC Clang

cfe-commits mailing list

Reply via email to