- The extract tool now is sure to extract the function implementation for

the specified name instead of extracting the prototype if both exist.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4045 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-10-06 21:30:04 +00:00
parent f6ffcb6b71
commit 7d3f8671c1
2 changed files with 14 additions and 2 deletions

View File

@ -38,7 +38,13 @@ struct FunctionExtractorPass : public Pass {
// functions that are not the named function.
for (Module::iterator I = M.begin(), E = M.end(); I != E;)
// Check to see if this is the named function!
if (!Named && I->getName() == ExtractFunc) {
if (I->getName() == ExtractFunc && !I->isExternal()) {
if (Named) { // Two functions, same name?
std::cerr << "extract ERROR: Two functions named: '" << ExtractFunc
<< "' found!\n";
exit(1);
}
// Yes, it is. Keep track of it...
Named = I;

View File

@ -38,7 +38,13 @@ struct FunctionExtractorPass : public Pass {
// functions that are not the named function.
for (Module::iterator I = M.begin(), E = M.end(); I != E;)
// Check to see if this is the named function!
if (!Named && I->getName() == ExtractFunc) {
if (I->getName() == ExtractFunc && !I->isExternal()) {
if (Named) { // Two functions, same name?
std::cerr << "extract ERROR: Two functions named: '" << ExtractFunc
<< "' found!\n";
exit(1);
}
// Yes, it is. Keep track of it...
Named = I;