<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">https://github.com/eteran/edb-debugger/commit/da04c339559f82257ff54ea62b1d403ee98c1ba0
https://bugs.gentoo.org/841839

From da04c339559f82257ff54ea62b1d403ee98c1ba0 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich &lt;slyich@gmail.com&gt;
Date: Sat, 2 Apr 2022 22:36:50 +0000
Subject: [PATCH] Gcc 12 includes fix (#815)

* RegisterViewModelBase.h: add &lt;memory&gt; for unique_ptr

Without the change gcc-12 fails to build edb-debugger as:

    [ 20%] Building CXX object src/CMakeFiles/edb.dir/RegisterViewModelBase.cpp.o
    In file included from edb-debugger/src/RegisterViewModelBase.cpp:18:
    edb-debugger/include/RegisterViewModelBase.h:162:14: error:
      'unique_ptr' in namespace 'std' does not name a template type
      162 |         std::unique_ptr&lt;CategoriesHolder&gt; rootItem;
          |              ^~~~~~~~~~
    edb-debugger/include/RegisterViewModelBase.h:9:1: note:
      'std::unique_ptr' is defined in header '&lt;memory&gt;';
        did you forget to '#include &lt;memory&gt;'?
        8 | #include &lt;deque&gt;
      +++ |+#include &lt;memory&gt;

* State.h: add &lt;memory&gt; for unique_ptr

Without the change gcc-12 fails to build edb-debugger as:

    [ 21%] Building CXX object src/CMakeFiles/edb.dir/State.cpp.o
    In file included from edb-debugger/src/State.cpp:19:
    edb-debugger/include/State.h:93:14:
      error: 'unique_ptr' in namespace 'std' does not name a template type
       93 |         std::unique_ptr&lt;IState&gt; impl_;
          |              ^~~~~~~~~~
    edb-debugger/include/State.h:24:1:
      note: 'std::unique_ptr' is defined in header '&lt;memory&gt;';
        did you forget to '#include &lt;memory&gt;'?
       23 | #include "Types.h"
      +++ |+#include &lt;memory&gt;
       24 |

* IState.h: add &lt;memory&gt; for unique_ptr

Without the change gcc-12 fails to build edb-debugger as:

    [ 69%] Building CXX object plugins/DebuggerCore/CMakeFiles/DebuggerCore.dir/unix/linux/arch/x86-generic/PlatformState.cpp.o
    In file included from edb-debugger/plugins/DebuggerCore/unix/linux/arch/x86-generic/PlatformState.h:22,
                     from edb-debugger/plugins/DebuggerCore/unix/linux/arch/x86-generic/PlatformState.cpp:19:
    edb-debugger/include/IState.h:33:22:
      error: 'unique_ptr' in namespace 'std' does not name a template type
       33 |         virtual std::unique_ptr&lt;IState&gt; clone() const = 0;
          |                      ^~~~~~~~~~
    edb-debugger/include/IState.h:23:1:
      note: 'std::unique_ptr' is defined in header '&lt;memory&gt;';
        did you forget to '#include &lt;memory&gt;'?
       22 | #include "Register.h"
      +++ |+#include &lt;memory&gt;
       23 | #include "Types.h"
--- a/include/IState.h
+++ b/include/IState.h
@@ -19,6 +19,7 @@ along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
 #ifndef ISTATE_H_20110315_
 #define ISTATE_H_20110315_
 
+#include &lt;memory&gt;
 #include "Register.h"
 #include "Types.h"
 
--- a/include/RegisterViewModelBase.h
+++ b/include/RegisterViewModelBase.h
@@ -6,6 +6,7 @@
 #include "util/Integer.h"
 #include &lt;QAbstractItemModel&gt;
 #include &lt;deque&gt;
+#include &lt;memory&gt;
 #include &lt;vector&gt;
 
 Q_DECLARE_METATYPE(std::vector&lt;NumberDisplayMode&gt;)
--- a/include/State.h
+++ b/include/State.h
@@ -19,6 +19,7 @@ along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
 #ifndef STATE_H_20060715_
 #define STATE_H_20060715_
 
+#include &lt;memory&gt;
 #include "API.h"
 #include "Types.h"
 
</pre></body></html>