Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 Index: common/unicode/unistr.h | 1 Index: common/unicode/unistr.h |
| 2 =================================================================== | 2 =================================================================== |
| 3 --- common/unicode/unistr.h (revision 75773) | 3 --- common/unicode/unistr.h (revision 75773) |
| 4 +++ common/unicode/unistr.h (working copy) | 4 +++ common/unicode/unistr.h (working copy) |
| 5 @@ -4089,7 +4089,7 @@ | 5 @@ -4089,7 +4089,7 @@ |
| 6 #if defined(__GNUC__) | 6 #if defined(__GNUC__) |
| 7 // Ticket #7039: Clip length to the maximum valid length to the end of addres sable memory given the starting address | 7 // Ticket #7039: Clip length to the maximum valid length to the end of addres sable memory given the starting address |
| 8 // This is only an issue when using GCC and certain optimizations are turned on. | 8 // This is only an issue when using GCC and certain optimizations are turned on. |
| 9 - return extract(start, _length, dst, dst!=0 ? ((dst >= (char*)((size_t)-1) - U INT32_MAX) ? (((char*)UINT32_MAX) - dst) : UINT32_MAX) : 0, codepage); | 9 - return extract(start, _length, dst, dst!=0 ? ((dst >= (char*)((size_t)-1) - U INT32_MAX) ? (((char*)UINT32_MAX) - dst) : UINT32_MAX) : 0, codepage); |
| 10 + return extract(start, _length, dst, dst!=0 ? ((dst >= (char*)((size_t)-1) - U INT32_MAX) ? static_cast<unsigned int>((((char*)UINT32_MAX) - dst)) : UINT32_MAX ) : 0, codepage); | 10 + return extract(start, _length, dst, dst!=0 ? ((dst >= (char*)((size_t)-1) - U INT32_MAX) ? static_cast<unsigned int>((((char*)UINT32_MAX) - dst)) : UINT32_MAX ) : 0, codepage); |
| 11 #else | 11 #else |
| 12 return extract(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage); | 12 return extract(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage); |
| 13 #endif | 13 #endif |
| 14 Index: source/i18n/colldata.cpp | |
| 15 =================================================================== | |
| 16 --- source/i18n/colldata.cpp (revision 122103) | |
| 17 +++ source/i18n/colldata.cpp (working copy) | |
| 18 @@ -236,9 +236,14 @@ | |
| 19 int32_t newMax = listMax + STRING_LIST_BUFFER_SIZE; | |
| 20 | |
| 21 UnicodeString *newStrings = new UnicodeString[newMax]; | |
| 22 + if (newStrings == NULL) { | |
| 23 + status = U_MEMORY_ALLOCATION_ERROR; | |
| 24 + return; | |
| 25 + } | |
| 26 + for (int32_t i=0; i<listSize; ++i) { | |
| 27 + newStrings[i] = strings[i]; | |
| 28 + } | |
| 29 | |
| 30 - uprv_memcpy(newStrings, strings, listSize * sizeof(UnicodeString)); | |
| 31 - | |
| 32 #ifdef INSTRUMENT_STRING_LIST | |
| 33 int32_t _h = listSize / STRING_LIST_BUFFER_SIZE; | |
| 34 | |
| 35 Index: source/i18n/decNumber.c | |
| 36 =================================================================== | |
| 37 --- source/i18n/decNumber.c (revision 122103) | |
| 38 +++ source/i18n/decNumber.c (working copy) | |
| 39 @@ -1502,7 +1502,14 @@ | |
| 40 } | |
| 41 uprv_decNumberZero(w); /* set up 10... */ | |
| 42 #if DECDPUN==1 | |
| 43 + #ifdef __clang__ | |
| 44 + #pragma clang diagnostic push | |
| 45 + #pragma clang diagnostic ignored "-Warray-bounds" | |
| 46 + #endif | |
| 47 w->lsu[1]=1; w->lsu[0]=0; /* .. */ | |
| 48 + #ifdef __clang__ | |
| 49 + #pragma clang diagnostic pop | |
| 50 + #endif | |
| 51 #else | |
| 52 w->lsu[0]=10; /* .. */ | |
| 53 #endif | |
| 54 @@ -2934,6 +2941,10 @@ | |
| 55 /* Set t=0.259, a=0.819 */ | |
| 56 t->exponent=-3; | |
| 57 a->exponent=-3; | |
| 58 + #ifdef __clang__ | |
| 59 + #pragma clang diagnostic push | |
| 60 + #pragma clang diagnostic ignored "-Warray-bounds" | |
| 61 + #endif | |
| 62 #if DECDPUN>=3 | |
| 63 t->lsu[0]=259; | |
| 64 a->lsu[0]=819; | |
| 65 @@ -2944,6 +2955,9 @@ | |
| 66 t->lsu[0]=9; t->lsu[1]=5; t->lsu[2]=2; | |
| 67 a->lsu[0]=9; a->lsu[1]=1; a->lsu[2]=8; | |
| 68 #endif | |
| 69 + #ifdef __clang__ | |
|
Nico
2012/02/17 01:10:51
Looks like the patch file still has the old change
| |
| 70 + #pragma clang diagnostic pop | |
| 71 + #endif | |
| 72 } | |
| 73 else { /* odd exponent */ | |
| 74 /* Set t=0.0819, a=2.59 */ | |
| 75 @@ -2951,6 +2965,10 @@ | |
| 76 exp++; /* e=e+1 */ | |
| 77 t->exponent=-4; | |
| 78 a->exponent=-2; | |
| 79 + #ifdef __clang__ | |
| 80 + #pragma clang diagnostic push | |
| 81 + #pragma clang diagnostic ignored "-Warray-bounds" | |
| 82 + #endif | |
| 83 #if DECDPUN>=3 | |
| 84 t->lsu[0]=819; | |
| 85 a->lsu[0]=259; | |
| 86 @@ -2961,6 +2979,9 @@ | |
| 87 t->lsu[0]=9; t->lsu[1]=1; t->lsu[2]=8; | |
| 88 a->lsu[0]=9; a->lsu[1]=5; a->lsu[2]=2; | |
| 89 #endif | |
| 90 + #ifdef __clang__ | |
| 91 + #pragma clang diagnostic pop | |
| 92 + #endif | |
| 93 } | |
| 94 | |
| 95 decMultiplyOp(a, a, f, &workset, &ignore); /* a=a*f */ | |
| 96 @@ -5637,7 +5658,14 @@ | |
| 97 /* lookaside fastpath code for ln(2) and ln(10) at common lengths */ | |
| 98 if (rhs->exponent==0 && set->digits<=40) { | |
| 99 #if DECDPUN==1 | |
| 100 + #ifdef __clang__ | |
| 101 + #pragma clang diagnostic push | |
| 102 + #pragma clang diagnostic ignored "-Warray-bounds" | |
| 103 + #endif | |
| 104 if (rhs->lsu[0]==0 && rhs->lsu[1]==1 && rhs->digits==2) { /* ln(10) */ | |
| 105 + #ifdef __clang__ | |
| 106 + #pragma clang diagnostic pop | |
| 107 + #endif | |
| 108 #else | |
| 109 if (rhs->lsu[0]==10 && rhs->digits==2) { /* ln(10) */ | |
| 110 #endif | |
| OLD | NEW |