aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2002-10-05 23:43:10 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2002-10-05 23:43:10 +0000
commit2a408f06b545a4815666f22a72f62dd38e7ebd10 (patch)
treebd8b678a9259cd7f93fb5c594d53ea5609d62ddb
parent34008373748f334b380972c67938c41f2e98582a (diff)
Bug fix: In preventing static global variables from being printed twice,
I also prevented external globals from being printed twice, but they should (extern declaration and definition). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4043 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/CBackend/CBackend.cpp5
-rw-r--r--lib/Target/CBackend/Writer.cpp5
2 files changed, 4 insertions, 6 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index bc2106d78f..51a3d168c1 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -563,9 +563,8 @@ void CWriter::printModule(Module *M) {
if (!M->gempty()) {
Out << "\n\n/* Global Variable Definitions and Initialization */\n";
for (Module::giterator I = M->gbegin(), E = M->gend(); I != E; ++I) {
- if (I->hasExternalLinkage())
- continue; // printed above!
- Out << "static ";
+ if (I->hasInternalLinkage())
+ Out << "static ";
printType(I->getType()->getElementType(), getValueName(I));
if (I->hasInitializer()) {
diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp
index bc2106d78f..51a3d168c1 100644
--- a/lib/Target/CBackend/Writer.cpp
+++ b/lib/Target/CBackend/Writer.cpp
@@ -563,9 +563,8 @@ void CWriter::printModule(Module *M) {
if (!M->gempty()) {
Out << "\n\n/* Global Variable Definitions and Initialization */\n";
for (Module::giterator I = M->gbegin(), E = M->gend(); I != E; ++I) {
- if (I->hasExternalLinkage())
- continue; // printed above!
- Out << "static ";
+ if (I->hasInternalLinkage())
+ Out << "static ";
printType(I->getType()->getElementType(), getValueName(I));
if (I->hasInitializer()) {