[cfe-commits] Bug 11709 Fix: va_list on ARM is not following AAPCS 7.1.4

Eli Friedman eli.friedman at gmail.com
Wed Oct 17 17:17:04 PDT 2012


This is wrong; just because va_list is a struct doesn't mean that the
expression is a modifiable lvalue.  You have to actually build an
InitializationSequence with an InitializedEntity of type va_list&.

-Eli

On Wed, Oct 17, 2012 at 10:31 AM, Evgeniy Stepanov
<eugeni.stepanov at gmail.com> wrote:
> Reattaching the patch (rebased on ToT), just in case.
>
> On Wed, Oct 17, 2012 at 9:29 PM, Evgeniy Stepanov
> <eugeni.stepanov at gmail.com> wrote:
>> Could someone familiar with this code review the patch please?
>> It fixes AddressSanitizer on ARM which is broken at the moment. And
>> probably _a lot_ of other code.
>>
>> On Mon, Oct 15, 2012 at 8:51 PM, Weiming Zhao <weimingz at codeaurora.org> wrote:
>>> Hi Anton,
>>>
>>> Attached is the fix for the issue and a test case for that.
>>> The cause is that the original BuildVAArgExpr missed the case of a record type va_list.  I fixed that issue and I also refactored my original va_list construction code by removing the redundant call of creating RecordDecl.
>>>
>>> Please review it.
>>> Sorry for the inconvenience.
>>>
>>> Weiming
>>>
>>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
>>>
>>> -----Original Message-----
>>> From: Anton Korobeynikov [mailto:anton at korobeynikov.info]
>>> Sent: Thursday, October 11, 2012 1:46 PM
>>> To: weimingz at codeaurora.org
>>> Cc: Jordan Rose; Logan Chien; cfe-commits at cs.uiuc.edu
>>> Subject: Re: [cfe-commits] Bug 11709 Fix: va_list on ARM is not following AAPCS 7.1.4
>>>
>>> Hi Weiming,
>>>
>>>> Thanks for reviewing.
>>>> I don't have commit access.
>>>> Can you help to commit it?
>>> I'm seeing the copy-ctor assertion every time someone is using __builtin_va_arg. Will you please fix and add the testcase for it as well?
>>>
>>> Something like:
>>>
>>> __builtin_va_list ap;
>>> foo = __builtin_va_arg(ap, int)
>>>
>>> Thanks!
>>>
>>> --
>>> With best regards, Anton Korobeynikov
>>> Faculty of Mathematics and Mechanics, Saint Petersburg State University
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>



More information about the cfe-commits mailing list