summaryrefslogtreecommitdiffstats
path: root/build/build-clang/downgrade-mangling-error.patch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--build/build-clang/downgrade-mangling-error.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/build/build-clang/downgrade-mangling-error.patch b/build/build-clang/downgrade-mangling-error.patch
new file mode 100644
index 0000000000..69f46f4dd0
--- /dev/null
+++ b/build/build-clang/downgrade-mangling-error.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 8b1419074df5..4436cd118f87 100644
+--- a/clang/lib/AST/ItaniumMangle.cpp
++++ b/clang/lib/AST/ItaniumMangle.cpp
+@@ -3847,10 +3847,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";
+ }
+ break;
+ }