all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andrea Corallo via "Emacs development discussions." <emacs-devel@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Arthur Miller <arthur.miller@live.com>, emacs-devel@gnu.org
Subject: Re: Native compiler - passing command line options to C compiler
Date: Mon, 30 Aug 2021 12:59:45 +0000	[thread overview]
Message-ID: <xjfv93n2im6.fsf@ma.sdf.org> (raw)
In-Reply-To: <83bl5fkvky.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 30 Aug 2021 14:42:21 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Arthur Miller <arthur.miller@live.com>
>> Date: Sun, 29 Aug 2021 23:47:56 +0200
>> 
>> after the few mails the other day, I wasn't really sure if Andrea is going to
>> implement it and when. I thought it was rather a tedious manual labour and maybe
>> not so important, so I took me a liberty to implement this myself in my own, so
>> called, personal copy of Eamcs sources.
>
> Thanks.
>
>> I am not sure if I have done it correctly though, I appreciate if Andrea have
>> time to take a look; I have just mainly copied your code for backend options. It
>> seems to work for me, with a minor remark: When I pass a valid option, "native",
>> in place where it should go, I get an invalid option error. Gcc even lists it in
>> the error message as a valid option. Another option "skylake" works just 
>> fine. This seems to vary between flags. I am not sure if this is some encoding
>> error from Emacs to libgccjit, or if it is some bug in libgccjit, or is it just
>> my brain having dumps.
>
> I guess -march=native is something handled by GCC itself, and here we
> don't have it?  If you want to be sure, ask this question on the GCC
> list, or report as a bug to their Bugzilla.
>
>> +break your code. Use at own risk.
>                   ^^
> Two spaces between sentences.
>
>> +DEFUN ("comp-native-compiler-options-effective-p",
>> +       Fcomp_native_compiler_options_effective_p,
>> +       Scomp_native_compiler_options_effective_p,
>> +       0, 0, 0,
>> +       doc: /* Return t if `comp-native-compiler-options' is effective.  */)
>> +  (void)
>> +{
>> +#if defined (LIBGCCJIT_HAVE_gcc_jit_context_add_command_line_option)  \
>> +  || defined (WINDOWSNT)  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>> +  if (gcc_jit_context_add_command_line_option)
>> +    return Qt;
>> +#endif
>
> The emphasized part doesn't look right: we did that elsewhere because
> the options we pass there work around bugs that happen also in
> versions that don't report libgccjit version.  But here this is not
> needed, and the version check isn't present anyway.  So the WINDOWSNT
> special handling should be removed, I think.

I think this "defined (WINDOWSNT)" should be there so that compiling on
Windows the check over "gcc_jit_context_add_command_line_option" it is
always compiled even in case the libgccjit.h provided at compile time
does not define
'LIBGCCJIT_HAVE_gcc_jit_context_add_command_line_option'.

A newer version of the shared library including the entry point might be
provided later on and will be used at runtime.

This should explain also the other mentioned points.

Regards

  Andrea



  reply	other threads:[~2021-08-30 12:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <AM9PR09MB49778CFA83AA6697D09ED01B96CA9@AM9PR09MB4977.eurprd09.prod.outlook.com>
2021-08-30  9:36 ` Native compiler - passing command line options to C compiler Andrea Corallo via Emacs development discussions.
2021-08-30 13:56   ` Arthur Miller
2021-08-30 14:05     ` Andrea Corallo via Emacs development discussions.
2021-08-30 11:42 ` Eli Zaretskii
2021-08-30 12:59   ` Andrea Corallo via Emacs development discussions. [this message]
2021-08-30 13:28     ` Eli Zaretskii
2021-08-30 14:28       ` Andrea Corallo via Emacs development discussions.
2021-08-30 15:00         ` Arthur Miller
2021-08-30 15:38           ` Andrea Corallo via Emacs development discussions.
2021-08-31  5:36             ` Arthur Miller
2021-08-31  8:06               ` Andrea Corallo via Emacs development discussions.
2021-08-31 13:01               ` Eli Zaretskii
2021-08-31 22:53                 ` Arthur Miller
2021-09-01 11:45                   ` Eli Zaretskii
2021-09-01 14:23                     ` Arthur Miller
2021-09-01 16:45                       ` Eli Zaretskii
2021-09-01 21:06                         ` Arthur Miller
2021-08-30 16:01           ` Eli Zaretskii
2021-08-30 15:50         ` Eli Zaretskii
2021-08-30 14:01   ` Arthur Miller
2021-08-30 14:03     ` Eli Zaretskii
2021-09-01 14:58   ` Alex Bennée
2021-09-01 15:10     ` Perry E. Metzger
2021-09-01 16:04     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xjfv93n2im6.fsf@ma.sdf.org \
    --to=emacs-devel@gnu.org \
    --cc=akrl@sdf.org \
    --cc=arthur.miller@live.com \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.