diff --git a/crypto/bn/bn_print.c b/crypto/bn/bn_print.c
index 8b349b5..91418a2 100644
--- a/crypto/bn/bn_print.c
+++ b/crypto/bn/bn_print.c
@@ -62,7 +62,7 @@
 #include <openssl/buffer.h>
 #include "bn_lcl.h"
 
-const static char *Hex="0123456789ABCDEF";
+static const char *Hex="0123456789ABCDEF";
 
 /* Must 'Free' the returned data */
 char *BN_bn2hex(BIGNUM *a)
diff --git a/crypto/des/destest.c b/crypto/des/destest.c
index d92fabd..5a04fc9 100644
--- a/crypto/des/destest.c
+++ b/crypto/des/destest.c
@@ -741,25 +741,25 @@
 	if (lqret[0] != 0x327eba8dL)
 		{
 		printf("quad_cksum error, out[0] %08lx is not %08lx\n",
-			(unsigned long)lqret[0],0x327eba8dL);
+			(unsigned long)lqret[0],0x327eba8dUL);
 		err=1;
 		}
 	if (lqret[1] != 0x201a49ccL)
 		{
 		printf("quad_cksum error, out[1] %08lx is not %08lx\n",
-			(unsigned long)lqret[1],0x201a49ccL);
+			(unsigned long)lqret[1],0x201a49ccUL);
 		err=1;
 		}
 	if (lqret[2] != 0x70d7a63aL)
 		{
 		printf("quad_cksum error, out[2] %08lx is not %08lx\n",
-			(unsigned long)lqret[2],0x70d7a63aL);
+			(unsigned long)lqret[2],0x70d7a63aUL);
 		err=1;
 		}
 	if (lqret[3] != 0x501c2c26L)
 		{
 		printf("quad_cksum error, out[3] %08lx is not %08lx\n",
-			(unsigned long)lqret[3],0x501c2c26L);
+			(unsigned long)lqret[3],0x501c2c26UL);
 		err=1;
 		}
 #endif
diff --git a/crypto/dh/dhtest.c b/crypto/dh/dhtest.c
index a3f4692..7703319 100644
--- a/crypto/dh/dhtest.c
+++ b/crypto/dh/dhtest.c
@@ -180,7 +180,7 @@
 	if (p == 2) c='*';
 	if (p == 3) c='\n';
 	BIO_write((BIO *)arg,&c,1);
-	BIO_flush((BIO *)arg);
+	(void)BIO_flush((BIO *)arg);
 #ifdef LINT
 	p=n;
 #endif
diff --git a/crypto/dsa/dsatest.c b/crypto/dsa/dsatest.c
index 363eab6..38dd0c0 100644
--- a/crypto/dsa/dsatest.c
+++ b/crypto/dsa/dsatest.c
@@ -206,7 +206,7 @@
 	if (p == 2) { c='*'; ok++; }
 	if (p == 3) c='\n';
 	BIO_write((BIO *)arg,&c,1);
-	BIO_flush((BIO *)arg);
+	(void)BIO_flush((BIO *)arg);
 
 	if (!ok && (p == 0) && (num > 1))
 		{
diff --git a/crypto/sha/sha1dgst.c b/crypto/sha/sha1dgst.c
index af8d9ae..66e885d 100644
--- a/crypto/sha/sha1dgst.c
+++ b/crypto/sha/sha1dgst.c
@@ -114,7 +114,7 @@
 	c->num=0;
 	}
 
-void SHA1_Update(SHA_CTX *c, const register unsigned char *data,
+void SHA1_Update(SHA_CTX *c, register const unsigned char *data,
 	     unsigned long len)
 	{
 	register SHA_LONG *p;
diff --git a/crypto/sha/sha_dgst.c b/crypto/sha/sha_dgst.c
index f4aa5a5..4df5353 100644
--- a/crypto/sha/sha_dgst.c
+++ b/crypto/sha/sha_dgst.c
@@ -109,7 +109,7 @@
 	c->num=0;
 	}
 
-void SHA_Update(SHA_CTX *c, const register unsigned char *data,
+void SHA_Update(SHA_CTX *c, register const unsigned char *data,
 		unsigned long len)
 	{
 	register SHA_LONG *p;
