summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2019-10-27 21:27:04 -0400
committerRusty Wagner <rusty.wagner@gmail.com>2019-10-27 22:55:50 -0400
commit6d44b037731fe497a98739bfd237e430f90974aa (patch)
treef9ef42f61ccbab8c15bcc072fea07249de7a6465
parenta49e1b7d4e3d1bab73337b6d9412350f39f5ce15 (diff)
Eliminate most warnings on Linux
-rw-r--r--binaryninjaapi.h2
-rw-r--r--function.cpp8
-rw-r--r--lowlevelilinstruction.cpp5
-rw-r--r--lowlevelilinstruction.h1
-rw-r--r--rapidjsonwrapper.h10
-rw-r--r--type.cpp4
-rw-r--r--ui/action.h1
-rw-r--r--ui/dockhandler.h13
-rw-r--r--ui/linearview.h1
9 files changed, 44 insertions, 1 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index a1233412..fc225316 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -1033,6 +1033,7 @@ __attribute__ ((format (printf, 1, 2)))
NameList(const std::string& name, const std::string& join);
NameList(const std::vector<std::string>& name, const std::string& join);
NameList(const NameList& name, const std::string& join);
+ NameList(const NameList& name);
virtual ~NameList();
virtual NameList& operator=(const std::string& name);
@@ -2424,6 +2425,7 @@ __attribute__ ((format (printf, 1, 2)))
Variable(BNVariableSourceType type, uint32_t index, uint64_t storage);
Variable(BNVariableSourceType type, uint64_t storage);
Variable(const BNVariable& var);
+ Variable(const Variable& var);
Variable& operator=(const Variable& var);
diff --git a/function.cpp b/function.cpp
index 0d5cb2ba..3dc98112 100644
--- a/function.cpp
+++ b/function.cpp
@@ -48,6 +48,14 @@ Variable::Variable(const BNVariable& var)
}
+Variable::Variable(const Variable& var)
+{
+ type = var.type;
+ index = var.index;
+ storage = var.storage;
+}
+
+
Variable& Variable::operator=(const Variable& var)
{
type = var.type;
diff --git a/lowlevelilinstruction.cpp b/lowlevelilinstruction.cpp
index 0b1a3923..a79910f0 100644
--- a/lowlevelilinstruction.cpp
+++ b/lowlevelilinstruction.cpp
@@ -323,6 +323,11 @@ RegisterOrFlag::RegisterOrFlag(bool flag, uint32_t i): isFlag(flag), index(i)
}
+RegisterOrFlag::RegisterOrFlag(const RegisterOrFlag& v): isFlag(v.isFlag), index(v.index)
+{
+}
+
+
uint32_t RegisterOrFlag::GetRegister() const
{
if (isFlag)
diff --git a/lowlevelilinstruction.h b/lowlevelilinstruction.h
index 2b456bb1..af005943 100644
--- a/lowlevelilinstruction.h
+++ b/lowlevelilinstruction.h
@@ -61,6 +61,7 @@ namespace BinaryNinja
RegisterOrFlag();
RegisterOrFlag(bool flag, uint32_t i);
+ RegisterOrFlag(const RegisterOrFlag& v);
bool IsRegister() const { return !isFlag; }
bool IsFlag() const { return isFlag; }
diff --git a/rapidjsonwrapper.h b/rapidjsonwrapper.h
index cf3dd829..1ff02e7e 100644
--- a/rapidjsonwrapper.h
+++ b/rapidjsonwrapper.h
@@ -2,6 +2,12 @@
#include <exception>
#include <stdexcept>
+#if defined(__GNUC__) && __GNUC__ >= 8
+// Disable warnings from rapidjson performance optimizations
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+
struct GenericException;
struct ParseException;
@@ -30,4 +36,6 @@ struct ParseException: public std::runtime_error, rapidjson::ParseResult
#include "rapidjson/rapidjson.h"
#include "rapidjson/document.h"
-
+#if defined(__GNUC__) && __GNUC__ >= 8
+#pragma GCC diagnostic pop
+#endif
diff --git a/type.cpp b/type.cpp
index a2075103..c5835ba9 100644
--- a/type.cpp
+++ b/type.cpp
@@ -45,6 +45,10 @@ NameList::NameList(const NameList& name, const string& join): m_join(join), m_na
{
}
+NameList::NameList(const NameList& name): m_join(name.m_join), m_name(name.m_name)
+{
+}
+
NameList::~NameList()
{}
diff --git a/ui/action.h b/ui/action.h
index 8559e887..a374731b 100644
--- a/ui/action.h
+++ b/ui/action.h
@@ -72,6 +72,7 @@ struct BINARYNINJAUIAPI UIAction
UIAction(const std::function<void()>& activate,
const std::function<bool()>& isValid);
UIAction(const UIAction& other);
+ UIAction& operator=(const UIAction& other);
static void registerAction(const QString& name, const QKeySequence& defaultKeyBinding = QKeySequence());
static void registerAction(const QString& name, const QList<QKeySequence>& defaultKeyBinding);
diff --git a/ui/dockhandler.h b/ui/dockhandler.h
index ab6596c7..d349e330 100644
--- a/ui/dockhandler.h
+++ b/ui/dockhandler.h
@@ -26,6 +26,19 @@ struct BINARYNINJAUIAPI DockProperties
dockWidget(dp.dockWidget), visibleState(dp.visibleState), defaultArea(dp.defaultArea),
defaultOrientation(dp.defaultOrientation), defaultVisibility(dp.defaultVisibility),
viewSensitive(dp.viewSensitive), neverBeenVisible(dp.neverBeenVisible), sizeStash(dp.sizeStash), actionOnShow(dp.actionOnShow) { }
+ DockProperties& operator=(const DockProperties& dp)
+ {
+ dockWidget = dp.dockWidget;
+ visibleState = dp.visibleState;
+ defaultArea = dp.defaultArea;
+ defaultOrientation = dp.defaultOrientation;
+ defaultVisibility = dp.defaultVisibility;
+ viewSensitive = dp.viewSensitive;
+ neverBeenVisible = dp.neverBeenVisible;
+ sizeStash = dp.sizeStash;
+ actionOnShow = dp.actionOnShow;
+ return *this;
+ }
QDockWidget* dockWidget;
bool visibleState;
diff --git a/ui/linearview.h b/ui/linearview.h
index adc14f2e..b30e127c 100644
--- a/ui/linearview.h
+++ b/ui/linearview.h
@@ -23,6 +23,7 @@ struct BINARYNINJAUIAPI LinearViewCursorPosition: public BinaryNinja::LinearDisa
LinearViewCursorPosition();
LinearViewCursorPosition(const LinearViewCursorPosition& pos);
LinearViewCursorPosition(const BinaryNinja::LinearDisassemblyPosition& pos);
+ LinearViewCursorPosition& operator=(const LinearViewCursorPosition& pos);
};
class BINARYNINJAUIAPI LinearViewHistoryEntry: public HistoryEntry