diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2013-01-08 19:00:34 -0800 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2013-01-08 19:54:26 -0800 |
commit | f2fd4885c2a906414e0f36acf95d252e5a9d5805 (patch) | |
tree | 918bff247135e9223a5126f1b85f4ae4fc9ba1aa /src/common/utils2.hpp | |
parent | 3e42921c657bc93094f0c7d96855aae9b0be5a7e (diff) | |
download | tmwa-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.hpp | 12 |
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 \ |