mirror of git://gcc.gnu.org/git/gcc.git
[libobjc] Wrap CLASS_TABLE_HASH in do {} while (0)
2017-11-23 Tom de Vries <tom@codesourcery.com>
* class.c (CLASS_TABLE_HASH): Wrap in "do {} while (0)".
From-SVN: r255099
This commit is contained in:
parent
77abf71fdf
commit
7f339ecbd3
|
|
@ -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>
|
2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
|
||||||
|
|
||||||
* Makefile.in: Regenerate.
|
* Makefile.in: Regenerate.
|
||||||
|
|
|
||||||
|
|
@ -153,14 +153,16 @@ static objc_mutex_t __class_table_lock = NULL;
|
||||||
string, and HASH the computed hash of the string; CLASS_NAME is
|
string, and HASH the computed hash of the string; CLASS_NAME is
|
||||||
untouched. */
|
untouched. */
|
||||||
|
|
||||||
#define CLASS_TABLE_HASH(INDEX, HASH, CLASS_NAME) \
|
#define CLASS_TABLE_HASH(INDEX, HASH, CLASS_NAME) \
|
||||||
HASH = 0; \
|
do { \
|
||||||
for (INDEX = 0; CLASS_NAME[INDEX] != '\0'; INDEX++) \
|
HASH = 0; \
|
||||||
{ \
|
for (INDEX = 0; CLASS_NAME[INDEX] != '\0'; INDEX++) \
|
||||||
HASH = (HASH << 4) ^ (HASH >> 28) ^ CLASS_NAME[INDEX]; \
|
{ \
|
||||||
} \
|
HASH = (HASH << 4) ^ (HASH >> 28) ^ CLASS_NAME[INDEX]; \
|
||||||
\
|
} \
|
||||||
HASH = (HASH ^ (HASH >> 10) ^ (HASH >> 20)) & CLASS_TABLE_MASK;
|
\
|
||||||
|
HASH = (HASH ^ (HASH >> 10) ^ (HASH >> 20)) & CLASS_TABLE_MASK; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
/* Setup the table. */
|
/* Setup the table. */
|
||||||
static void
|
static void
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue