[PATCH] [ms-cxxabi] PR15512 - mangle lambda names.

Charles Davis cdavis5x at gmail.com
Thu May 9 12:03:14 PDT 2013

Comment at: lib/AST/MicrosoftMangle.cpp:485-492
@@ +484,10 @@
+          // Mangle local lambda in the form
+          // <lambda_n>
+          // where n is the lambda id.
+          SmallString<64> Str;
+          Str += "<lambda_";
+          Str += llvm::utostr(ID);
+          Str += ">";
+          Out << Str.str();
+          break;
Are you sure we should deviate from VC's behavior here? I thought the whole point of Microsoft ABI support was so we could compile a program with Clang against a DLL compiled with VC (and //vice versa//), and have it all just work. (At least, that's what I had in mind when I started all this :).

I do admit, this might be a bit nicer if we were the ones driving the ABI "spec" (inasmuch as there even //is// one to follow), but we're not. (Then again, they do only have internal linkage...)

On a related note, I now know I need to investigate VC's behavior when a mangled name refers to multiple unnamed tag types (if it's even possible...).


More information about the cfe-commits mailing list