[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