================
@@ -721,10 +722,21 @@ std::string
PredefinedExpr::ComputeName(PredefinedIdentKind IK,
return std::string(Out.str());
}
if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CurrentDecl)) {
- if (IK != PredefinedIdentKind::PrettyFunction &&
+ const auto &LO = Context.getLangOpts();
+ bool isFuncOrFunctionInNonMSVCCompatEnv =
+ ((IK == PredefinedIdentKind::Func ||
+ IK == PredefinedIdentKind ::Function) &&
+ !LO.MSVCCompat);
+ bool isLFunctionInMSVCCommpatEnv =
+ IK == PredefinedIdentKind::LFunction && LO.MSVCCompat;
+ bool isFuncOrFunctionOrLFunctionOrFuncDName =
+ IK != PredefinedIdentKind::PrettyFunction &&
IK != PredefinedIdentKind::PrettyFunctionNoVirtual &&
IK != PredefinedIdentKind::FuncSig &&
- IK != PredefinedIdentKind::LFuncSig)
+ IK != PredefinedIdentKind::LFuncSig;
+ if ((ForceElaboratedPrinting &&
+ (isFuncOrFunctionInNonMSVCCompatEnv || isLFunctionInMSVCCommpatEnv))
||
+ !ForceElaboratedPrinting && isFuncOrFunctionOrLFunctionOrFuncDName)
----------------
AaronBallman wrote:
```suggestion
(!ForceElaboratedPrinting && isFuncOrFunctionOrLFunctionOrFuncDName))
```
You may need this to avoid diagnostics about mixed `&&` and `||` operators.
https://github.com/llvm/llvm-project/pull/84014
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits