Targets that don't have stack use global address space for parameters.
Specify external linkage for such globals so that llvm optimizer do
not assume there values initialized as zero.
llvm-svn: 63636
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 1605e2a..31b2c4e4 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -627,9 +627,11 @@
/// GenerateStaticBlockVarDecl - return the the static
/// declaration of local variable.
- llvm::GlobalValue *GenerateStaticBlockVarDecl(const VarDecl &D,
- bool NoInit,
- const char *Separator);
+ llvm::GlobalValue * GenerateStaticBlockVarDecl(const VarDecl &D,
+ bool NoInit,
+ const char *Separator,
+ llvm::GlobalValue
+ ::LinkageTypes Linkage);
// GenerateStaticCXXBlockVarDecl - return the static declaration of
// a local variable. Performs initialization of the variable if necessary.