Hi Eli, Thanks for your info.
Do you mean, in ActOnVAArg or BuildVAArgExpr, it needs InitializationSequence, InitializedEntity if va_list is a record type? (I'm not familiar with this) Thanks, Weiming Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -----Original Message----- From: Eli Friedman [mailto:[email protected]] Sent: Wednesday, October 17, 2012 5:17 PM To: Evgeniy Stepanov Cc: [email protected]; [email protected] Subject: Re: [cfe-commits] Bug 11709 Fix: va_list on ARM is not following AAPCS 7.1.4 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 <[email protected]> wrote: > Reattaching the patch (rebased on ToT), just in case. > > On Wed, Oct 17, 2012 at 9:29 PM, Evgeniy Stepanov > <[email protected]> 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 <[email protected]> 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:[email protected]] >>> Sent: Thursday, October 11, 2012 1:46 PM >>> To: [email protected] >>> Cc: Jordan Rose; Logan Chien; [email protected] >>> 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 >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>> > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
