diff options
-rw-r--r-- | libobjc/ChangeLog | 4 | ||||
-rw-r--r-- | libobjc/class.c | 18 |
2 files changed, 14 insertions, 8 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index 2f9361f..e1d32b6 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,7 @@ +2017-11-23 Tom de Vries <tom@codesourcery.com> + + * class.c (CLASS_TABLE_HASH): Wrap in "do {} while (0)". + 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> * Makefile.in: Regenerate. diff --git a/libobjc/class.c b/libobjc/class.c index 53fb5fe..7a8f832 100644 --- a/libobjc/class.c +++ b/libobjc/class.c @@ -153,14 +153,16 @@ static objc_mutex_t __class_table_lock = NULL; string, and HASH the computed hash of the string; CLASS_NAME is untouched. */ -#define CLASS_TABLE_HASH(INDEX, HASH, CLASS_NAME) \ - HASH = 0; \ - for (INDEX = 0; CLASS_NAME[INDEX] != '\0'; INDEX++) \ - { \ - HASH = (HASH << 4) ^ (HASH >> 28) ^ CLASS_NAME[INDEX]; \ - } \ - \ - HASH = (HASH ^ (HASH >> 10) ^ (HASH >> 20)) & CLASS_TABLE_MASK; +#define CLASS_TABLE_HASH(INDEX, HASH, CLASS_NAME) \ + do { \ + HASH = 0; \ + for (INDEX = 0; CLASS_NAME[INDEX] != '\0'; INDEX++) \ + { \ + HASH = (HASH << 4) ^ (HASH >> 28) ^ CLASS_NAME[INDEX]; \ + } \ + \ + HASH = (HASH ^ (HASH >> 10) ^ (HASH >> 20)) & CLASS_TABLE_MASK; \ + } while (0) /* Setup the table. */ static void |