alexbdv updated this revision to Diff 257616. Repository: rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74813/new/ https://reviews.llvm.org/D74813 Files: clang/lib/AST/Mangle.cpp Index: clang/lib/AST/Mangle.cpp =================================================================== --- clang/lib/AST/Mangle.cpp +++ clang/lib/AST/Mangle.cpp @@ -36,11 +36,14 @@ StringRef Outer, const BlockDecl *BD, raw_ostream &Out) { - unsigned discriminator = Context.getBlockId(BD, true); - if (discriminator == 0) - Out << "__" << Outer << "_block_invoke"; - else - Out << "__" << Outer << "_block_invoke_" << discriminator+1; + Out << "__" << Outer << "_block_invoke__"; + + ArrayRef<ParmVarDecl *> params = BD->parameters(); + for(unsigned i = 0; i < params.size(); i++) { + ParmVarDecl *param = params[i]; + Out << "_"; + Context.mangleTypeName(param->getType(), Out); + } } void MangleContext::anchor() { }
Index: clang/lib/AST/Mangle.cpp =================================================================== --- clang/lib/AST/Mangle.cpp +++ clang/lib/AST/Mangle.cpp @@ -36,11 +36,14 @@ StringRef Outer, const BlockDecl *BD, raw_ostream &Out) { - unsigned discriminator = Context.getBlockId(BD, true); - if (discriminator == 0) - Out << "__" << Outer << "_block_invoke"; - else - Out << "__" << Outer << "_block_invoke_" << discriminator+1; + Out << "__" << Outer << "_block_invoke__"; + + ArrayRef<ParmVarDecl *> params = BD->parameters(); + for(unsigned i = 0; i < params.size(); i++) { + ParmVarDecl *param = params[i]; + Out << "_"; + Context.mangleTypeName(param->getType(), Out); + } } void MangleContext::anchor() { }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits