]> granicus.if.org Git - clang/commitdiff
In "int X,Y;", compile both X and Y.
authorChris Lattner <sabre@nondot.org>
Sat, 14 Jul 2007 00:16:50 +0000 (00:16 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 14 Jul 2007 00:16:50 +0000 (00:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39848 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CodeGenModule.cpp
CodeGen/CodeGenModule.h
CodeGen/ModuleBuilder.cpp

index b610d3eb27ef62c252ce340cb8b03fb40dfb5c86..4bf4b86bcb63c30f551a78f864993610b28b0d9a 100644 (file)
@@ -88,6 +88,12 @@ void CodeGenModule::EmitGlobalVar(const FileVarDecl *D) {
   }
 }
 
+/// EmitGlobalVarDeclarator - Emit all the global vars attached to the specified
+/// declarator chain.
+void CodeGenModule::EmitGlobalVarDeclarator(const FileVarDecl *D) {
+  for (; D; D = cast_or_null<FileVarDecl>(D->getNextDeclarator()))
+    EmitGlobalVar(D);
+}
 
 llvm::Function *CodeGenModule::getMemCpyFn() {
   if (MemCpyFn) return MemCpyFn;
index 9d8547030ec79610e021c29fdafe442752d37017..fbebdcfcf573a8723591c5fb584ddc55fa4cc2d1 100644 (file)
@@ -53,6 +53,7 @@ public:
   
   void EmitFunction(const FunctionDecl *FD);
   void EmitGlobalVar(const FileVarDecl *D);
+  void EmitGlobalVarDeclarator(const FileVarDecl *D);
   
   void PrintStats() {}
 };
index e525514df52181adbd6eb047c40dd8d47f05b257..4a5a470563b49b814d0c607fe4a484ae0c877ce9 100644 (file)
@@ -34,7 +34,7 @@ void clang::CodeGen::CodeGenFunction(BuilderTy *B, FunctionDecl *D) {
 
 /// CodeGenGlobalVar - Emit the specified global variable to LLVM.
 void clang::CodeGen::CodeGenGlobalVar(BuilderTy *Builder, FileVarDecl *D) {
-  static_cast<CodeGenModule*>(Builder)->EmitGlobalVar(D);
+  static_cast<CodeGenModule*>(Builder)->EmitGlobalVarDeclarator(D);
 }