Revert "modularize - Fixed poor array usage."

This has broken buildbots for a few hours.

llvm-svn: 178223
diff --git a/clang-tools-extra/modularize/Modularize.cpp b/clang-tools-extra/modularize/Modularize.cpp
index 9de78bf..1a9f309 100644
--- a/clang-tools-extra/modularize/Modularize.cpp
+++ b/clang-tools-extra/modularize/Modularize.cpp
@@ -463,8 +463,13 @@
 
   // Create a place to save duplicate entity locations, separate bins per kind.
   typedef SmallVector<Location, 8> LocationArray;
-  typedef SmallVector<LocationArray, Entry::NumberOfKinds> EntryBinArray;
+  typedef SmallVector<LocationArray *, Entry::NumberOfKinds> EntryBinArray;
   EntryBinArray EntryBins;
+  Entry::KindType kind;
+  int kindIndex;
+  for (kindIndex = 0; kindIndex < Entry::NumberOfKinds; ++kindIndex) {
+    EntryBins.push_back(new LocationArray);
+  }
 
   // Check for the same entity being defined in multiple places.
   for (EntityMap::iterator E = Entities.begin(), EEnd = Entities.end();
@@ -475,27 +480,28 @@
     // Clear entity locations.
     for (EntryBinArray::iterator CI = EntryBins.begin(), CE = EntryBins.end();
          CI != CE; ++CI) {
-      CI->clear();
+      (**CI).clear();
     }
     // Walk the entities of a single name, collecting the locations,
     // separated into separate bins.
     for (unsigned I = 0, N = E->second.size(); I != N; ++I) {
-      LocationArray *locationArray = &EntryBins[E->second[I].Kind];
+      kind = E->second[I].Kind;
+      LocationArray *locationArray = EntryBins[kind];
       locationArray->push_back(E->second[I].Loc);
     }
     // Report any duplicate entity definition errors.
     int kindIndex = 0;
     for (EntryBinArray::iterator DI = EntryBins.begin(), DE = EntryBins.end();
          DI != DE; ++DI, ++kindIndex) {
-      int eCount = DI->size();
+      int eCount = (**DI).size();
       // If only 1 occurance, skip;
       if (eCount <= 1)
         continue;
-      LocationArray::iterator FI = DI->begin();
+      LocationArray::iterator FI = (**DI).begin();
       StringRef kindName = Entry::getKindName((Entry::KindType) kindIndex);
       errs() << "error: " << kindName << " '" << E->first()
              << "' defined at multiple locations:\n";
-      for (LocationArray::iterator FE = DI->end(); FI != FE; ++FI) {
+      for (LocationArray::iterator FE = (**DI).end(); FI != FE; ++FI) {
         errs() << "    " << FI->File->getName() << ":" << FI->Line << ":"
                << FI->Column << "\n";
       }