diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-11-03 20:31:28 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-11-03 20:31:28 +0000 |
commit | eadd3e81a04ec492301333502f74f97e98215849 (patch) | |
tree | f3e18fa0ed81b0c9badb23d286e4acf8a2fb2d1f /clang/lib/CodeGen/CGDecl.cpp | |
parent | f50f7b2c6553c871bb7e2c9b278beadf973a9135 (diff) | |
download | bcm5719-llvm-eadd3e81a04ec492301333502f74f97e98215849.tar.gz bcm5719-llvm-eadd3e81a04ec492301333502f74f97e98215849.zip |
Fix the alignment on scalar parameter variables so that it matches what the AST thinks it should be. Per report on cfe-dev.
llvm-svn: 143645
Diffstat (limited to 'clang/lib/CodeGen/CGDecl.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGDecl.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGDecl.cpp b/clang/lib/CodeGen/CGDecl.cpp index a6147ea7658..384d92a9bf4 100644 --- a/clang/lib/CodeGen/CGDecl.cpp +++ b/clang/lib/CodeGen/CGDecl.cpp @@ -1442,7 +1442,10 @@ void CodeGenFunction::EmitParmDecl(const VarDecl &D, llvm::Value *Arg, DeclPtr = Arg; } else { // Otherwise, create a temporary to hold the value. - DeclPtr = CreateMemTemp(Ty, D.getName() + ".addr"); + llvm::AllocaInst *Alloc = CreateTempAlloca(ConvertTypeForMem(Ty), + D.getName() + ".addr"); + Alloc->setAlignment(getContext().getDeclAlign(&D).getQuantity()); + DeclPtr = Alloc; bool doStore = true; |