In "int X,Y;", compile both X and Y.

llvm-svn: 39848
This commit is contained in:
Chris Lattner 2007-07-14 00:16:50 +00:00
parent 027f21dd72
commit 6ee31f5df8
3 changed files with 8 additions and 1 deletions

View 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;

View File

@ -53,6 +53,7 @@ public:
void EmitFunction(const FunctionDecl *FD);
void EmitGlobalVar(const FileVarDecl *D);
void EmitGlobalVarDeclarator(const FileVarDecl *D);
void PrintStats() {}
};

View 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);
}