File: fix-DiagnosticOptions-IntrusiveRefCntPtr.patch

package info (click to toggle)
rocm-llvm 7.0.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 5,652 kB
  • sloc: lisp: 30,221; ansic: 11,104; cpp: 10,721; sh: 179; python: 47; makefile: 37
file content (47 lines) | stat: -rw-r--r-- 2,122 bytes parent folder | download
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
43
44
45
46
47
From: Cordell Bloor <cgmb@debian.org>
Date: Mon, 22 Sep 2025 13:32:25 -0600
Subject: fix DiagnosticOptions IntrusiveRefCntPtr

Compatibility with LLVM 21 was fixed upstream in a massive merge commit.
I've extracted the relevant portions.

Applied-Upstream: https://github.com/ROCm/llvm-project/commit/75074634076c0
---
 amd/comgr/src/comgr-compiler.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

--- a/amd/comgr/src/comgr-compiler.cpp
+++ b/amd/comgr/src/comgr-compiler.cpp
@@ -655,9 +655,9 @@
 amd_comgr_status_t executeCommand(const Command &Job, raw_ostream &LogS,
                                   DiagnosticOptions &DiagOpts,
                                   llvm::vfs::FileSystem &FS) {
-  TextDiagnosticPrinter DiagClient(LogS, &DiagOpts);
+  TextDiagnosticPrinter DiagClient(LogS, DiagOpts);
   IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs);
-  DiagnosticsEngine Diags(DiagID, &DiagOpts, &DiagClient, false);
+  DiagnosticsEngine Diags(DiagID, DiagOpts, &DiagClient, false);
 
   auto Arguments = Job.getArguments();
   SmallVector<const char *, 128> Argv;
@@ -752,7 +752,7 @@
   // here is mostly copy-and-pasted from driver.cpp/cc1_main.cpp/various Clang
   // tests to try to approximate the same behavior as running the `clang`
   // executable.
-  IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts(new DiagnosticOptions);
+  std::unique_ptr<DiagnosticOptions> DiagOpts(new DiagnosticOptions);
   unsigned MissingArgIndex, MissingArgCount;
   InputArgList ArgList = getDriverOptTable().ParseArgs(
       Args.slice(1), MissingArgIndex, MissingArgCount);
@@ -761,9 +761,9 @@
   // DiagnosticsEngine actually exists.
   (void)ParseDiagnosticArgs(*DiagOpts, ArgList);
   TextDiagnosticPrinter *DiagClient =
-      new TextDiagnosticPrinter(LogS, &*DiagOpts);
+      new TextDiagnosticPrinter(LogS, *DiagOpts);
   IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs);
-  DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagClient);
+  DiagnosticsEngine Diags(DiagID, *DiagOpts, DiagClient);
 
   ProcessWarningOptions(Diags, *DiagOpts, *OverlayFS, /*ReportDiags=*/false);