On Mon, Jul 22, 2013 at 4:44 PM, Adrian Prantl <[email protected]> wrote:
> Author: adrian
> Date: Mon Jul 22 18:44:26 2013
> New Revision: 186894
>
> URL: http://llvm.org/viewvc/llvm-project?rev=186894&view=rev
> Log:
> Debug Info: Acknowledge the alignment when locating byref block variables.
> Fixes rdar://problem/14386148
>
> Added:
>     cfe/trunk/test/CodeGenObjC/block-byref-debuginfo.m
> Modified:
>     cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>
> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=186894&r1=186893&r2=186894&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Mon Jul 22 18:44:26 2013
> @@ -2626,6 +2626,7 @@ llvm::DIType CGDebugInfo::EmitTypeForVar
>    llvm::DIType FieldTy = CGDebugInfo::getOrCreateType(FType, Unit);
>    FieldSize = CGM.getContext().getTypeSize(FType);
>    FieldAlign = CGM.getContext().toBits(Align);
> +  FieldOffset += FieldOffset % FieldAlign;

This math looks very suspicious; I would expect something closer to
llvm::RoundUpToAlignment().

-Eli
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to