*** empty log message ***
authorNick Hildenbrandt <hldnbrnd@uiuc.edu>
Mon, 28 Oct 2002 19:05:12 +0000 (19:05 +0000)
committerNick Hildenbrandt <hldnbrnd@uiuc.edu>
Mon, 28 Oct 2002 19:05:12 +0000 (19:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4343 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/CBackend/CBackend.cpp
lib/Target/CBackend/Writer.cpp

index 4227114b154d93e33800d99d6b3291da0fc3fc3f..196281f6e85e261e108418bb9ab6176b2d80a51f 100644 (file)
@@ -451,7 +451,7 @@ void CWriter::writeOperandInternal(Value *Operand) {
       return;
     }
   
-  if (Operand->hasName()) {   
+  if (Operand->hasName()) {  
     Out << getValueName(Operand);
   } else if (Constant *CPV = dyn_cast<Constant>(Operand)) {
     printConstant(CPV); 
@@ -575,6 +575,19 @@ void CWriter::printModule(Module *M) {
     Out << "extern void * malloc(size_t);\n\n";
   }
 
+  // Output the global variable declerations
+  if (!M->gempty()) {
+    Out << "\n\n/* Global Variable Declerations */\n";
+    for (Module::giterator I = M->gbegin(), E = M->gend(); I != E; ++I)
+      if (!I->isExternal()) {
+        Out << "extern ";
+        printType(I->getType()->getElementType(), getValueName(I));
+      
+        Out << ";\n";
+      }
+  }
+
+  
   // Output the global variable definitions and contents...
   if (!M->gempty()) {
     Out << "\n\n/* Global Variable Definitions and Initialization */\n";
index 4227114b154d93e33800d99d6b3291da0fc3fc3f..196281f6e85e261e108418bb9ab6176b2d80a51f 100644 (file)
@@ -451,7 +451,7 @@ void CWriter::writeOperandInternal(Value *Operand) {
       return;
     }
   
-  if (Operand->hasName()) {   
+  if (Operand->hasName()) {  
     Out << getValueName(Operand);
   } else if (Constant *CPV = dyn_cast<Constant>(Operand)) {
     printConstant(CPV); 
@@ -575,6 +575,19 @@ void CWriter::printModule(Module *M) {
     Out << "extern void * malloc(size_t);\n\n";
   }
 
+  // Output the global variable declerations
+  if (!M->gempty()) {
+    Out << "\n\n/* Global Variable Declerations */\n";
+    for (Module::giterator I = M->gbegin(), E = M->gend(); I != E; ++I)
+      if (!I->isExternal()) {
+        Out << "extern ";
+        printType(I->getType()->getElementType(), getValueName(I));
+      
+        Out << ";\n";
+      }
+  }
+
+  
   // Output the global variable definitions and contents...
   if (!M->gempty()) {
     Out << "\n\n/* Global Variable Definitions and Initialization */\n";