Allow for `comp-native-driver-options' to work as a file-local variable.
This commit is contained in:
parent
38b4ac3e6b
commit
dbdc44db15
3 changed files with 11 additions and 2 deletions
|
@ -2272,7 +2272,10 @@ With argument ARG, insert value in current buffer after the form."
|
||||||
(defvar comp-speed)
|
(defvar comp-speed)
|
||||||
(push `(comp-speed . ,comp-speed) byte-native-qualities)
|
(push `(comp-speed . ,comp-speed) byte-native-qualities)
|
||||||
(defvar comp-debug)
|
(defvar comp-debug)
|
||||||
(push `(comp-debug . ,comp-debug) byte-native-qualities))
|
(push `(comp-debug . ,comp-debug) byte-native-qualities)
|
||||||
|
(defvar comp-native-driver-options)
|
||||||
|
(push `(comp-native-driver-options . ,comp-native-driver-options)
|
||||||
|
byte-native-qualities))
|
||||||
|
|
||||||
;; Compile the forms from the input buffer.
|
;; Compile the forms from the input buffer.
|
||||||
(while (progn
|
(while (progn
|
||||||
|
|
|
@ -712,6 +712,8 @@ Returns ELT."
|
||||||
:documentation "Default speed for this compilation unit.")
|
:documentation "Default speed for this compilation unit.")
|
||||||
(debug comp-debug :type number
|
(debug comp-debug :type number
|
||||||
:documentation "Default debug level for this compilation unit.")
|
:documentation "Default debug level for this compilation unit.")
|
||||||
|
(driver-options comp-native-driver-options :type list
|
||||||
|
:documentation "Options for the GCC driver.")
|
||||||
(top-level-forms () :type list
|
(top-level-forms () :type list
|
||||||
:documentation "List of spilled top level forms.")
|
:documentation "List of spilled top level forms.")
|
||||||
(funcs-h (make-hash-table :test #'equal) :type hash-table
|
(funcs-h (make-hash-table :test #'equal) :type hash-table
|
||||||
|
@ -1298,6 +1300,8 @@ clashes."
|
||||||
byte-native-qualities)
|
byte-native-qualities)
|
||||||
(comp-ctxt-debug comp-ctxt) (alist-get 'comp-debug
|
(comp-ctxt-debug comp-ctxt) (alist-get 'comp-debug
|
||||||
byte-native-qualities)
|
byte-native-qualities)
|
||||||
|
(comp-ctxt-driver-options comp-ctxt) (alist-get 'comp-native-driver-options
|
||||||
|
byte-native-qualities)
|
||||||
(comp-ctxt-top-level-forms comp-ctxt)
|
(comp-ctxt-top-level-forms comp-ctxt)
|
||||||
(cl-loop
|
(cl-loop
|
||||||
for form in (reverse byte-to-native-top-level-forms)
|
for form in (reverse byte-to-native-top-level-forms)
|
||||||
|
|
|
@ -516,6 +516,7 @@ typedef struct {
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EMACS_INT speed;
|
EMACS_INT speed;
|
||||||
EMACS_INT debug;
|
EMACS_INT debug;
|
||||||
|
Lisp_Object driver_options;
|
||||||
gcc_jit_context *ctxt;
|
gcc_jit_context *ctxt;
|
||||||
gcc_jit_type *void_type;
|
gcc_jit_type *void_type;
|
||||||
gcc_jit_type *bool_type;
|
gcc_jit_type *bool_type;
|
||||||
|
@ -4333,7 +4334,7 @@ DEFUN ("comp-native-driver-options-effective-p",
|
||||||
static void
|
static void
|
||||||
add_driver_options (void)
|
add_driver_options (void)
|
||||||
{
|
{
|
||||||
Lisp_Object options = Fsymbol_value (Qcomp_native_driver_options);
|
Lisp_Object options = comp.driver_options;
|
||||||
|
|
||||||
#if defined (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option) \
|
#if defined (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option) \
|
||||||
|| defined (WINDOWSNT)
|
|| defined (WINDOWSNT)
|
||||||
|
@ -4400,6 +4401,7 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file,
|
||||||
eassert (comp.speed < INT_MAX);
|
eassert (comp.speed < INT_MAX);
|
||||||
comp.debug = XFIXNUM (CALL1I (comp-ctxt-debug, Vcomp_ctxt));
|
comp.debug = XFIXNUM (CALL1I (comp-ctxt-debug, Vcomp_ctxt));
|
||||||
eassert (comp.debug < INT_MAX);
|
eassert (comp.debug < INT_MAX);
|
||||||
|
comp.driver_options = CALL1I (comp-ctxt-driver-options, Vcomp_ctxt);
|
||||||
|
|
||||||
if (comp.debug)
|
if (comp.debug)
|
||||||
gcc_jit_context_set_bool_option (comp.ctxt,
|
gcc_jit_context_set_bool_option (comp.ctxt,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue