the GCC folks did it again. :-(

This commit is contained in:
Axel Kohlmeyer 2019-04-05 08:00:04 -04:00
parent 8b2a8ad08b
commit 383e206cc2
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
1 changed files with 11 additions and 21 deletions

View File

@ -23,16 +23,6 @@
# endif
#endif
// declaration to indicate intended fallthrough cases in switch statements
// and thus silence the warnings produced by g++ -Wextra
#if defined(__GNUC__)
#define _fallthrough __attribute__ ((fallthrough))
#else
#define _fallthrough
#endif
#define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k))))
/*
@ -301,17 +291,17 @@ uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
/*-------------------------------- last block: affect all 32 bits of (c) */
switch(length) /* all the case statements fall through */
{
case 12: c+=((uint32_t)k[11])<<24; _fallthrough;
case 11: c+=((uint32_t)k[10])<<16; _fallthrough;
case 10: c+=((uint32_t)k[9])<<8; _fallthrough;
case 9 : c+=k[8]; _fallthrough;
case 8 : b+=((uint32_t)k[7])<<24; _fallthrough;
case 7 : b+=((uint32_t)k[6])<<16; _fallthrough;
case 6 : b+=((uint32_t)k[5])<<8; _fallthrough;
case 5 : b+=k[4]; _fallthrough;
case 4 : a+=((uint32_t)k[3])<<24; _fallthrough;
case 3 : a+=((uint32_t)k[2])<<16; _fallthrough;
case 2 : a+=((uint32_t)k[1])<<8; _fallthrough;
case 12: c+=((uint32_t)k[11])<<24; /* fall through */
case 11: c+=((uint32_t)k[10])<<16; /* fall through */
case 10: c+=((uint32_t)k[9])<<8; /* fall through */
case 9 : c+=k[8]; /* fall through */
case 8 : b+=((uint32_t)k[7])<<24; /* fall through */
case 7 : b+=((uint32_t)k[6])<<16; /* fall through */
case 6 : b+=((uint32_t)k[5])<<8; /* fall through */
case 5 : b+=k[4]; /* fall through */
case 4 : a+=((uint32_t)k[3])<<24; /* fall through */
case 3 : a+=((uint32_t)k[2])<<16; /* fall through */
case 2 : a+=((uint32_t)k[1])<<8; /* fall through */
case 1 : a+=k[0];
break;
case 0 : return c;