summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2012-12-09 11:40:34 (GMT)
committerRemko Tronçon <git@el-tramo.be>2012-12-22 14:25:27 (GMT)
commit67aa40ce209831a651a852d5bb2a083f21900e08 (patch)
tree7a9d0f8925b2c1d20ffe77554b6ec256e33c0274
parent1e9c6a067865b73378af0dd252353efc84efb9b9 (diff)
downloadswift-67aa40ce209831a651a852d5bb2a083f21900e08.zip
swift-67aa40ce209831a651a852d5bb2a083f21900e08.tar.bz2
Added 'override' macro to check for override.
Change-Id: I5b49358debd8a9b9c36adf878d109adad0462f16
-rw-r--r--Swiften/Base/BoostRandomGenerator.h3
-rw-r--r--Swiften/Base/Override.h34
2 files changed, 36 insertions, 1 deletions
diff --git a/Swiften/Base/BoostRandomGenerator.h b/Swiften/Base/BoostRandomGenerator.h
index b5a6cac..6065ff3 100644
--- a/Swiften/Base/BoostRandomGenerator.h
+++ b/Swiften/Base/BoostRandomGenerator.h
@@ -7,6 +7,7 @@
#pragma once
#include <Swiften/Base/RandomGenerator.h>
+#include <Swiften/Base/Override.h>
#include <boost/random/mersenne_twister.hpp>
@@ -15,7 +16,7 @@ namespace Swift {
public:
BoostRandomGenerator();
- int generateRandomInteger(int max);
+ int generateRandomInteger(int max) SWIFTEN_OVERRIDE;
private:
boost::mt19937 generator;
diff --git a/Swiften/Base/Override.h b/Swiften/Base/Override.h
new file mode 100644
index 0000000..7f410cf
--- /dev/null
+++ b/Swiften/Base/Override.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2012 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#pragma once
+
+#if defined(__clang__)
+# if __has_feature(cxx_override_control) || __has_extension(cxx_override_control)
+# define SWIFTEN_OVERRIDE override
+# else
+# define SWIFTEN_OVERRIDE
+# endif
+
+#elif defined(__GNUC__)
+# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))
+# define SWIFTEN_OVERRIDE override
+# else
+# define SWIFTEN_OVERRIDE
+# endif
+
+#elif defined(_MSC_VER)
+// Actually, 1700 is the first version that supports the C++11 override, but
+// older versions apparently support a similar keyword.
+# if _MSC_VER >= 1400
+# define SWIFTEN_OVERRIDE override
+# else
+# define SWIFTEN_OVERRIDE
+# endif
+
+#else
+# define SWIFTEN_OVERRIDE
+#endif