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

Logan Chien tzuhsiang.chien at gmail.com
Thu Oct 18 21:53:44 PDT 2012


Thanks for the review.  I have updated the comments, and the test
cases for ARM.  The new patch file is attached.

Thanks.
Logan

On Fri, Oct 19, 2012 at 7:47 AM, Eli Friedman <eli.friedman at gmail.com>wrote:

> On Thu, Oct 18, 2012 at 8:23 AM, Logan Chien <tzuhsiang.chien at gmail.com>
> wrote:
> >
> >
> > ---------- Forwarded message ----------
> > From: Logan Chien <tzuhsiang.chien at gmail.com>
> > Date: Thu, Oct 18, 2012 at 11:20 PM
> > Subject: Re: [cfe-commits] Bug 11709 Fix: va_list on ARM is not following
> > AAPCS 7.1.4
> > To: Eli Friedman <eli.friedman at gmail.com>
> >
> >
> > Thanks for your review.
> >
> > I have added new test to test/SemaCXX/builtins-arm.cpp to
> > specify the error message when PerformCopyInitialization fails.
> >
> > BTW, is the InitializedEntity related code correct?  I hope I can
> > get a modifiable Lvalue reference after initialization (not a copy
> > of the value in the structure.)  I'm not very confident with this.
>
> The code is doing the right thing.
>
> +    // If va_list is a record type and we are compiling under C++ mode,
> +    // then we should check the argument by copy assignment operator
>
> This comment is wrong; even though you're using
> PerformCopyInitialization, there's no actual copy because the
> InitializedEntity has reference type.  "If va_list is a record type
> and we are compiling in C++ mode, check the argument using reference
> binding."
>
> +// RUN: %clang_cc1 -triple armv7 -fsyntax-only -verify %s
> +
> +#if defined(__ARM_PCS) || defined(__ARM_EABI__)
>
> Please don't use an ifdef here; just use an appropriate triple.
>
> Otherwise, looks fine.
>
> -Eli
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20121019/4842cec7/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-__builtin_va_arg-assertion-failure-in-ARM-AAPCS.patch
Type: application/octet-stream
Size: 3443 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20121019/4842cec7/attachment.obj>


More information about the cfe-commits mailing list