summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-05-05 18:12:36 +0200
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-05-05 22:26:32 +0200
commit86154175f63a7f1a4b73b3727314ac760d83834e (patch)
tree5507b93f5ef8f4cb01b46233050230f9d12f9ef5
parentc32c1746b43f3f7869bbbf3c86533bf5a5d57a29 (diff)
downloadmana-86154175f63a7f1a4b73b3727314ac760d83834e.tar.gz
mana-86154175f63a7f1a4b73b3727314ac760d83834e.tar.bz2
mana-86154175f63a7f1a4b73b3727314ac760d83834e.tar.xz
mana-86154175f63a7f1a4b73b3727314ac760d83834e.zip
Fixed compilation errors and warnings with GCC 4.7
Also, since GCC 4.7 there is a binary compatibility issue when linking with a Guichan that was not compiled in C++11 mode. This commit also allows compiling with GCC 4.7 with C++11 mode turned off. Reviewed-by: Erik Schilling
-rw-r--r--src/cpp0x_compat/cstdint9
-rw-r--r--src/gui/widgets/tabbedarea.h3
-rw-r--r--src/gui/widgets/textfield.h1
-rw-r--r--src/net/download.h1
-rw-r--r--src/resources/itemdb.h2
5 files changed, 11 insertions, 5 deletions
diff --git a/src/cpp0x_compat/cstdint b/src/cpp0x_compat/cstdint
index d8d71d9d..05d56c6e 100644
--- a/src/cpp0x_compat/cstdint
+++ b/src/cpp0x_compat/cstdint
@@ -1,7 +1,10 @@
/*
* Compatibility header used when the compiler doesn't support C++0x.
*
- * It doesn't seem necessary for it to contain anything, at least GCC 4.2.1
- * compiles Mana fine so it apparently understands types like uint16_t by
- * default.
+ * While GCC 4.2.1 understands types like uint16_t by default, later versions
+ * are more strict so here are some typedefs for types used in our code.
*/
+
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
diff --git a/src/gui/widgets/tabbedarea.h b/src/gui/widgets/tabbedarea.h
index 45b092a4..b43078a4 100644
--- a/src/gui/widgets/tabbedarea.h
+++ b/src/gui/widgets/tabbedarea.h
@@ -98,7 +98,8 @@ class TabbedArea : public gcn::TabbedArea, public gcn::WidgetListener
int getContainerHeight() const
{ return mWidgetContainer->getHeight(); }
- using gcn::TabbedArea::setSelectedTab;
+ void setSelectedTab(unsigned int index)
+ { gcn::TabbedArea::setSelectedTab(index); }
void setSelectedTab(gcn::Tab *tab);
diff --git a/src/gui/widgets/textfield.h b/src/gui/widgets/textfield.h
index 28654032..94cada41 100644
--- a/src/gui/widgets/textfield.h
+++ b/src/gui/widgets/textfield.h
@@ -63,6 +63,7 @@ struct TextHistory {
class AutoCompleteLister {
public:
+ virtual ~AutoCompleteLister() {}
virtual void getAutoCompleteList(std::vector<std::string>&) const {}
};
diff --git a/src/net/download.h b/src/net/download.h
index c0bdf204..26810f3f 100644
--- a/src/net/download.h
+++ b/src/net/download.h
@@ -18,6 +18,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <cstdlib> // pulls in int64_t
#include <cstdio>
#include <string>
diff --git a/src/resources/itemdb.h b/src/resources/itemdb.h
index 15311083..d7859ad3 100644
--- a/src/resources/itemdb.h
+++ b/src/resources/itemdb.h
@@ -78,7 +78,7 @@ class ItemDB
mLoaded(false)
{}
- ~ItemDB()
+ virtual ~ItemDB()
{}
/**