diff options
author | miod <> | 2014-04-23 19:14:59 +0000 |
---|---|---|
committer | miod <> | 2014-04-23 19:14:59 +0000 |
commit | 822b26b553053ed1495769e7ee5346ac4b115459 (patch) | |
tree | 94f77f9c871657aea48524ce6d70046d642b0b20 /src/lib/libcrypto/bn | |
parent | 7d3606d4668ae166b87f774b3ca9be0c5202cdb9 (diff) | |
download | openbsd-822b26b553053ed1495769e7ee5346ac4b115459.tar.gz openbsd-822b26b553053ed1495769e7ee5346ac4b115459.tar.bz2 openbsd-822b26b553053ed1495769e7ee5346ac4b115459.zip |
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.
Diffstat (limited to 'src/lib/libcrypto/bn')
-rw-r--r-- | src/lib/libcrypto/bn/bn_lib.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/lib/libcrypto/bn/bn_lib.c b/src/lib/libcrypto/bn/bn_lib.c index b491c785d4..c8de547ba5 100644 --- a/src/lib/libcrypto/bn/bn_lib.c +++ b/src/lib/libcrypto/bn/bn_lib.c | |||
@@ -345,10 +345,6 @@ static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words) | |||
345 | case 3: A[2]=B[2]; | 345 | case 3: A[2]=B[2]; |
346 | case 2: A[1]=B[1]; | 346 | case 2: A[1]=B[1]; |
347 | case 1: A[0]=B[0]; | 347 | case 1: A[0]=B[0]; |
348 | case 0: /* workaround for ultrix cc: without 'case 0', the optimizer does | ||
349 | * the switch table by doing a=top&3; a--; goto jump_table[a]; | ||
350 | * which fails for top== 0 */ | ||
351 | ; | ||
352 | } | 348 | } |
353 | } | 349 | } |
354 | 350 | ||
@@ -500,7 +496,6 @@ BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b) | |||
500 | case 3: A[2]=B[2]; | 496 | case 3: A[2]=B[2]; |
501 | case 2: A[1]=B[1]; | 497 | case 2: A[1]=B[1]; |
502 | case 1: A[0]=B[0]; | 498 | case 1: A[0]=B[0]; |
503 | case 0: ; /* ultrix cc workaround, see comments in bn_expand_internal */ | ||
504 | } | 499 | } |
505 | #else | 500 | #else |
506 | memcpy(a->d,b->d,sizeof(b->d[0])*b->top); | 501 | memcpy(a->d,b->d,sizeof(b->d[0])*b->top); |