[Patch] Missed evaluation in "type" parameter of va_arg
Rahul Jain
1989.rahuljain at gmail.com
Mon Mar 24 05:12:48 PDT 2014
Gentle ping!
On Thu, Mar 20, 2014 at 9:18 AM, Rahul Jain <1989.rahuljain at gmail.com>wrote:
> Gentle ping!
>
>
> On Sun, Mar 16, 2014 at 11:01 PM, Rahul Jain <1989.rahuljain at gmail.com>wrote:
>
>>
>> Hi All,
>>
>> clang -v
>>
>> clang version 3.5.0 (204017)
>>
>> Target: x86_64-apple-darwin13.1.0
>> Thread model: posix
>>
>> This is with respect to the following tc from gcc test suite:
>>
>> #include <stdarg.h>
>>
>>
>> extern void exit (int);
>>
>> extern void abort (void);
>>
>>
>> int a[10];
>>
>> int i = 9;
>>
>>
>> void
>>
>> f (int n, ...)
>>
>> {
>>
>> va_list ap;
>>
>> void *p;
>>
>> va_start (ap, n);
>>
>> p = va_arg (ap, typeof (int (*)[++i]));
>>
>> if (p != a)
>>
>> abort ();
>>
>> if (i != n)
>>
>> abort ();
>>
>> va_end (ap);
>>
>> }
>>
>>
>> int
>>
>> main (void)
>>
>> {
>>
>> f (10, &a);
>>
>> exit (0);
>>
>> }
>>
>>
>> clang fails to emit code for increment operation done in the call to
>> va_arg.
>>
>> I have attached a patch which fixes the same.
>>
>> Please if someone could help in reviewing it.
>>
>>
>> Also it would be great if someone could help/redirect me, as to what is
>> the format
>>
>> used by to add regression test cases testing runtime behaviour of a tc?
>>
>>
>> Thanks,
>>
>> Rahul
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140324/556c6740/attachment.html>
More information about the cfe-commits
mailing list