Index: common/unicode/unistr.h
===================================================================
--- common/unicode/unistr.h	(revision 75773)
+++ common/unicode/unistr.h	(working copy)
@@ -4089,7 +4089,7 @@
 #if defined(__GNUC__)
   // Ticket #7039: Clip length to the maximum valid length to the end of addressable memory given the starting address
   // This is only an issue when using GCC and certain optimizations are turned on.
-  return extract(start, _length, dst, dst!=0 ? ((dst >= (char*)((size_t)-1) - UINT32_MAX) ? (((char*)UINT32_MAX) - dst) : UINT32_MAX) : 0, codepage);
+  return extract(start, _length, dst, dst!=0 ? ((dst >= (char*)((size_t)-1) - UINT32_MAX) ? static_cast<unsigned int>((((char*)UINT32_MAX) - dst)) : UINT32_MAX) : 0, codepage);
 #else
   return extract(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage);
 #endif
Index: source/i18n/colldata.cpp
===================================================================
--- source/i18n/colldata.cpp	(revision 122103)
+++ source/i18n/colldata.cpp	(working copy)
@@ -236,9 +236,14 @@
         int32_t newMax = listMax + STRING_LIST_BUFFER_SIZE;
 
         UnicodeString *newStrings = new UnicodeString[newMax];
+        if (newStrings == NULL) {
+            status = U_MEMORY_ALLOCATION_ERROR;
+            return;
+        }
+        for (int32_t i=0; i<listSize; ++i) {
+            newStrings[i] = strings[i];
+        }
 
-        uprv_memcpy(newStrings, strings, listSize * sizeof(UnicodeString));
-
 #ifdef INSTRUMENT_STRING_LIST
         int32_t _h = listSize / STRING_LIST_BUFFER_SIZE;
 
Index: source/i18n/decNumber.c
===================================================================
--- source/i18n/decNumber.c	(revision 122360)
+++ source/i18n/decNumber.c	(working copy)
@@ -1392,6 +1392,8 @@
 /* fastpath in decLnOp.  The final division is done to the requested  */
 /* precision.                                                         */
 /* ------------------------------------------------------------------ */
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warray-bounds"
 U_CAPI decNumber * U_EXPORT2 uprv_decNumberLog10(decNumber *res, const decNumber *rhs,
                           decContext *set) {
   uInt status=0, ignore=0;         /* status accumulators  */
@@ -1527,6 +1529,7 @@
   #endif
   return res;
   } /* decNumberLog10  */
+#pragma clang diagnostic pop
 
 /* ------------------------------------------------------------------ */
 /* decNumberMax -- compare two Numbers and return the maximum         */
@@ -2800,6 +2803,8 @@
 /* result setexp(approx, e div 2)  % fix exponent                     */
 /* end sqrt                                                           */
 /* ------------------------------------------------------------------ */
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warray-bounds"
 U_CAPI decNumber * U_EXPORT2 uprv_decNumberSquareRoot(decNumber *res, const decNumber *rhs,
                                 decContext *set) {
   decContext workset, approxset;   /* work contexts  */
@@ -3129,6 +3134,7 @@
   #endif
   return res;
   } /* decNumberSquareRoot  */
+#pragma clang diagnostic pop
 
 /* ------------------------------------------------------------------ */
 /* decNumberSubtract -- subtract two Numbers                          */
@@ -5584,6 +5590,8 @@
 /* 5. The static buffers are larger than might be expected to allow   */
 /*    for calls from decNumberPower.                                  */
 /* ------------------------------------------------------------------ */
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warray-bounds"
 decNumber * decLnOp(decNumber *res, const decNumber *rhs,
                     decContext *set, uInt *status) {
   uInt ignore=0;                   /* working status accumulator  */
@@ -5805,6 +5813,7 @@
   /* [status is handled by caller]  */
   return res;
   } /* decLnOp  */
+#pragma clang diagnostic pop
 
 /* ------------------------------------------------------------------ */
 /* decQuantizeOp  -- force exponent to requested value                */