summaryrefslogtreecommitdiffstats
path: root/build/build-clang/downgrade-mangling-error_clang_12.patch
diff options
context:
space:
mode:
Diffstat (limited to 'build/build-clang/downgrade-mangling-error_clang_12.patch')
-rw-r--r--build/build-clang/downgrade-mangling-error_clang_12.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/build/build-clang/downgrade-mangling-error_clang_12.patch b/build/build-clang/downgrade-mangling-error_clang_12.patch
new file mode 100644
index 0000000000..ad31306ff3
--- /dev/null
+++ b/build/build-clang/downgrade-mangling-error_clang_12.patch
@@ -0,0 +1,23 @@
+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 4420f6a2c1c3..4d9a6434d245 100644
+--- a/clang/lib/AST/ItaniumMangle.cpp
++++ b/clang/lib/AST/ItaniumMangle.cpp
+@@ -4028,10 +4028,11 @@ recurse:
+ 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";
+ return;
+ }
+ break;