================ @@ -721,10 +722,17 @@ std::string PredefinedExpr::ComputeName(PredefinedIdentKind IK, return std::string(Out.str()); } if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CurrentDecl)) { - if (IK != PredefinedIdentKind::PrettyFunction && - IK != PredefinedIdentKind::PrettyFunctionNoVirtual && - IK != PredefinedIdentKind::FuncSig && - IK != PredefinedIdentKind::LFuncSig) + const auto &LO = Context.getLangOpts(); + if ((ForceElaboratedPrinting && + (((IK == PredefinedIdentKind::Func || + IK == PredefinedIdentKind ::Function) && + !LO.MicrosoftExt) || + (IK == PredefinedIdentKind::LFunction && LO.MicrosoftExt))) || + (!ForceElaboratedPrinting && + (IK != PredefinedIdentKind::PrettyFunction && + IK != PredefinedIdentKind::PrettyFunctionNoVirtual && + IK != PredefinedIdentKind::FuncSig && + IK != PredefinedIdentKind::LFuncSig))) ---------------- Sirraide wrote:
Er, this may just be a me problem, but this is candidly hitting the limits of what I’d consider legible in terms of nested conditions. Maybe there’s a way to write this that makes it more obvious what is actually going on here? https://github.com/llvm/llvm-project/pull/84014 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits