Author: criswell Date: Wed Feb 13 16:22:22 2008 New Revision: 47092 URL: http://llvm.org/viewvc/llvm-project?rev=47092&view=rev Log: Fix compilation when SAFECODE is defined. Due to some strange errors when the C++ compiler tries to create a copy constructor for struct FuncInfo, I cannot make ValueMap in struct FuncInfo a DenseMap. I cannot change the DenseMap to a std::map either because the CloneFunctionInto() function expects a DenseMap. For now, I have just copied the data from the std::map into the DenseMap.
Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp?rev=47092&r1=47091&r2=47092&view=diff ============================================================================== --- poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp (original) +++ poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Wed Feb 13 16:22:22 2008 @@ -410,10 +410,11 @@ // Map the existing arguments of the old function to the corresponding // arguments of the new function, and copy over the names. -#ifdef SAFECODE - DenseMap<const Value*, Value*> &ValueMap = FI.ValueMap; -#else DenseMap<const Value*, Value*> ValueMap; +#ifdef SAFECODE + for (std::map<const Value*, Value*>::iterator I = FI.ValueMap.begin(), + E = FI.ValueMap.end(); I != E; ++I) + ValueMap.insert(std::make_pair(I->first, I->second)); #endif for (Function::arg_iterator I = F.arg_begin(); NI != New->arg_end(); ++I, ++NI) { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits