From: miod Date: Wed, 23 Apr 2014 19:14:59 +0000 (+0000) Subject: I'm glad to know that Ultrix CC has a bug optimizing switch() statements X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=6dde973b8a6222f3ee8e054feee5633224eee7e0;p=openbsd I'm glad to know that Ultrix CC has a bug optimizing switch() statements lacking an explicit `case 0:' construct. But Ultrix has been dead for more than 15 years, really. Don't give it any reason to move out of its coffin. --- diff --git a/lib/libcrypto/bn/bn_lib.c b/lib/libcrypto/bn/bn_lib.c index b491c785d40..c8de547ba55 100644 --- a/lib/libcrypto/bn/bn_lib.c +++ b/lib/libcrypto/bn/bn_lib.c @@ -345,10 +345,6 @@ static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words) case 3: A[2]=B[2]; case 2: A[1]=B[1]; case 1: A[0]=B[0]; - case 0: /* workaround for ultrix cc: without 'case 0', the optimizer does - * the switch table by doing a=top&3; a--; goto jump_table[a]; - * which fails for top== 0 */ - ; } } @@ -500,7 +496,6 @@ BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b) case 3: A[2]=B[2]; case 2: A[1]=B[1]; case 1: A[0]=B[0]; - case 0: ; /* ultrix cc workaround, see comments in bn_expand_internal */ } #else memcpy(a->d,b->d,sizeof(b->d[0])*b->top); diff --git a/lib/libcrypto/rc4/rc4_enc.c b/lib/libcrypto/rc4/rc4_enc.c index d8fc939dac7..ec9d9e7b64e 100644 --- a/lib/libcrypto/rc4/rc4_enc.c +++ b/lib/libcrypto/rc4/rc4_enc.c @@ -189,11 +189,6 @@ void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, case 3: otp |= RC4_STEP<d,b->d,sizeof(b->d[0])*b->top); diff --git a/lib/libssl/src/crypto/rc4/rc4_enc.c b/lib/libssl/src/crypto/rc4/rc4_enc.c index d8fc939dac7..ec9d9e7b64e 100644 --- a/lib/libssl/src/crypto/rc4/rc4_enc.c +++ b/lib/libssl/src/crypto/rc4/rc4_enc.c @@ -189,11 +189,6 @@ void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, case 3: otp |= RC4_STEP<