GNU bug report logs - #46824
28.0.50; nativecomp crash with cl-block/cl-defun

Previous Next

Package: emacs;

Reported by: Aaron Jensen <aaronjensen <at> gmail.com>

Date: Sun, 28 Feb 2021 00:35:01 UTC

Severity: normal

Found in version 28.0.50

Done: Andrea Corallo <akrl <at> sdf.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Pip Cet <pipcet <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 46824 <at> debbugs.gnu.org, aaronjensen <at> gmail.com, Andrea Corallo <akrl <at> sdf.org>
Subject: bug#46824: 28.0.50; nativecomp crash with cl-block/cl-defun
Date: Tue, 2 Mar 2021 14:02:55 +0000
[Message part 1 (text/plain, inline)]
On Tue, Mar 2, 2021 at 1:28 PM Eli Zaretskii <eliz <at> gnu.org> wrote:
> > From: Pip Cet <pipcet <at> gmail.com>
> > Date: Tue, 2 Mar 2021 09:16:12 +0000
> > Cc: 46824 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
> >
> > +  gcc_jit_param *params[] =
> > +    {
> > +      gcc_jit_context_new_param (comp.ctxt, NULL, comp.void_ptr_type, "buf"),
> > +    };
>
> Nitpicking: the braces here should be in column zero.

How about we compromise and put them in column two rather than four or zero? :-)

(I hope that's what you meant).

I was going to apologize for apparently messing up my cc-mode setup
here, but emacs -Q also insists on the incorrect brace placement. We
might want to fix that somehow for those Emacs developers who use this
"Emacs" thing.

> > +  /* Don't call setjmp through a function pointer (Bug#46824) */
> > +  return gcc_jit_context_new_call (comp.ctxt,
> > +                                NULL,
> > +                                gcc_jit_context_new_function
> > +                                (comp.ctxt, NULL, GCC_JIT_FUNCTION_IMPORTED,
> > +                                 comp.int_type, STR (SETJMP_NAME),
> > +                                 ARRAYELTS (params), params,
> > +                                 false),
> > +                                1,
> > +                                args);
>
> Another nit: in cases like this one I find this style more readable:
>
>   return gcc_jit_context_new_call (comp.ctxt, NULL,
>                                    gcc_jit_context_new_function (comp.ctxt,
>                                                                  NULL,
>                                                                  GCC_JIT_FUNCTION_IMPORTED,
>                                                                  ...
>
> IOW, avoid having the function's name and its arguments on separate
> lines, as I find that harder to read.
>
> Or maybe even this:
>
>   gcc_jit_rvalue *val =
>     gcc_jit_context_new_call (comp.ctxt, NULL,
>                               gcc_jit_context_new_function (comp.ctxt, NULL,
>                                                             GCC_JIT_FUNCTION_IMPORTED,
>                                                             ...),
>                               1, args);
>   return val;

I've decided on the attached, if it's okay.

> Thanks.

Thank you!
[0001-Don-t-call-_setjmp-through-a-function-pointer-Bug-46.patch (text/x-patch, attachment)]

This bug report was last modified 4 years and 83 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.