Turn on -Wold-style-cast and fix the errors.

A couple of dodgy cases where we cast away const, but otherwise pretty boring.

Change-Id: Ibc39ebd525377792b5911464be842121c20f03b9
diff --git a/libc/bionic/libc_init_common.cpp b/libc/bionic/libc_init_common.cpp
index 94b7dd2..f82ec73 100644
--- a/libc/bionic/libc_init_common.cpp
+++ b/libc/bionic/libc_init_common.cpp
@@ -129,33 +129,34 @@
  * entry in the list has value -1, the last one has value 0.
  */
 void __libc_fini(void* array) {
-  void** fini_array = reinterpret_cast<void**>(array);
-  const size_t minus1 = ~(size_t)0; /* ensure proper sign extension */
+  typedef void (*Dtor)();
+  Dtor* fini_array = reinterpret_cast<Dtor*>(array);
+  const Dtor minus1 = reinterpret_cast<Dtor>(static_cast<uintptr_t>(-1));
 
-  /* Sanity check - first entry must be -1 */
-  if (array == NULL || (size_t)fini_array[0] != minus1) {
+  // Sanity check - first entry must be -1.
+  if (array == NULL || fini_array[0] != minus1) {
     return;
   }
 
-  /* skip over it */
+  // Skip over it.
   fini_array += 1;
 
-  /* Count the number of destructors. */
+  // Count the number of destructors.
   int count = 0;
   while (fini_array[count] != NULL) {
     ++count;
   }
 
-  /* Now call each destructor in reverse order. */
+  // Now call each destructor in reverse order.
   while (count > 0) {
-    void (*func)() = (void (*)()) fini_array[--count];
+    Dtor dtor = fini_array[--count];
 
-    /* Sanity check, any -1 in the list is ignored */
-    if ((size_t)func == minus1) {
+    // Sanity check, any -1 in the list is ignored.
+    if (dtor == minus1) {
       continue;
     }
 
-    func();
+    dtor();
   }
 
 #ifndef LIBC_STATIC