Browse Source

Silence -Wswitch-default warnings, and add it to the TravisCI config.

Thanks to Olaf Bergmann for the patch!
Arthur O'Dwyer 4 years ago
parent
commit
134e241078
2 changed files with 5 additions and 2 deletions
  1. 1 1
      .travis.yml
  2. 4 1
      src/uthash.h

+ 1 - 1
.travis.yml

@@ -7,7 +7,7 @@ matrix:
     compiler: clang
   - os: osx
 script:
-- make -C tests EXTRA_CFLAGS="-W -Wall -Wextra"
+- make -C tests EXTRA_CFLAGS="-W -Wall -Wextra -Wswitch-default"
 - make -C tests clean ; make -C tests pedantic
 - make -C tests clean ; make -C tests pedantic EXTRA_CFLAGS=-DNO_DECLTYPE
 - make -C tests clean ; make -C tests cplusplus

+ 4 - 1
src/uthash.h

@@ -678,7 +678,8 @@ do {
     case 4:  _hj_i += ( (unsigned)_hj_key[3] << 24 );  /* FALLTHROUGH */         \
     case 3:  _hj_i += ( (unsigned)_hj_key[2] << 16 );  /* FALLTHROUGH */         \
     case 2:  _hj_i += ( (unsigned)_hj_key[1] << 8 );   /* FALLTHROUGH */         \
-    case 1:  _hj_i += _hj_key[0];                                                \
+    case 1:  _hj_i += _hj_key[0];                      /* FALLTHROUGH */         \
+    default: ;                                                                   \
   }                                                                              \
   HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                             \
 } while (0)
@@ -726,6 +727,8 @@ do {
     case 1: hashv += *_sfh_key;                                                  \
             hashv ^= hashv << 10;                                                \
             hashv += hashv >> 1;                                                 \
+            break;                                                               \
+    default: ;                                                                   \
   }                                                                              \
                                                                                  \
   /* Force "avalanching" of final 127 bits */                                    \