summaryrefslogtreecommitdiff
path: root/src/common/utils2.hpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2013-01-08 19:00:34 -0800
committerBen Longbons <b.r.longbons@gmail.com>2013-01-08 19:54:26 -0800
commitf2fd4885c2a906414e0f36acf95d252e5a9d5805 (patch)
tree918bff247135e9223a5126f1b85f4ae4fc9ba1aa /src/common/utils2.hpp
parent3e42921c657bc93094f0c7d96855aae9b0be5a7e (diff)
downloadtmwa-f2fd4885c2a906414e0f36acf95d252e5a9d5805.tar.gz
tmwa-f2fd4885c2a906414e0f36acf95d252e5a9d5805.tar.bz2
tmwa-f2fd4885c2a906414e0f36acf95d252e5a9d5805.tar.xz
tmwa-f2fd4885c2a906414e0f36acf95d252e5a9d5805.zip
Improve warning management more
Diffstat (limited to 'src/common/utils2.hpp')
-rw-r--r--src/common/utils2.hpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/common/utils2.hpp b/src/common/utils2.hpp
index 7b2bc4a..3b652d5 100644
--- a/src/common/utils2.hpp
+++ b/src/common/utils2.hpp
@@ -4,6 +4,12 @@
#include <iterator>
#include <type_traits>
+#ifdef __clang__
+# define FALLTHROUGH [[clang::fallthrough]]
+#else
+# define FALLTHROUGH /* fallthrough */
+#endif
+
template<class T, class E, E max>
struct earray
{
@@ -109,19 +115,19 @@ struct remove_enum<E, true>
inline \
E operator & (E l, E r) \
{ \
- typedef typename underlying_type<E>::type U;\
+ typedef underlying_type<E>::type U; \
return E(U(l) & U(r)); \
} \
inline \
E operator | (E l, E r) \
{ \
- typedef typename underlying_type<E>::type U;\
+ typedef underlying_type<E>::type U; \
return E(U(l) | U(r)); \
} \
inline \
E operator ^ (E l, E r) \
{ \
- typedef typename underlying_type<E>::type U;\
+ typedef underlying_type<E>::type U; \
return E(U(l) ^ U(r)); \
} \
inline \