[cfe-commits] [PATCH] struct{bool} -> int function argument coercion emits an invalid store on ARM

Eli Friedman eli.friedman at gmail.com
Fri Feb 3 13:07:32 PST 2012


On Fri, Feb 3, 2012 at 4:05 AM, Evgeniy Stepanov
<eugeni.stepanov at gmail.com> wrote:
> Hi,
>
> this is a fix for PR11905.
>
> The current behaviour when generation a function prolog for arguments
> of coerced types is to allocate a stack temp of the real argument type
> and store the argument(s) there. This is wrong, because storage size
> of the coerce-to type can be larger than that of the real type.
>
> The new behaviour is to allocate a temp of the coerced type, copy it,
> and then reference through a bitcasted pointer of the real type.
>
> Please review.

The real type is sometimes larger than the coerced type... switching
from one to the other only changes which cases are broken issues.

-Eli



More information about the cfe-commits mailing list