[cfe-commits] Fwd: Bug 11709 Fix: va_list on ARM is not following AAPCS 7.1.4
David.Tweed at arm.com
Fri Oct 19 05:42:36 PDT 2012
I've just finished a test run with this patch on an ubuntu gnueabihf pandaboard and the constructor failures are now gone.
Thanks for working on getting the regression fixed.
From: cfe-commits-bounces at cs.uiuc.edu [mailto:cfe-commits-bounces at cs.uiuc.edu] On Behalf Of Logan Chien
Sent: 19 October 2012 05:54
To: Eli Friedman; Weiming Zhao; cfe-commits at cs.uiuc.edu
Subject: Re: [cfe-commits] Fwd: Bug 11709 Fix: va_list on ARM is not following AAPCS 7.1.4
Thanks for the review. I have updated the comments, and the test
cases for ARM. The new patch file is attached.
On Fri, Oct 19, 2012 at 7:47 AM, Eli Friedman <eli.friedman at gmail.com<mailto:eli.friedman at gmail.com>> wrote:
On Thu, Oct 18, 2012 at 8:23 AM, Logan Chien <tzuhsiang.chien at gmail.com<mailto:tzuhsiang.chien at gmail.com>> wrote:
> ---------- Forwarded message ----------
> From: Logan Chien <tzuhsiang.chien at gmail.com<mailto: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<mailto: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
+// 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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-commits