Reformat md32_common.h, part 2.

Manual tweaks and then clang-formatted again.

Change-Id: I809fdb71b2135343e5c1264dd659b464780fc54a
Reviewed-on: https://boringssl-review.googlesource.com/6649
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/digest/md32_common.h b/crypto/digest/md32_common.h
index 79c5b71..b398a5e 100644
--- a/crypto/digest/md32_common.h
+++ b/crypto/digest/md32_common.h
@@ -51,11 +51,13 @@
 
 #include <openssl/base.h>
 
+#include <assert.h>
 
 #if defined(__cplusplus)
 extern "C" {
 #endif
 
+
 #define asm __asm__
 
 /* This is a generic 32-bit "collector" for message digest algorithms. It
@@ -74,9 +76,9 @@
  *
  *     typedef struct <name>_state_st {
  *       uint32_t h[<chaining length> / sizeof(uint32_t)];
- *       uint32_t Nl,Nh;
+ *       uint32_t Nl, Nh;
  *       uint32_t data[HASH_CBLOCK / sizeof(uint32_t)];
- *       unsigned int num
+ *       unsigned num;
  *       ...
  *     } <NAME>_CTX;
  *
@@ -134,27 +136,23 @@
 #error "HASH_BLOCK_DATA_ORDER must be defined!"
 #endif
 
-/*
- * Engage compiler specific rotate intrinsic function if available.
- */
+#ifndef HASH_MAKE_STRING
+#error "HASH_MAKE_STRING must be defined!"
+#endif
+
 #undef ROTATE
 #if defined(_MSC_VER)
 #define ROTATE(a, n) _lrotl(a, n)
 #elif defined(__ICC)
 #define ROTATE(a, n) _rotl(a, n)
 #elif defined(__GNUC__) && __GNUC__ >= 2 && !defined(OPENSSL_NO_ASM)
-/*
- * Some GNU C inline assembler templates. Note that these are
- * rotates by *constant* number of bits! But that's exactly
- * what we need here...
- * 					<appro@fy.chalmers.se>
- */
 #if defined(OPENSSL_X86) || defined(OPENSSL_X86_64)
-#define ROTATE(a, n)                                                   \
-  ({                                                                   \
-    register uint32_t ret;                                             \
-    asm("roll %1,%0" : "=r"(ret) : "I"(n), "0"((uint32_t)(a)) : "cc"); \
-    ret;                                                               \
+/* Note this macro requires |n| be a constant. */
+#define ROTATE(a, n)                                                    \
+  ({                                                                    \
+    register uint32_t ret;                                              \
+    asm("roll %1, %0" : "=r"(ret) : "I"(n), "0"((uint32_t)(a)) : "cc"); \
+    ret;                                                                \
   })
 #endif /* OPENSSL_X86 || OPENSSL_X86_64 */
 #endif /* COMPILER */
@@ -165,15 +163,12 @@
 
 #if defined(DATA_ORDER_IS_BIG_ENDIAN)
 
-#ifndef PEDANTIC
-#if defined(__GNUC__) && __GNUC__ >= 2 && !defined(OPENSSL_NO_ASM)
+#if !defined(PEDANTIC) && defined(__GNUC__) && __GNUC__ >= 2 && \
+    !defined(OPENSSL_NO_ASM)
 #if defined(OPENSSL_X86) || defined(OPENSSL_X86_64)
-/*
- * This gives ~30-40% performance improvement in SHA-256 compiled
- * with gcc [on P4]. Well, first macro to be frank. We can pull
- * this trick on x86* platforms only, because these CPUs can fetch
- * unaligned data without raising an exception.
- */
+/* The first macro gives a ~30-40% performance improvement in SHA-256 compiled
+ * with gcc on P4. This can only be done on x86, where unaligned data fetches
+ * are possible. */
 #define HOST_c2l(c, l)                     \
   ({                                       \
     uint32_t r = *((const uint32_t *)(c)); \
@@ -189,33 +184,30 @@
     (c) += 4;                            \
     r;                                   \
   })
-#elif defined(__aarch64__)
-#if defined(__BYTE_ORDER__)
+#elif defined(__aarch64__) && defined(__BYTE_ORDER__)
 #if defined(__ORDER_LITTLE_ENDIAN__) && \
     __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-#define HOST_c2l(c, l)                                               \
-  ({                                                                 \
-    uint32_t r;                                                      \
-    asm("rev	%w0,%w1" : "=r"(r) : "r"(*((const uint32_t *)(c)))); \
-    (c) += 4;                                                        \
-    (l) = r;                                                         \
+#define HOST_c2l(c, l)                                             \
+  ({                                                               \
+    uint32_t r;                                                    \
+    asm("rev %w0, %w1" : "=r"(r) : "r"(*((const uint32_t *)(c)))); \
+    (c) += 4;                                                      \
+    (l) = r;                                                       \
   })
-#define HOST_l2c(l, c)                                    \
-  ({                                                      \
-    uint32_t r;                                           \
-    asm("rev	%w0,%w1" : "=r"(r) : "r"((uint32_t)(l))); \
-    *((uint32_t *)(c)) = r;                               \
-    (c) += 4;                                             \
-    r;                                                    \
+#define HOST_l2c(l, c)                                  \
+  ({                                                    \
+    uint32_t r;                                         \
+    asm("rev %w0, %w1" : "=r"(r) : "r"((uint32_t)(l))); \
+    *((uint32_t *)(c)) = r;                             \
+    (c) += 4;                                           \
+    r;                                                  \
   })
 #elif defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
 #define HOST_c2l(c, l) (void)((l) = *((const uint32_t *)(c)), (c) += 4)
 #define HOST_l2c(l, c) (*((uint32_t *)(c)) = (l), (c) += 4, (l))
-#endif
-#endif
-#endif
-#endif
-#endif
+#endif /* __aarch64__ && __BYTE_ORDER__ */
+#endif /* ARCH */
+#endif /* !PEDANTIC && GNUC && !NO_ASM */
 
 #ifndef HOST_c2l
 #define HOST_c2l(c, l)                        \
@@ -223,6 +215,7 @@
          l |= (((uint32_t)(*((c)++))) << 16), \
          l |= (((uint32_t)(*((c)++))) << 8), l |= (((uint32_t)(*((c)++)))))
 #endif
+
 #ifndef HOST_l2c
 #define HOST_l2c(l, c)                       \
   (*((c)++) = (uint8_t)(((l) >> 24) & 0xff), \
@@ -237,7 +230,7 @@
 /* See comment in DATA_ORDER_IS_BIG_ENDIAN section. */
 #define HOST_c2l(c, l) (void)((l) = *((const uint32_t *)(c)), (c) += 4)
 #define HOST_l2c(l, c) (*((uint32_t *)(c)) = (l), (c) += 4, l)
-#endif
+#endif /* OPENSSL_X86 || OPENSSL_X86_64 */
 
 #ifndef HOST_c2l
 #define HOST_c2l(c, l)                                                     \
@@ -245,6 +238,7 @@
          l |= (((uint32_t)(*((c)++))) << 16),                              \
          l |= (((uint32_t)(*((c)++))) << 24))
 #endif
+
 #ifndef HOST_l2c
 #define HOST_l2c(l, c)                       \
   (*((c)++) = (uint8_t)(((l)) & 0xff),       \
@@ -253,28 +247,26 @@
    *((c)++) = (uint8_t)(((l) >> 24) & 0xff), l)
 #endif
 
-#endif
+#endif /* DATA_ORDER */
 
 int HASH_UPDATE(HASH_CTX *c, const void *data_, size_t len) {
   const uint8_t *data = data_;
-  uint8_t *p;
-  uint32_t l;
-  size_t n;
 
-  if (len == 0)
+  if (len == 0) {
     return 1;
+  }
 
-  l = (c->Nl + (((uint32_t)len) << 3)) & 0xffffffffUL;
-  /* 95-05-24 eay Fixed a bug with the overflow handling, thanks to
-   * Wei Dai <weidai@eskimo.com> for pointing it out. */
-  if (l < c->Nl) /* overflow */
+  uint32_t l = c->Nl + (((uint32_t)len) << 3);
+  if (l < c->Nl) {
+    /* Handle carries. */
     c->Nh++;
-  c->Nh += (uint32_t)(len >> 29); /* might cause compiler warning on 16-bit */
+  }
+  c->Nh += (uint32_t)(len >> 29);
   c->Nl = l;
 
-  n = c->num;
+  size_t n = c->num;
   if (n != 0) {
-    p = (uint8_t *)c->data;
+    uint8_t *p = (uint8_t *)c->data;
 
     if (len >= HASH_CBLOCK || len + n >= HASH_CBLOCK) {
       memcpy(p + n, data, HASH_CBLOCK - n);
@@ -283,10 +275,11 @@
       data += n;
       len -= n;
       c->num = 0;
-      memset(p, 0, HASH_CBLOCK); /* keep it zeroed */
+      /* Keep |c->data| zeroed when unused. */
+      memset(p, 0, HASH_CBLOCK);
     } else {
       memcpy(p + n, data, len);
-      c->num += (unsigned int)len;
+      c->num += (unsigned)len;
       return 1;
     }
   }
@@ -300,8 +293,8 @@
   }
 
   if (len != 0) {
-    p = (uint8_t *)c->data;
-    c->num = (unsigned int)len;
+    uint8_t *p = (uint8_t *)c->data;
+    c->num = (unsigned)len;
     memcpy(p, data, len);
   }
   return 1;
@@ -317,7 +310,10 @@
   uint8_t *p = (uint8_t *)c->data;
   size_t n = c->num;
 
-  p[n] = 0x80; /* there is always room for one */
+  /* |c->data| always has room for at least one byte. A full block would have
+   * been consumed. */
+  assert(n < HASH_CBLOCK);
+  p[n] = 0x80;
   n++;
 
   if (n > (HASH_CBLOCK - 8)) {
@@ -340,12 +336,7 @@
   c->num = 0;
   memset(p, 0, HASH_CBLOCK);
 
-#ifndef HASH_MAKE_STRING
-#error "HASH_MAKE_STRING must be defined!"
-#else
   HASH_MAKE_STRING(c, md);
-#endif
-
   return 1;
 }
 
diff --git a/include/openssl/md4.h b/include/openssl/md4.h
index e363b73..19ed662 100644
--- a/include/openssl/md4.h
+++ b/include/openssl/md4.h
@@ -91,7 +91,7 @@
   uint32_t h[4];
   uint32_t Nl, Nh;
   uint32_t data[16];
-  unsigned int num;
+  unsigned num;
 };
 
 
diff --git a/include/openssl/md5.h b/include/openssl/md5.h
index 87c3ba4..055cdb0 100644
--- a/include/openssl/md5.h
+++ b/include/openssl/md5.h
@@ -96,7 +96,7 @@
   uint32_t h[4];
   uint32_t Nl, Nh;
   uint32_t data[16];
-  unsigned int num;
+  unsigned num;
 };
 
 
diff --git a/include/openssl/sha.h b/include/openssl/sha.h
index 423510d..fec2927 100644
--- a/include/openssl/sha.h
+++ b/include/openssl/sha.h
@@ -116,7 +116,7 @@
 #endif
   uint32_t Nl, Nh;
   uint32_t data[16];
-  unsigned int num;
+  unsigned num;
 };
 
 
@@ -177,7 +177,7 @@
   uint32_t h[8];
   uint32_t Nl, Nh;
   uint32_t data[16];
-  unsigned int num, md_len;
+  unsigned num, md_len;
 };
 
 
@@ -245,7 +245,7 @@
     uint64_t d[16];
     uint8_t p[128];
   } u;
-  unsigned int num, md_len;
+  unsigned num, md_len;
 };