#include "llvm/Analysis/FindUnsafePointerTypes.h"
#include "llvm/Assembly/CachedWriter.h"
-#include "llvm/Type.h"
+#include "llvm/DerivedTypes.h"
#include "llvm/Module.h"
#include "llvm/Support/InstIterator.h"
#include "Support/CommandLine.h"
-
-namespace llvm {
+using namespace llvm;
static RegisterAnalysis<FindUnsafePointerTypes>
X("unsafepointertypes", "Find Unsafe Pointer Types");
if (PrintFailures) {
CachedWriter CW(F->getParent(), std::cerr);
std::cerr << "FindUnsafePointerTypes: Type '";
- CW << ITy;
+ CW << *ITy;
std::cerr << "' marked unsafe in '" << F->getName() << "' by:\n";
CW << *I;
}
E = getUnsafeTypes().end(); I != E; ++I, ++Counter) {
o << " #" << Counter << ". ";
- CW << (Type*)*I << "\n";
+ CW << **I << "\n";
}
}
-} // End llvm namespace
CachedWriter CW(M, o);
for (std::set<const Type *>::const_iterator I = UsedTypes.begin(),
E = UsedTypes.end(); I != E; ++I)
- CW << " " << *I << "\n";
+ CW << " " << **I << "\n";
} else
for (std::set<const Type *>::const_iterator I = UsedTypes.begin(),
E = UsedTypes.end(); I != E; ++I)
- o << " " << *I << "\n";
+ o << " " << **I << "\n";
}
<< "Interval Contents:\n";
// Print out all of the basic blocks in the interval...
- std::copy(Nodes.begin(), Nodes.end(),
- std::ostream_iterator<BasicBlock*>(o, "\n"));
+ for (std::vector<BasicBlock*>::const_iterator I = Nodes.begin(),
+ E = Nodes.end(); I != E; ++I)
+ o << **I << "\n";
o << "Interval Predecessors:\n";
- std::copy(Predecessors.begin(), Predecessors.end(),
- std::ostream_iterator<BasicBlock*>(o, "\n"));
-
+ for (std::vector<BasicBlock*>::const_iterator I = Predecessors.begin(),
+ E = Predecessors.end(); I != E; ++I)
+ o << **I << "\n";
+
o << "Interval Successors:\n";
- std::copy(Successors.begin(), Successors.end(),
- std::ostream_iterator<BasicBlock*>(o, "\n"));
+ for (std::vector<BasicBlock*>::const_iterator I = Successors.begin(),
+ E = Successors.end(); I != E; ++I)
+ o << **I << "\n";
}