diff options
author | Akira Hatanaka <ahatanak@gmail.com> | 2011-08-12 02:30:14 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanak@gmail.com> | 2011-08-12 02:30:14 +0000 |
commit | ae31c7af1c92c5760807fdb1a88a0e35f3f02892 (patch) | |
tree | 75e698d691d2a10c3205f26534e9233fe5015a27 /clang/lib/CodeGen/TargetInfo.cpp | |
parent | 22c55d180ddc9772ee03d5034677d27a2735c92e (diff) | |
download | bcm5719-llvm-ae31c7af1c92c5760807fdb1a88a0e35f3f02892.tar.gz bcm5719-llvm-ae31c7af1c92c5760807fdb1a88a0e35f3f02892.zip |
Alignment of a va_arg must be at least as large as the ABI's minimum alignment.
llvm-svn: 137420
Diffstat (limited to 'clang/lib/CodeGen/TargetInfo.cpp')
-rw-r--r-- | clang/lib/CodeGen/TargetInfo.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp index 87c07b4793e..cb5c6722f92 100644 --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -3082,6 +3082,7 @@ llvm::Value* MipsABIInfo::EmitVAArg(llvm::Value *VAListAddr, QualType Ty, AddrTyped = Builder.CreateBitCast(Addr, PTy); llvm::Value *AlignedAddr = Builder.CreateBitCast(AddrTyped, BP); + TypeAlign = std::max(TypeAlign, MinABIStackAlignInBytes); uint64_t Offset = llvm::RoundUpToAlignment(CGF.getContext().getTypeSize(Ty) / 8, TypeAlign); llvm::Value *NextAddr = |