From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Re: Native compiler - passing command line options to C compiler Date: Tue, 31 Aug 2021 07:36:47 +0200 Message-ID: References: <83bl5fkvky.fsf@gnu.org> <83v93njc3x.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23167"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Andrea Corallo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Aug 31 07:37:43 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mKwSr-0005sk-EU for ged-emacs-devel@m.gmane-mx.org; Tue, 31 Aug 2021 07:37:42 +0200 Original-Received: from localhost ([::1]:35136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mKwSq-0006MF-1d for ged-emacs-devel@m.gmane-mx.org; Tue, 31 Aug 2021 01:37:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57046) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mKwS6-0005gx-I7 for emacs-devel@gnu.org; Tue, 31 Aug 2021 01:36:54 -0400 Original-Received: from mail-oln040092075101.outbound.protection.outlook.com ([40.92.75.101]:1695 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mKwS3-0005Et-Nv; Tue, 31 Aug 2021 01:36:54 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ELtpTnzJpBVeHOls1tal23j98dYhzc8+OpNfGO/8+ncnQIqFZFBskl5dplP4bO7qupyxOFJniqp/5VvTeuIRKtF+4ncxq/Ekewcjd4/s0Fqn8VphuvSHNv2m9vJB8tuvjR9Qi1XcTUPzoNU8zfI0ZSkDhKeYdG9GCEn7MXMZr+XewPiPFD9Xg0D1vs2F80hBTVxIKDpLFxbNF/jsMdX5fp4DyUOG0BgVcuFZc/XGvXqiojsBG5Bpf2t2rGqN4u7JAudwruEMxVS4Ht/V6nre9ww1p/Puwa961OPR7kFLZGBq34d+hmrZGIFSZs2snr8B4vpoF7y8umqpaYaoM0HbFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R0QuDeFmz+urfgkuk2vrhIdIx79h0Vrc/tIdM4s5xjY=; b=Yku6waMAmNqHNGK5ojuNq6E8EPG7V3BZlwUD8HnxucIKJ20vQHnzSB7XiuGdXBdN46OSd11Jv3esK10KUDkFf2um4FJZoPSH6oDKWnlml/eQ+2kBiFdbOPq5VL9T7WnAQbyyxYFZ/N+/aWGAw4Qs2z5xP2iEx1Z0KX9zh5KHDV40oKSJRZrc3Ko9D4q7ZfHbnxvdXP27PH8w5fGLgwQYfYlfM1PCOiR9QWISZkpfA37RpAsbekM+Ucc2SrxjLLrNhaSMQ0Yuac93MDzJIM930J6KVXGvpTT4Tka6eWa/R3nnQvHAAaYe8coBN0aLZ6ISOJzJPV+dgOokOBGzf2OGAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R0QuDeFmz+urfgkuk2vrhIdIx79h0Vrc/tIdM4s5xjY=; b=Lv54lYBUEMrnODKIIA8R9a5xdQ4PdFFXR8AaQjm+ecCvOUgzuhIEoOSR/7OxAalhCkKPijOs9xMmbQpUJsiJPuUCFRqYKXQN0/+SE7Dd8bMu+MywycqXGDjOajyqmELhRpCFcpdLZtPkSM56vFLfkvwU6i1uMKk5scBpbOn1kfDj6XLx8ZF2BLRgTWmNvxRj4vJiDbfh1sqNjEPpmZtdyoIAPvt5hanN+CTrAMyvRLo9Q5MgxB+Zj0ifrEWL1+Ma57f2UTgBy2fe5gALkpLKZeQFxf7hLMp2DRTsb/Q71MV98oNRxaH3txgSx21Ms4OYv9N1q3lmaEJEP2XFzabi1g== Original-Received: from VI1EUR04FT004.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0e::4e) by VI1EUR04HT145.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0e::167) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Tue, 31 Aug 2021 05:36:48 +0000 Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com (2a01:111:e400:7e0e::4d) by VI1EUR04FT004.mail.protection.outlook.com (2a01:111:e400:7e0e::389) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 05:36:48 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:D0362F0551E76AE2328B60A7507A2AA133B026616793B73C1CD5BB4FD9F7700B; UpperCasedChecksum:B9E033B00FE1685CBBD2D690E7AE4255993F03B18DD400FF2701FF837352E510; SizeAsReceived:7723; Count:46 Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::35f2:ac79:ee50:c46c]) by AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::35f2:ac79:ee50:c46c%8]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021 05:36:48 +0000 In-Reply-To: (Andrea Corallo's message of "Mon, 30 Aug 2021 15:38:44 +0000") X-TMN: [09qlYMxw/W6Fekqgtc8U+o1wnpoADGHX] X-ClientProxiedBy: AM6P195CA0024.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::37) To AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) X-Microsoft-Original-Message-ID: <871r6ap440.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from pascal.homepc (81.232.177.30) by AM6P195CA0024.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.17 via Frontend Transport; Tue, 31 Aug 2021 05:36:47 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 46 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: b0b7e19a-4176-45e8-b4ff-08d96c415334 X-MS-TrafficTypeDiagnostic: VI1EUR04HT145: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pMfLkv23AwpfnZKUH5IxZecE4dDleoB2pN/EQLnB5eNcHktmHy/I3VVALFB5wund14n0m55eVn+9I5DANyQqlL4y6tqDrc0Y2OAiXMokzGRphPp83i/eUsNgIj6FzNSY/Sp/5ruZHhCtNcMSPSYZUFuWSXNViCOndCMuf+UcLD/JszO1KODuIN0fynM3KixC/w3DObM4fzYVTmCDP9YMg0b8MzdVrAXa0RjMka7qlmmUmpKbaxxXcfx42EcJnrkjZDYGusWCsYMwuWgYEtCAr1UwBiM9gY3DkzmQFfFgrnYEMc2qNdZ1dlhdN0xPDlVkoB419dvBuu/PGWIG/diKum/tZT2oSU7iyL6WWC5aGv94FeSRw+dMF1xNczDygA+5TXM2ZIdWH6j4khImq0DZBTRutPiB2KHJfK8OyatZoge2GG8mT2wDc4oWWqSwxgOV X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gRvjY8LRG7Q1eN84hIsIzII7reUSRbR1QnqNUd5s7PjYG2HdicvANFGFe2mxg/bcCu6JYcbhddT/YTw8EkL6MzjN5kRU55R8aRhjSbn0lQe0M5G8LgaoVZx8ZI19Rwndh8FDNHEcajfrNuvjwwr22w== X-OriginatorOrg: live.com X-MS-Exchange-CrossTenant-Network-Message-Id: b0b7e19a-4176-45e8-b4ff-08d96c415334 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 05:36:48.0017 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: VI1EUR04FT004.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1EUR04HT145 Received-SPF: pass client-ip=40.92.75.101; envelope-from=arthur.miller@live.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:273567 Archived-At: --=-=-= Content-Type: text/plain Andrea Corallo writes: > Arthur Miller writes: > >> Andrea Corallo writes: >> >>> Eli Zaretskii writes: >>> >>>>> From: Andrea Corallo >>>>> Cc: Arthur Miller , emacs-devel@gnu.org >>>>> Date: Mon, 30 Aug 2021 12:59:45 +0000 >>>>> >>>>> 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. >>>> >>>> You cannot use a libgccjit.dll of a version for which Emacs was not >>>> compiled, unless it is binary-compatible. If Emacs was linked against >>>> libgccjit.dll that didn't support >>>> gcc_jit_context_add_command_line_option, then it would not work to >>>> install a newer version of the DLL that does. >>> >>> Okay, I thought on Windows worked differently and we could handle the >>> case of a symbol not available at compile time but at runtime. In the >>> light of this we can probably perform some more clean-up. >> >> So does that mean that windows check is not needed in add_driver_options as well? > > AFAIR that was the reason for that check so yes. > > Andrea Ok, I have made those changes. I have removed double checks from both add_driver_options () and add_compiler_options (). If it is not OK, I can made another one and revert back this change in add_driver_options. I have also renamed native-comp-driver-options to native-comp-backend-options. I forgott to ask, which Changelog are we talking about? Changelo.3 in top Emacs dir or some other file? --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=ncomp-options.patch >From d0c2b4f882fc67562de6ad67f6dcfdfe6378c32b Mon Sep 17 00:00:00 2001 From: Arthur Miller Date: Tue, 31 Aug 2021 07:15:01 +0200 Subject: [PATCH] Native comp: gcc cmdopts + rename driver-options to backend-options. --- lisp/emacs-lisp/bytecomp.el | 4 +- lisp/emacs-lisp/comp.el | 36 ++++++++--- src/comp.c | 122 ++++++++++++++++++++++++++---------- 3 files changed, 118 insertions(+), 44 deletions(-) diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 145cdbaa6e..c2f7b951d9 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2257,8 +2257,8 @@ byte-compile-from-buffer (push `(native-comp-speed . ,native-comp-speed) byte-native-qualities) (defvar native-comp-debug) (push `(native-comp-debug . ,native-comp-debug) byte-native-qualities) - (defvar native-comp-driver-options) - (push `(native-comp-driver-options . ,native-comp-driver-options) + (defvar native-comp-backend-options) + (push `(native-comp-backend-options . ,native-comp-backend-options) byte-native-qualities) (defvar no-native-compile) (push `(no-native-compile . ,no-native-compile) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 80a1da5ad8..dab34f89e4 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -166,14 +166,24 @@ native-comp-async-query-on-exit :type 'boolean :version "28.1") -(defcustom native-comp-driver-options nil +(defcustom native-comp-compiler-options nil + "Command line options passed to the compiler. +Note that not all options are meaningful and some options might even +break your Emacs. Use at own risk. + +Passing these options is only available in libgccjit version 9 +and above." + :type '(repeat string) + :version "28.1") + +(defcustom native-comp-backend-options nil "Options passed verbatim to the native compiler's back-end driver. Note that not all options are meaningful; typically only the options affecting the assembler and linker are likely to be useful. Passing these options is only available in libgccjit version 9 and above." - :type '(repeat string) ; FIXME is this right? + :type '(repeat string) :version "28.1") (defcustom comp-libgccjit-reproducer nil @@ -755,8 +765,10 @@ comp-data-container :documentation "Default speed for this compilation unit.") (debug native-comp-debug :type number :documentation "Default debug level for this compilation unit.") - (driver-options native-comp-driver-options :type list - :documentation "Options for the GCC driver.") + (compiler-options native-comp-compiler-options :type list + :documentation "Options for the GCC C compiler.") + (backend-options native-comp-backend-options :type list + :documentation "Options for the GCC driver.") (top-level-forms () :type list :documentation "List of spilled top level forms.") (funcs-h (make-hash-table :test #'equal) :type hash-table @@ -1347,7 +1359,9 @@ comp-spill-lap-function byte-native-qualities) (comp-ctxt-debug comp-ctxt) (alist-get 'native-comp-debug byte-native-qualities) - (comp-ctxt-driver-options comp-ctxt) (alist-get 'native-comp-driver-options + (comp-ctxt-compiler-options comp-ctxt) (alist-get 'native-comp-compiler-options + byte-native-qualities) + (comp-ctxt-backend-options comp-ctxt) (alist-get 'native-comp-backend-options byte-native-qualities) (comp-ctxt-top-level-forms comp-ctxt) (cl-loop @@ -3663,8 +3677,10 @@ comp-final comp-libgccjit-reproducer ,comp-libgccjit-reproducer comp-ctxt ,comp-ctxt native-comp-eln-load-path ',native-comp-eln-load-path - native-comp-driver-options - ',native-comp-driver-options + native-comp-backend-options + ',native-comp-backend-options + native-comp-compiler-options + ',native-comp-compiler-options load-path ',load-path) ,native-comp-async-env-modifier-form (message "Compiling %s..." ',output) @@ -3926,8 +3942,10 @@ comp-run-async-workers comp-libgccjit-reproducer ,comp-libgccjit-reproducer comp-async-compilation t native-comp-eln-load-path ',native-comp-eln-load-path - native-comp-driver-options - ',native-comp-driver-options + native-comp-backend-options + ',native-comp-backend-options + native-comp-compiler-options + ',native-comp-compiler-options load-path ',load-path warning-fill-column most-positive-fixnum) ,native-comp-async-env-modifier-form diff --git a/src/comp.c b/src/comp.c index 3ea2836560..44cc3a7c76 100644 --- a/src/comp.c +++ b/src/comp.c @@ -509,7 +509,8 @@ #define NUM_CAST_TYPES 15 typedef struct { EMACS_INT speed; EMACS_INT debug; - Lisp_Object driver_options; + Lisp_Object backend_options; + Lisp_Object compiler_options; gcc_jit_context *ctxt; gcc_jit_type *void_type; gcc_jit_type *bool_type; @@ -4361,11 +4362,11 @@ DEFUN ("comp--release-ctxt", Fcomp__release_ctxt, Scomp__release_ctxt, } #pragma GCC diagnostic ignored "-Waddress" -DEFUN ("comp-native-driver-options-effective-p", - Fcomp_native_driver_options_effective_p, - Scomp_native_driver_options_effective_p, +DEFUN ("comp-native-backend-options-effective-p", + Fcomp_native_backend_options_effective_p, + Scomp_native_backend_options_effective_p, 0, 0, 0, - doc: /* Return t if `comp-native-driver-options' is effective. */) + doc: /* Return t if `comp-native-backend-options' is effective. */) (void) { #if defined (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option) \ @@ -4377,43 +4378,95 @@ DEFUN ("comp-native-driver-options-effective-p", } #pragma GCC diagnostic pop +#pragma GCC diagnostic ignored "-Waddress" +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) + if (gcc_jit_context_add_command_line_option) + return Qt; +#endif + return Qnil; +} +#pragma GCC diagnostic pop + static void add_driver_options (void) { - Lisp_Object options = Fsymbol_value (Qnative_comp_driver_options); + Lisp_Object options = Fsymbol_value (Qnative_comp_backend_options); -#if defined (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option) \ - || defined (WINDOWSNT) - load_gccjit_if_necessary (true); - if (!NILP (Fcomp_native_driver_options_effective_p ())) + if (!NILP (Fcomp_native_backend_options_effective_p ())) + { + load_gccjit_if_necessary (true); + FOR_EACH_TAIL (options) + gcc_jit_context_add_driver_option (comp.ctxt, + /* FIXME: Need to encode + this, but how? either + ENCODE_FILE or + ENCODE_SYSTEM. */ + SSDATA (XCAR (options))); + } + + if (CONSP (options)) + xsignal1 (Qnative_compiler_error, + build_string ("Customizing native compiler options" + " via `comp-native-backend-options' is" + " only available on libgccjit version 9" + " and above.")); + + /* Captured `comp-native-backend-options' because file-local. */ + if (!NILP (Fcomp_native_backend_options_effective_p ())) + { + options = comp.backend_options; + FOR_EACH_TAIL (options) + gcc_jit_context_add_driver_option (comp.ctxt, + /* FIXME: Need to encode + this, but how? either + ENCODE_FILE or + ENCODE_SYSTEM. */ + SSDATA (XCAR (options))); + } +} + +static void +add_compiler_options (void) +{ + Lisp_Object options = Fsymbol_value (Qnative_comp_compiler_options); + + if (!NILP (Fcomp_native_compiler_options_effective_p ())) + { + load_gccjit_if_necessary (true); FOR_EACH_TAIL (options) - gcc_jit_context_add_driver_option (comp.ctxt, - /* FIXME: Need to encode - this, but how? either - ENCODE_FILE or - ENCODE_SYSTEM. */ - SSDATA (XCAR (options))); -#endif + gcc_jit_context_add_command_line_option (comp.ctxt, + /* FIXME: Need to encode + this, but how? either + ENCODE_FILE or + ENCODE_SYSTEM. */ + SSDATA (XCAR (options))); + } if (CONSP (options)) xsignal1 (Qnative_compiler_error, build_string ("Customizing native compiler options" - " via `comp-native-driver-options' is" + " via `comp-native-compiler-options' is" " only available on libgccjit version 9" " and above.")); - /* Captured `comp-native-driver-options' because file-local. */ -#if defined (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option) \ - || defined (WINDOWSNT) - options = comp.driver_options; - if (!NILP (Fcomp_native_driver_options_effective_p ())) + /* Captured `comp-native-compiler-options' because file-local. */ + if (!NILP (Fcomp_native_compiler_options_effective_p ())) + { + options = comp.compiler_options; FOR_EACH_TAIL (options) - gcc_jit_context_add_driver_option (comp.ctxt, - /* FIXME: Need to encode - this, but how? either - ENCODE_FILE or - ENCODE_SYSTEM. */ - SSDATA (XCAR (options))); -#endif + gcc_jit_context_add_command_line_option (comp.ctxt, + /* FIXME: Need to encode + this, but how? either + ENCODE_FILE or + ENCODE_SYSTEM. */ + SSDATA (XCAR (options))); + } } DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file, @@ -4460,7 +4513,7 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file, eassert (comp.speed < INT_MAX); comp.debug = XFIXNUM (CALL1I (comp-ctxt-debug, Vcomp_ctxt)); eassert (comp.debug < INT_MAX); - comp.driver_options = CALL1I (comp-ctxt-driver-options, Vcomp_ctxt); + comp.backend_options = CALL1I (comp-ctxt-backend-options, Vcomp_ctxt); if (comp.debug) gcc_jit_context_set_bool_option (comp.ctxt, @@ -4536,6 +4589,7 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file, #endif add_driver_options (); + add_compiler_options (); if (comp.debug > 1) gcc_jit_context_dump_to_file (comp.ctxt, @@ -5241,7 +5295,8 @@ syms_of_comp (void) DEFSYM (Qnative_comp_speed, "native-comp-speed"); DEFSYM (Qnative_comp_debug, "native-comp-debug"); - DEFSYM (Qnative_comp_driver_options, "native-comp-driver-options"); + DEFSYM (Qnative_comp_backend_options, "native-comp-backend-options"); + DEFSYM (Qnative_comp_compiler_options, "native-comp-compiler-options"); DEFSYM (Qcomp_libgccjit_reproducer, "comp-libgccjit-reproducer"); /* Limple instruction set. */ @@ -5350,7 +5405,8 @@ syms_of_comp (void) defsubr (&Scomp__subr_signature); defsubr (&Scomp_el_to_eln_rel_filename); defsubr (&Scomp_el_to_eln_filename); - defsubr (&Scomp_native_driver_options_effective_p); + defsubr (&Scomp_native_backend_options_effective_p); + defsubr (&Scomp_native_compiler_options_effective_p); defsubr (&Scomp__install_trampoline); defsubr (&Scomp__init_ctxt); defsubr (&Scomp__release_ctxt); -- 2.33.0 --=-=-=--