[PATCH] Fix build with STLPort and gcc
Logan Chien
tzuhsiang.chien at gmail.com
Thu Mar 21 08:52:01 PDT 2013
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.
Sincerely,
Logan
On Thu, Mar 21, 2013 at 10:44 PM, Duncan Sands <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<http://llvm-reviews.chandlerc.com/D561>
>>
>> CHANGE SINCE LAST DIFF
>> http://llvm-reviews.chandlerc.**com/D561?vs=1344&id=1345#toc<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<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<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/20130321/35bc8885/attachment.html>
More information about the llvm-commits
mailing list