This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][PR65802] Mark ifn_va_arg with ECF_NOTHROW


On Tue, Apr 21, 2015 at 3:10 PM, Tom de Vries <Tom_deVries@mentor.com> wrote:
> Hi,
>
> this patch fixes PR65802.
>
> diff --git a/gcc/testsuite/g++.dg/
pr65802.C b/gcc/testsuite/g++.dg/pr65802.C
> new file mode 100644
> index 0000000..26e5317
> --- /dev/null
> +++ b/gcc/testsuite/g++.dg/pr65802.C
> @@ -0,0 +1,29 @@
> +// { dg-do compile }
> +// { dg-options "-O0" }
> +
> +typedef int tf ();
> +
> +struct S
> +{
> +  tf m_fn1;
> +} a;
> +
> +void
> +fn1 ()
> +{
> +  try
> +    {
> +      __builtin_va_list c;
> +      {
> +     int *d = __builtin_va_arg (c, int *);
> +     int **e = &d;
> +     __asm__("" : "=d"(e));
Hi, thanks for fixing the issue.
But 'd' is a machine specific constraint?  This case failed on all arm
processors.

Thanks,
bin
> +     a.m_fn1 ();
> +      }
> +      a.m_fn1 ();
> +    }
> +  catch (...)
> +    {
> +
> +    }
> +}

> OK for trunk?
>
> Thanks,
> - Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]