gcc's -Wextra pulls in -Wold-style-declaration, which triggers when a
declaration has a storage-class specifier as a non-initial qualifier.
The ISO C formal grammar requires the storage-class to be the first
component of the declaration, if present.
Seeint as the register storage-class specifier does not really have any effect
anymore with modern compilers, remove it entirely while we're here, instead of
fixing up the order.
Interestingly, the gcc devteam warnings do not pull in -Wextra, though
the clang ones do.
[extended tests]
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3239)
(cherry picked from commit
f44903a428cc63ce88bfba26e8e4e2e9b21f058d)
void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key)
{
- register CAST_LONG l, r, t;
- const register CAST_LONG *k;
+ CAST_LONG l, r, t;
+ const CAST_LONG *k;
k = &(key->data[0]);
l = data[0];
void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key)
{
- register CAST_LONG l, r, t;
- const register CAST_LONG *k;
+ CAST_LONG l, r, t;
+ const CAST_LONG *k;
k = &(key->data[0]);
l = data[0];
}
/* Coordinates of G, for which we have precomputed tables */
-const static BN_ULONG def_xG[P256_LIMBS] = {
+static const BN_ULONG def_xG[P256_LIMBS] = {
TOBN(0x79e730d4, 0x18a9143c), TOBN(0x75ba95fc, 0x5fedb601),
TOBN(0x79fb732b, 0x77622510), TOBN(0x18905f76, 0xa53755c6)
};
-const static BN_ULONG def_yG[P256_LIMBS] = {
+static const BN_ULONG def_yG[P256_LIMBS] = {
TOBN(0xddf25357, 0xce95560a), TOBN(0x8b4ab8e4, 0xba19e45c),
TOBN(0xd2e88688, 0xdd21f325), TOBN(0x8571ff18, 0x25885d85)
};
*/
#define declare_dh_bn(x) \
- const extern BIGNUM _bignum_dh##x##_p; \
- const extern BIGNUM _bignum_dh##x##_g; \
- const extern BIGNUM _bignum_dh##x##_q;
+ extern const BIGNUM _bignum_dh##x##_p; \
+ extern const BIGNUM _bignum_dh##x##_g; \
+ extern const BIGNUM _bignum_dh##x##_q;
declare_dh_bn(1024_160)
declare_dh_bn(2048_224)
*/
char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len)
{
- const static char hexdig[] = "0123456789ABCDEF";
+ static const char hexdig[] = "0123456789ABCDEF";
char *tmp, *q;
const unsigned char *p;
int i;