Skip to content

Commit

Permalink
Gcc 12 includes fix (eteran#815)
Browse files Browse the repository at this point in the history
* RegisterViewModelBase.h: add <memory> 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<CategoriesHolder> rootItem;
          |              ^~~~~~~~~~
    edb-debugger/include/RegisterViewModelBase.h:9:1: note:
      'std::unique_ptr' is defined in header '<memory>';
        did you forget to '#include <memory>'?
        8 | #include <deque>
      +++ |+#include <memory>

* State.h: add <memory> 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<IState> impl_;
          |              ^~~~~~~~~~
    edb-debugger/include/State.h:24:1:
      note: 'std::unique_ptr' is defined in header '<memory>';
        did you forget to '#include <memory>'?
       23 | #include "Types.h"
      +++ |+#include <memory>
       24 |

* IState.h: add <memory> 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<IState> clone() const = 0;
          |                      ^~~~~~~~~~
    edb-debugger/include/IState.h:23:1:
      note: 'std::unique_ptr' is defined in header '<memory>';
        did you forget to '#include <memory>'?
       22 | #include "Register.h"
      +++ |+#include <memory>
       23 | #include "Types.h"
  • Loading branch information
trofi authored Apr 2, 2022
1 parent 63cab4b commit da04c33
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 0 deletions.
1 change: 1 addition & 0 deletions include/IState.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef ISTATE_H_20110315_
#define ISTATE_H_20110315_

#include <memory>
#include "Register.h"
#include "Types.h"

Expand Down
1 change: 1 addition & 0 deletions include/RegisterViewModelBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include "util/Integer.h"
#include <QAbstractItemModel>
#include <deque>
#include <memory>
#include <vector>

Q_DECLARE_METATYPE(std::vector<NumberDisplayMode>)
Expand Down
1 change: 1 addition & 0 deletions include/State.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef STATE_H_20060715_
#define STATE_H_20060715_

#include <memory>
#include "API.h"
#include "Types.h"

Expand Down

0 comments on commit da04c33

Please sign in to comment.