Chromium Code Reviews| Index: source/i18n/decNumber.c |
| =================================================================== |
| --- source/i18n/decNumber.c (revision 122103) |
| +++ source/i18n/decNumber.c (working copy) |
| @@ -1502,7 +1502,14 @@ |
| } |
| uprv_decNumberZero(w); /* set up 10... */ |
| #if DECDPUN==1 |
| + #ifdef __clang__ |
|
Nico
2012/02/17 00:29:37
You don't need the #ifdef, compilers are supposed
|
| + #pragma clang diagnostic push |
| + #pragma clang diagnostic ignored "-Warray-bounds" |
| + #endif |
| w->lsu[1]=1; w->lsu[0]=0; /* .. */ |
| + #ifdef __clang__ |
| + #pragma clang diagnostic pop |
| + #endif |
| #else |
| w->lsu[0]=10; /* .. */ |
| #endif |
| @@ -2934,6 +2941,10 @@ |
| /* Set t=0.259, a=0.819 */ |
| t->exponent=-3; |
| a->exponent=-3; |
| + #ifdef __clang__ |
| + #pragma clang diagnostic push |
| + #pragma clang diagnostic ignored "-Warray-bounds" |
| + #endif |
| #if DECDPUN>=3 |
| t->lsu[0]=259; |
| a->lsu[0]=819; |
| @@ -2944,6 +2955,9 @@ |
| t->lsu[0]=9; t->lsu[1]=5; t->lsu[2]=2; |
| a->lsu[0]=9; a->lsu[1]=1; a->lsu[2]=8; |
| #endif |
| + #ifdef __clang__ |
| + #pragma clang diagnostic pop |
| + #endif |
| } |
| else { /* odd exponent */ |
| /* Set t=0.0819, a=2.59 */ |
| @@ -2951,6 +2965,10 @@ |
| exp++; /* e=e+1 */ |
| t->exponent=-4; |
| a->exponent=-2; |
| + #ifdef __clang__ |
| + #pragma clang diagnostic push |
| + #pragma clang diagnostic ignored "-Warray-bounds" |
| + #endif |
| #if DECDPUN>=3 |
| t->lsu[0]=819; |
| a->lsu[0]=259; |
| @@ -2961,6 +2979,9 @@ |
| t->lsu[0]=9; t->lsu[1]=1; t->lsu[2]=8; |
| a->lsu[0]=9; a->lsu[1]=5; a->lsu[2]=2; |
| #endif |
| + #ifdef __clang__ |
| + #pragma clang diagnostic pop |
| + #endif |
| } |
| decMultiplyOp(a, a, f, &workset, &ignore); /* a=a*f */ |
| @@ -5637,7 +5658,14 @@ |
| /* lookaside fastpath code for ln(2) and ln(10) at common lengths */ |
| if (rhs->exponent==0 && set->digits<=40) { |
| #if DECDPUN==1 |
| + #ifdef __clang__ |
| + #pragma clang diagnostic push |
| + #pragma clang diagnostic ignored "-Warray-bounds" |
| + #endif |
| if (rhs->lsu[0]==0 && rhs->lsu[1]==1 && rhs->digits==2) { /* ln(10) */ |
| + #ifdef __clang__ |
| + #pragma clang diagnostic pop |
| + #endif |
| #else |
| if (rhs->lsu[0]==10 && rhs->digits==2) { /* ln(10) */ |
| #endif |