[PATCH] Fix build with STLPort and gcc

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


On 03/21/2013 08:52 AM, Logan Chien wrote:
> Hi,
>
> IIRC, the root cause of this problem is that stlport contains an 
> extension.  It is possible to fix this by disabling such extension with:
>
> #define _STLP_NO_CONTAINERS_EXTENSION 1
>
> in your stlport configuration, or pre-define them with CXXFLAGS.
>
That works! Thanks, I wouldn't have found that


> Sincerely,
> Logan
>
>
> On Thu, Mar 21, 2013 at 10:44 PM, Duncan Sands <baldrick at free.fr 
> <mailto:baldrick at free.fr>> wrote:
>
>     Hi Matt, does this continue to work if you use 0 rather than NULL?
>      That would
>     be more in keeping with LLVM style.
>
>     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 <mailto: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 <mailto:llvm-commits at cs.uiuc.edu>
>     http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130326/997f8419/attachment.html>


More information about the llvm-commits mailing list