diff mbox series

[libobjc,committed] Wrap CLASS_TABLE_HASH in do {} while (0)

Message ID 4e5ce1f7-644c-ced8-6734-47d73743d3c0@mentor.com
State New
Headers show
Series [libobjc,committed] Wrap CLASS_TABLE_HASH in do {} while (0) | expand

Commit Message

Tom de Vries Nov. 23, 2017, 7:54 p.m. UTC
Hi,

this patch wraps CLASS_TABLE_HASH in "do {} while (0)". This allows the 
macro to be used in if-then-elses without curly braces.

Build libobcj for x86_64.

Committed as obvious.

Thanks,
- Tom

Comments

Andrew Pinski Nov. 23, 2017, 9:49 p.m. UTC | #1
On Thu, Nov 23, 2017 at 11:54 AM, Tom de Vries <Tom_deVries@mentor.com> wrote:
> Hi,
>
> this patch wraps CLASS_TABLE_HASH in "do {} while (0)". This allows the
> macro to be used in if-then-elses without curly braces.
>
> Build libobcj for x86_64.
>
> Committed as obvious.

Yes this is ok.

Thanks,
Andrew


>
> Thanks,
> - Tom
diff mbox series

Patch

[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)".

---
 libobjc/class.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

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