mirror of
https://github.com/openssl/openssl.git
synced 2025-02-23 14:42:15 +08:00
{ec/curve25519,poly1305/poly1305}.c: relax pedantic constraint.
As it turns out gcc -pedantic doesn't seem to consider __uint128_t as non-standard, unlike __int128 that is. Fix even MSVC warnings in curve25519.c. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5449)
This commit is contained in:
parent
ae1ffe0f65
commit
11a9eacde9
@ -12,9 +12,8 @@
|
||||
#include <openssl/sha.h>
|
||||
|
||||
#if defined(X25519_ASM) \
|
||||
|| ( !defined(PEDANTIC) && \
|
||||
!defined(__sparc__) && \
|
||||
(defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16) )
|
||||
|| ( (defined(__SIZEOF_INT128__) && __SIZEOF_INT128__ == 16) \
|
||||
&& !defined(__sparc__) )
|
||||
/*
|
||||
* Base 2^51 implementation.
|
||||
*/
|
||||
@ -22,7 +21,7 @@
|
||||
|
||||
typedef uint64_t fe51[5];
|
||||
# if !defined(X25519_ASM)
|
||||
typedef unsigned __int128 u128;
|
||||
typedef __uint128_t u128;
|
||||
# endif
|
||||
|
||||
static const uint64_t MASK51 = 0x7ffffffffffff;
|
||||
@ -101,38 +100,38 @@ static void fe51_tobytes(uint8_t *s, const fe51 h)
|
||||
h4 &= MASK51;
|
||||
|
||||
/* smash */
|
||||
s[0] = h0 >> 0;
|
||||
s[1] = h0 >> 8;
|
||||
s[2] = h0 >> 16;
|
||||
s[3] = h0 >> 24;
|
||||
s[4] = h0 >> 32;
|
||||
s[5] = h0 >> 40;
|
||||
s[6] = (h0 >> 48) | ((uint32_t)h1 << 3);
|
||||
s[7] = h1 >> 5;
|
||||
s[8] = h1 >> 13;
|
||||
s[9] = h1 >> 21;
|
||||
s[10] = h1 >> 29;
|
||||
s[11] = h1 >> 37;
|
||||
s[12] = (h1 >> 45) | ((uint32_t)h2 << 6);
|
||||
s[13] = h2 >> 2;
|
||||
s[14] = h2 >> 10;
|
||||
s[15] = h2 >> 18;
|
||||
s[16] = h2 >> 26;
|
||||
s[17] = h2 >> 34;
|
||||
s[18] = h2 >> 42;
|
||||
s[19] = (h2 >> 50) | ((uint32_t)h3 << 1);
|
||||
s[20] = h3 >> 7;
|
||||
s[21] = h3 >> 15;
|
||||
s[22] = h3 >> 23;
|
||||
s[23] = h3 >> 31;
|
||||
s[24] = h3 >> 39;
|
||||
s[25] = (h3 >> 47) | ((uint32_t)h4 << 4);
|
||||
s[26] = h4 >> 4;
|
||||
s[27] = h4 >> 12;
|
||||
s[28] = h4 >> 20;
|
||||
s[29] = h4 >> 28;
|
||||
s[30] = h4 >> 36;
|
||||
s[31] = h4 >> 44;
|
||||
s[0] = (uint8_t)(h0 >> 0);
|
||||
s[1] = (uint8_t)(h0 >> 8);
|
||||
s[2] = (uint8_t)(h0 >> 16);
|
||||
s[3] = (uint8_t)(h0 >> 24);
|
||||
s[4] = (uint8_t)(h0 >> 32);
|
||||
s[5] = (uint8_t)(h0 >> 40);
|
||||
s[6] = (uint8_t)((h0 >> 48) | ((uint32_t)h1 << 3));
|
||||
s[7] = (uint8_t)(h1 >> 5);
|
||||
s[8] = (uint8_t)(h1 >> 13);
|
||||
s[9] = (uint8_t)(h1 >> 21);
|
||||
s[10] = (uint8_t)(h1 >> 29);
|
||||
s[11] = (uint8_t)(h1 >> 37);
|
||||
s[12] = (uint8_t)((h1 >> 45) | ((uint32_t)h2 << 6));
|
||||
s[13] = (uint8_t)(h2 >> 2);
|
||||
s[14] = (uint8_t)(h2 >> 10);
|
||||
s[15] = (uint8_t)(h2 >> 18);
|
||||
s[16] = (uint8_t)(h2 >> 26);
|
||||
s[17] = (uint8_t)(h2 >> 34);
|
||||
s[18] = (uint8_t)(h2 >> 42);
|
||||
s[19] = (uint8_t)((h2 >> 50) | ((uint32_t)h3 << 1));
|
||||
s[20] = (uint8_t)(h3 >> 7);
|
||||
s[21] = (uint8_t)(h3 >> 15);
|
||||
s[22] = (uint8_t)(h3 >> 23);
|
||||
s[23] = (uint8_t)(h3 >> 31);
|
||||
s[24] = (uint8_t)(h3 >> 39);
|
||||
s[25] = (uint8_t)((h3 >> 47) | ((uint32_t)h4 << 4));
|
||||
s[26] = (uint8_t)(h4 >> 4);
|
||||
s[27] = (uint8_t)(h4 >> 12);
|
||||
s[28] = (uint8_t)(h4 >> 20);
|
||||
s[29] = (uint8_t)(h4 >> 28);
|
||||
s[30] = (uint8_t)(h4 >> 36);
|
||||
s[31] = (uint8_t)(h4 >> 44);
|
||||
}
|
||||
|
||||
# ifdef X25519_ASM
|
||||
@ -888,38 +887,38 @@ static void fe_tobytes(uint8_t *s, const fe h) {
|
||||
* evidently 2^255 h10-2^255 q = 0.
|
||||
* Goal: Output h0+...+2^230 h9. */
|
||||
|
||||
s[0] = h0 >> 0;
|
||||
s[1] = h0 >> 8;
|
||||
s[2] = h0 >> 16;
|
||||
s[3] = (h0 >> 24) | ((uint32_t)(h1) << 2);
|
||||
s[4] = h1 >> 6;
|
||||
s[5] = h1 >> 14;
|
||||
s[6] = (h1 >> 22) | ((uint32_t)(h2) << 3);
|
||||
s[7] = h2 >> 5;
|
||||
s[8] = h2 >> 13;
|
||||
s[9] = (h2 >> 21) | ((uint32_t)(h3) << 5);
|
||||
s[10] = h3 >> 3;
|
||||
s[11] = h3 >> 11;
|
||||
s[12] = (h3 >> 19) | ((uint32_t)(h4) << 6);
|
||||
s[13] = h4 >> 2;
|
||||
s[14] = h4 >> 10;
|
||||
s[15] = h4 >> 18;
|
||||
s[16] = h5 >> 0;
|
||||
s[17] = h5 >> 8;
|
||||
s[18] = h5 >> 16;
|
||||
s[19] = (h5 >> 24) | ((uint32_t)(h6) << 1);
|
||||
s[20] = h6 >> 7;
|
||||
s[21] = h6 >> 15;
|
||||
s[22] = (h6 >> 23) | ((uint32_t)(h7) << 3);
|
||||
s[23] = h7 >> 5;
|
||||
s[24] = h7 >> 13;
|
||||
s[25] = (h7 >> 21) | ((uint32_t)(h8) << 4);
|
||||
s[26] = h8 >> 4;
|
||||
s[27] = h8 >> 12;
|
||||
s[28] = (h8 >> 20) | ((uint32_t)(h9) << 6);
|
||||
s[29] = h9 >> 2;
|
||||
s[30] = h9 >> 10;
|
||||
s[31] = h9 >> 18;
|
||||
s[0] = (uint8_t)(h0 >> 0);
|
||||
s[1] = (uint8_t)(h0 >> 8);
|
||||
s[2] = (uint8_t)(h0 >> 16);
|
||||
s[3] = (uint8_t)((h0 >> 24) | ((uint32_t)(h1) << 2));
|
||||
s[4] = (uint8_t)(h1 >> 6);
|
||||
s[5] = (uint8_t)(h1 >> 14);
|
||||
s[6] = (uint8_t)((h1 >> 22) | ((uint32_t)(h2) << 3));
|
||||
s[7] = (uint8_t)(h2 >> 5);
|
||||
s[8] = (uint8_t)(h2 >> 13);
|
||||
s[9] = (uint8_t)((h2 >> 21) | ((uint32_t)(h3) << 5));
|
||||
s[10] = (uint8_t)(h3 >> 3);
|
||||
s[11] = (uint8_t)(h3 >> 11);
|
||||
s[12] = (uint8_t)((h3 >> 19) | ((uint32_t)(h4) << 6));
|
||||
s[13] = (uint8_t)(h4 >> 2);
|
||||
s[14] = (uint8_t)(h4 >> 10);
|
||||
s[15] = (uint8_t)(h4 >> 18);
|
||||
s[16] = (uint8_t)(h5 >> 0);
|
||||
s[17] = (uint8_t)(h5 >> 8);
|
||||
s[18] = (uint8_t)(h5 >> 16);
|
||||
s[19] = (uint8_t)((h5 >> 24) | ((uint32_t)(h6) << 1));
|
||||
s[20] = (uint8_t)(h6 >> 7);
|
||||
s[21] = (uint8_t)(h6 >> 15);
|
||||
s[22] = (uint8_t)((h6 >> 23) | ((uint32_t)(h7) << 3));
|
||||
s[23] = (uint8_t)(h7 >> 5);
|
||||
s[24] = (uint8_t)(h7 >> 13);
|
||||
s[25] = (uint8_t)((h7 >> 21) | ((uint32_t)(h8) << 4));
|
||||
s[26] = (uint8_t)(h8 >> 4);
|
||||
s[27] = (uint8_t)(h8 >> 12);
|
||||
s[28] = (uint8_t)((h8 >> 20) | ((uint32_t)(h9) << 6));
|
||||
s[29] = (uint8_t)(h9 >> 2);
|
||||
s[30] = (uint8_t)(h9 >> 10);
|
||||
s[31] = (uint8_t)(h9 >> 18);
|
||||
}
|
||||
|
||||
/* h = f */
|
||||
|
@ -95,12 +95,11 @@ poly1305_blocks(void *ctx, const unsigned char *inp, size_t len, u32 padbit);
|
||||
(a ^ ((a ^ b) | ((a - b) ^ b))) >> (sizeof(a) * 8 - 1) \
|
||||
)
|
||||
|
||||
# if !defined(PEDANTIC) && \
|
||||
(defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16) && \
|
||||
# if (defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16) && \
|
||||
(defined(__SIZEOF_LONG__) && __SIZEOF_LONG__==8)
|
||||
|
||||
typedef unsigned long u64;
|
||||
typedef unsigned __int128 u128;
|
||||
typedef __uint128_t u128;
|
||||
|
||||
typedef struct {
|
||||
u64 h[3];
|
||||
|
Loading…
Reference in New Issue
Block a user