<div dir="ltr"><div><div>Hi,<br><br>IIRC, the root cause of this problem is that stlport contains an extension.  It is possible to fix this by disabling such extension with:<br><br>#define _STLP_NO_CONTAINERS_EXTENSION 1<br>
<br></div>in your stlport configuration, or pre-define them with CXXFLAGS.<br><br></div>Sincerely,<br>Logan<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 21, 2013 at 10:44 PM, Duncan Sands <span dir="ltr"><<a href="mailto:baldrick@free.fr" target="_blank">baldrick@free.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Matt, does this continue to work if you use 0 rather than NULL?  That would<br>
be more in keeping with LLVM style.<br>
<br>
Ciao, Duncan.<div><div class="h5"><br>
<br>
On 21/03/13 01:30, Matt Arsenault wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
   Nope, I was right the first time<br>
<br>
<a href="http://llvm-reviews.chandlerc.com/D561" target="_blank">http://llvm-reviews.chandlerc.<u></u>com/D561</a><br>
<br>
CHANGE SINCE LAST DIFF<br>
   <a href="http://llvm-reviews.chandlerc.com/D561?vs=1344&id=1345#toc" target="_blank">http://llvm-reviews.chandlerc.<u></u>com/D561?vs=1344&id=1345#toc</a><br>
<br>
Files:<br>
   lib/Analysis/<u></u>PathProfileVerifier.cpp<br>
   lib/Analysis/ProfileInfo.cpp<br>
<br>
Index: lib/Analysis/<u></u>PathProfileVerifier.cpp<br>
==============================<u></u>==============================<u></u>=======<br>
--- lib/Analysis/<u></u>PathProfileVerifier.cpp<br>
+++ lib/Analysis/<u></u>PathProfileVerifier.cpp<br>
@@ -84,7 +84,7 @@<br>
    for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F) {<br>
      if (F->isDeclaration()) continue;<br>
<br>
-    arrayMap[0][F->begin()][0] = i++;<br>
+    arrayMap[(BasicBlock*)NULL][F-<u></u>>begin()][0] = i++;<br>
<br>
      for (Function::iterator BB = F->begin(), E = F->end(); BB != E; ++BB) {<br>
        TerminatorInst *TI = BB->getTerminator();<br>
@@ -125,7 +125,7 @@<br>
              << currentPath->getCount() << "\n");<br>
        // setup the entry edge (normally path profiling doesn't care about this)<br>
        if (currentPath-><u></u>getFirstBlockInPath() == &F->getEntryBlock())<br>
-        edgeArray[arrayMap[0][<u></u>currentPath-><u></u>getFirstBlockInPath()][0]]<br>
+        edgeArray[arrayMap[(<u></u>BasicBlock*)NULL][currentPath-<u></u>>getFirstBlockInPath()][0]]<br>
            += currentPath->getCount();<br>
<br>
        for( ProfilePathEdgeIterator nextEdge = pev->begin(),<br>
Index: lib/Analysis/ProfileInfo.cpp<br>
==============================<u></u>==============================<u></u>=======<br>
--- lib/Analysis/ProfileInfo.cpp<br>
+++ lib/Analysis/ProfileInfo.cpp<br>
@@ -166,7 +166,7 @@<br>
  template<><br>
  void ProfileInfoT<Function,<u></u>BasicBlock>::<br>
          setExecutionCount(const BasicBlock *BB, double w) {<br>
-  DEBUG(dbgs() << "Creating Block " << BB->getName()<br>
+  DEBUG(dbgs() << "Creating Block " << BB->getName()<br>
                 << " (weight: " << format("%.20g",w) << ")\n");<br>
    BlockInformation[BB-><u></u>getParent()][BB] = w;<br>
  }<br>
@@ -249,7 +249,7 @@<br>
<br>
      succ_const_iterator Succ = succ_begin(BB), End = succ_end(BB);<br>
      if (Succ == End) {<br>
-      P[0] = BB;<br>
+      P[(const BasicBlock*)NULL] = BB;<br>
        if (Mode & GetPathToExit) {<br>
          hasFoundPath = true;<br>
          BB = 0;<br>
@@ -752,10 +752,10 @@<br>
             Succ != End; ++Succ) {<br>
          Path P;<br>
          GetPath(*Succ, 0, P, GetPathToExit);<br>
-        if (Dest && Dest != P[0]) {<br>
+        if (Dest && Dest != P[(const BasicBlock*)NULL]) {<br>
            AllEdgesHaveSameReturn = false;<br>
          }<br>
-        Dest = P[0];<br>
+        Dest = P[(const BasicBlock*)NULL];<br>
        }<br>
        if (AllEdgesHaveSameReturn) {<br>
          if(EstimateMissingEdges(BB)) {<br>
@@ -927,7 +927,7 @@<br>
<br>
        Path P;<br>
        const BasicBlock *Dest = GetPath(BB, 0, P, GetPathToExit | GetPathWithNewEdges);<br>
-      Dest = P[0];<br>
+      Dest = P[(const BasicBlock*)NULL];<br>
        if (!Dest) continue;<br>
<br>
        if (getEdgeWeight(getEdge(Dest,0)<u></u>) == MissingValue) {<br>
<br>
<br>
<br></div></div>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
<br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>