summaryrefslogtreecommitdiff
path: root/dev-util/bcc/files/bcc-0.36.1-llvm22.patch
blob: 58d7ca97d0b88e09256410909bbf10078aa841dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
https://github.com/iovisor/bcc/pull/5484

diff --git a/src/cc/frontends/clang/loader.cc b/src/cc/frontends/clang/loader.cc
index 6f8387a..1f70634 100644
--- a/src/cc/frontends/clang/loader.cc
+++ b/src/cc/frontends/clang/loader.cc
@@ -464,7 +464,10 @@ int ClangLoader::do_compile(
   }
   invocation0.getFrontendOpts().DisableFree = false;
 
-#if LLVM_VERSION_MAJOR >= 20
+#if LLVM_VERSION_MAJOR >= 22
+  compiler0.setVirtualFileSystem(llvm::vfs::getRealFileSystem());
+  compiler0.createDiagnostics(new IgnoringDiagConsumer());
+#elif LLVM_VERSION_MAJOR >= 20
   compiler0.createDiagnostics(*llvm::vfs::getRealFileSystem(), new IgnoringDiagConsumer());
 #else
   compiler0.createDiagnostics(new IgnoringDiagConsumer());
@@ -487,7 +490,10 @@ int ClangLoader::do_compile(
   add_main_input(invocation1, main_path, &*out_buf);
   invocation1.getFrontendOpts().DisableFree = false;
 
-#if LLVM_VERSION_MAJOR >= 20
+#if LLVM_VERSION_MAJOR >= 22
+  compiler1.setVirtualFileSystem(llvm::vfs::getRealFileSystem());
+  compiler1.createDiagnostics();
+#elif LLVM_VERSION_MAJOR >= 20
   compiler1.createDiagnostics(*llvm::vfs::getRealFileSystem());
 #else
   compiler1.createDiagnostics();
@@ -517,7 +523,10 @@ int ClangLoader::do_compile(
   invocation2.getCodeGenOpts().setInlining(CodeGenOptions::NormalInlining);
   // suppress warnings in the 2nd pass, but bail out on errors (our fault)
   invocation2.getDiagnosticOpts().IgnoreWarnings = true;
-#if LLVM_VERSION_MAJOR >= 20
+#if LLVM_VERSION_MAJOR >= 22
+  compiler2.setVirtualFileSystem(llvm::vfs::getRealFileSystem());
+  compiler2.createDiagnostics();
+#elif LLVM_VERSION_MAJOR >= 20
   compiler2.createDiagnostics(*llvm::vfs::getRealFileSystem());
 #else
   compiler2.createDiagnostics();