[PATCH] Fix build with STLPort and gcc

Matt Arsenault Matthew.Arsenault at amd.com
Tue Mar 26 14:13:14 PDT 2013


On 03/21/2013 07:44 AM, Duncan Sands wrote:
> Hi Matt, does this continue to work if you use 0 rather than NULL?  
> That would
> be more in keeping with LLVM style.
>

Yes, it does work.

Is this really true? I see a lot of both around, and it isn't mentioned 
at all in the standards document (although if it's added, I would hope 
it would be to define nullptr somewhere for non-C++11 build)


> Ciao, Duncan.
>
> On 21/03/13 01:30, Matt Arsenault wrote:
>>    Nope, I was right the first time
>>
>> http://llvm-reviews.chandlerc.com/D561
>>
>> CHANGE SINCE LAST DIFF
>> http://llvm-reviews.chandlerc.com/D561?vs=1344&id=1345#toc
>>
>> Files:
>>    lib/Analysis/PathProfileVerifier.cpp
>>    lib/Analysis/ProfileInfo.cpp
>>
>> Index: lib/Analysis/PathProfileVerifier.cpp
>> ===================================================================
>> --- lib/Analysis/PathProfileVerifier.cpp
>> +++ lib/Analysis/PathProfileVerifier.cpp
>> @@ -84,7 +84,7 @@
>>     for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F) {
>>       if (F->isDeclaration()) continue;
>>
>> -    arrayMap[0][F->begin()][0] = i++;
>> +    arrayMap[(BasicBlock*)NULL][F->begin()][0] = i++;
>>
>>       for (Function::iterator BB = F->begin(), E = F->end(); BB != E; 
>> ++BB) {
>>         TerminatorInst *TI = BB->getTerminator();
>> @@ -125,7 +125,7 @@
>>               << currentPath->getCount() << "\n");
>>         // setup the entry edge (normally path profiling doesn't care 
>> about this)
>>         if (currentPath->getFirstBlockInPath() == &F->getEntryBlock())
>> - edgeArray[arrayMap[0][currentPath->getFirstBlockInPath()][0]]
>> + 
>> edgeArray[arrayMap[(BasicBlock*)NULL][currentPath->getFirstBlockInPath()][0]]
>>             += currentPath->getCount();
>>
>>         for( ProfilePathEdgeIterator nextEdge = pev->begin(),
>> Index: lib/Analysis/ProfileInfo.cpp
>> ===================================================================
>> --- lib/Analysis/ProfileInfo.cpp
>> +++ lib/Analysis/ProfileInfo.cpp
>> @@ -166,7 +166,7 @@
>>   template<>
>>   void ProfileInfoT<Function,BasicBlock>::
>>           setExecutionCount(const BasicBlock *BB, double w) {
>> -  DEBUG(dbgs() << "Creating Block " << BB->getName()
>> +  DEBUG(dbgs() << "Creating Block " << BB->getName()
>>                  << " (weight: " << format("%.20g",w) << ")\n");
>>     BlockInformation[BB->getParent()][BB] = w;
>>   }
>> @@ -249,7 +249,7 @@
>>
>>       succ_const_iterator Succ = succ_begin(BB), End = succ_end(BB);
>>       if (Succ == End) {
>> -      P[0] = BB;
>> +      P[(const BasicBlock*)NULL] = BB;
>>         if (Mode & GetPathToExit) {
>>           hasFoundPath = true;
>>           BB = 0;
>> @@ -752,10 +752,10 @@
>>              Succ != End; ++Succ) {
>>           Path P;
>>           GetPath(*Succ, 0, P, GetPathToExit);
>> -        if (Dest && Dest != P[0]) {
>> +        if (Dest && Dest != P[(const BasicBlock*)NULL]) {
>>             AllEdgesHaveSameReturn = false;
>>           }
>> -        Dest = P[0];
>> +        Dest = P[(const BasicBlock*)NULL];
>>         }
>>         if (AllEdgesHaveSameReturn) {
>>           if(EstimateMissingEdges(BB)) {
>> @@ -927,7 +927,7 @@
>>
>>         Path P;
>>         const BasicBlock *Dest = GetPath(BB, 0, P, GetPathToExit | 
>> GetPathWithNewEdges);
>> -      Dest = P[0];
>> +      Dest = P[(const BasicBlock*)NULL];
>>         if (!Dest) continue;
>>
>>         if (getEdgeWeight(getEdge(Dest,0)) == MissingValue) {
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>





More information about the llvm-commits mailing list