Curve25519: fix const-initialization
authorEmilia Kasper <emilia@openssl.org>
Fri, 4 Mar 2016 17:05:35 +0000 (18:05 +0100)
committerEmilia Kasper <emilia@openssl.org>
Fri, 4 Mar 2016 17:13:05 +0000 (18:13 +0100)
Clang is permissive of this, but gcc fails.

Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/ec/curve25519.c

index 7474b3c..3dbf4ac 100644 (file)
  * context.  */
 typedef int32_t fe[10];
 
-static const int64_t kBottom25Bits = 0x1ffffff;
-static const int64_t kBottom26Bits = 0x3ffffff;
-static const int64_t kTop39Bits = ~kBottom25Bits;
-static const int64_t kTop38Bits = ~kBottom26Bits;
+static const int64_t kBottom25Bits = 0x1ffffffLL;
+static const int64_t kBottom26Bits = 0x3ffffffLL;
+static const int64_t kTop39Bits = 0xfffffffffe000000LL;
+static const int64_t kTop38Bits = 0xfffffffffc000000LL;
 
 static uint64_t load_3(const uint8_t *in) {
   uint64_t result;