Downgrade unimplemented mangling diagnostic from error to note. This codepath is exercised by MozsearchIndexer.cpp (the searchfox indexer) when indexing on Windows. We can do without having the unimplemented bits for now as long the compiler doesn't fail the build. See also https://bugs.llvm.org/show_bug.cgi?id=39294 diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp index b483187394..fb01348ebb 100644 --- a/clang/lib/AST/ItaniumMangle.cpp +++ b/clang/lib/AST/ItaniumMangle.cpp @@ -3623,20 +3623,21 @@ recurse: case Expr::AtomicExprClass: case Expr::SourceLocExprClass: case Expr::FixedPointLiteralClass: case Expr::BuiltinBitCastExprClass: { if (!NullOut) { // As bad as this diagnostic is, it's better than crashing. DiagnosticsEngine &Diags = Context.getDiags(); - unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Error, + unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Remark, "cannot yet mangle expression type %0"); Diags.Report(E->getExprLoc(), DiagID) << E->getStmtClassName() << E->getSourceRange(); + Out << "MOZ_WE_HACKED_AROUND_BUG_1418415"; } break; } case Expr::CXXUuidofExprClass: { const CXXUuidofExpr *UE = cast(E); if (UE->isTypeOperand()) { QualType UuidT = UE->getTypeOperand(Context.getASTContext());