diff --git a/clang/lib/AST/Mangle.cpp b/clang/lib/AST/Mangle.cpp --- a/clang/lib/AST/Mangle.cpp +++ b/clang/lib/AST/Mangle.cpp @@ -212,6 +212,10 @@ else mangleCXXName(GD, Out); + // do no produce @ suffix if it is regcall4 + if (getASTContext().getLangOpts().RegCall4) + return; + const FunctionDecl *FD = cast(D); const FunctionType *FT = FD->getType()->castAs(); const FunctionProtoType *Proto = dyn_cast(FT);