summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Hildenbrandt <hldnbrnd@uiuc.edu>2002-11-18 22:21:52 +0000
committerNick Hildenbrandt <hldnbrnd@uiuc.edu>2002-11-18 22:21:52 +0000
commita1a64f8f275efe17725119d59441df10bc30c711 (patch)
tree8ba4990e9874a1079224665e65027a381868d6f0
parent8f0d824dd7d3ad72ce2212556f306a69310dff3e (diff)
downloadllvm-a1a64f8f275efe17725119d59441df10bc30c711.tar.gz
llvm-a1a64f8f275efe17725119d59441df10bc30c711.tar.bz2
llvm-a1a64f8f275efe17725119d59441df10bc30c711.tar.xz
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4754 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/CBackend/CBackend.cpp12
-rw-r--r--lib/Target/CBackend/Writer.cpp12
2 files changed, 16 insertions, 8 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 1246621608..fcfda5d15a 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -156,8 +156,8 @@ static string makeNameProper(string x) {
string CWriter::getValueName(const Value *V) {
if (V->hasName()) { // Print out the label if it exists...
if (isa<GlobalValue>(V) && // Do not mangle globals...
- cast<GlobalValue>(V)->hasExternalLinkage() && // Unless it's internal or
- !MangledGlobals.count(V)) // Unless the name would collide if we don't
+ cast<GlobalValue>(V)->hasExternalLinkage())// && // Unless it's internal or
+ //!MangledGlobals.count(V)) // Unless the name would collide if we don't
return makeNameProper(V->getName());
return "l" + utostr(V->getType()->getUniqueID()) + "_" +
@@ -567,8 +567,12 @@ void CWriter::printModule(Module *M) {
Out << "\n/* Function Declarations */\n";
needsMalloc = true;
for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) {
- printFunctionSignature(I, true);
- Out << ";\n";
+ // If the function is external and the name collides don't print it.
+ // Sometimes the bytecode likes to have multiple "declerations" for external functions
+ if (I->hasInternalLinkage() || !MangledGlobals.count(I)){
+ printFunctionSignature(I, true);
+ Out << ";\n";
+ }
}
}
diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp
index 1246621608..fcfda5d15a 100644
--- a/lib/Target/CBackend/Writer.cpp
+++ b/lib/Target/CBackend/Writer.cpp
@@ -156,8 +156,8 @@ static string makeNameProper(string x) {
string CWriter::getValueName(const Value *V) {
if (V->hasName()) { // Print out the label if it exists...
if (isa<GlobalValue>(V) && // Do not mangle globals...
- cast<GlobalValue>(V)->hasExternalLinkage() && // Unless it's internal or
- !MangledGlobals.count(V)) // Unless the name would collide if we don't
+ cast<GlobalValue>(V)->hasExternalLinkage())// && // Unless it's internal or
+ //!MangledGlobals.count(V)) // Unless the name would collide if we don't
return makeNameProper(V->getName());
return "l" + utostr(V->getType()->getUniqueID()) + "_" +
@@ -567,8 +567,12 @@ void CWriter::printModule(Module *M) {
Out << "\n/* Function Declarations */\n";
needsMalloc = true;
for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) {
- printFunctionSignature(I, true);
- Out << ";\n";
+ // If the function is external and the name collides don't print it.
+ // Sometimes the bytecode likes to have multiple "declerations" for external functions
+ if (I->hasInternalLinkage() || !MangledGlobals.count(I)){
+ printFunctionSignature(I, true);
+ Out << ";\n";
+ }
}
}