poly1305/poly1305.c: work around -Wshadow warnings with POLY1305_ASM.
authorAndy Polyakov <appro@openssl.org>
Sat, 19 Dec 2015 13:16:47 +0000 (14:16 +0100)
committerAndy Polyakov <appro@openssl.org>
Wed, 10 Feb 2016 09:31:18 +0000 (10:31 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/poly1305/poly1305.c

index 9a44f27f04050d18c047cf4669e76405c089d58a..7c9f302bfc1689ea4b3d8d8d94f8842ca0dc17d6 100644 (file)
@@ -454,6 +454,15 @@ void Poly1305_Init(POLY1305 *ctx, const unsigned char key[32])
 
 }
 
+#ifdef POLY1305_ASM
+/*
+ * This "eclipses" poly1305_blocks and poly1305_emit, but it's
+ * conscious choice imposed by -Wshadow compiler warnings.
+ */
+# define poly1305_blocks (*poly1305_blocks_p)
+# define poly1305_emit   (*poly1305_emit_p)
+#endif
+
 void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
 {
 #ifdef POLY1305_ASM
@@ -463,7 +472,7 @@ void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
      * property is fluently used in assembly modules to optimize
      * padbit handling on loop boundary.
      */
-    poly1305_blocks_f poly1305_blocks = ctx->func.blocks;
+    poly1305_blocks_f poly1305_blocks_p = ctx->func.blocks;
 #endif
     size_t rem, num;
 
@@ -499,8 +508,8 @@ void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
 void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16])
 {
 #ifdef POLY1305_ASM
-    poly1305_blocks_f poly1305_blocks = ctx->func.blocks;
-    poly1305_emit_f poly1305_emit = ctx->func.emit;
+    poly1305_blocks_f poly1305_blocks_p = ctx->func.blocks;
+    poly1305_emit_f poly1305_emit_p = ctx->func.emit;
 #endif
     size_t num;