[clang-tools-extra] r178214 - modularize - Fixed poor array usage.
Thompson, John
John_Thompson at playstation.sony.com
Thu Mar 28 11:41:41 PDT 2013
Sorry, I could have sworn I ran the tests first on both Windows and Linux as usual, but apparently I didn't. I fixed it and rechecked in.
-----Original Message-----
From: cfe-commits-bounces at cs.uiuc.edu [mailto:cfe-commits-bounces at cs.uiuc.edu] On Behalf Of Michael Gottesman
Sent: Wednesday, March 27, 2013 11:08 PM
To: John Thompson
Cc: cfe-commits at cs.uiuc.edu
Subject: Re: [clang-tools-extra] r178214 - modularize - Fixed poor array usage.
This commit is causing buildbot failures:
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/3194
For some reason your commit did not show up in the buildbot view at all = /. I think that is because perhaps the master scheduler is not tracking clang-tools-extra. Reverted in r178223.
Michael
On Mar 27, 2013, at 7:44 PM, John Thompson <John.Thompson.JTSoftware at gmail.com> wrote:
> Author: jtsoftware
> Date: Wed Mar 27 21:44:31 2013
> New Revision: 178214
>
> URL: http://llvm.org/viewvc/llvm-project?rev=178214&view=rev
> Log:
> modularize - Fixed poor array usage.
>
> Modified:
> clang-tools-extra/trunk/modularize/Modularize.cpp
>
> Modified: clang-tools-extra/trunk/modularize/Modularize.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize
> /Modularize.cpp?rev=178214&r1=178213&r2=178214&view=diff
> ======================================================================
> ========
> --- clang-tools-extra/trunk/modularize/Modularize.cpp (original)
> +++ clang-tools-extra/trunk/modularize/Modularize.cpp Wed Mar 27
> +++ 21:44:31 2013
> @@ -465,13 +465,8 @@ int main(int argc, const char **argv) {
>
> // 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(); @@ -482,28 +477,27 @@ int main(int argc, const char **argv) {
> // 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) {
> - kind = E->second[I].Kind;
> - LocationArray *locationArray = EntryBins[kind];
> + LocationArray *locationArray = &EntryBins[E->second[I].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";
> }
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
_______________________________________________
cfe-commits mailing list
cfe-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list