From: Andrea Corallo Date: Tue, 15 Sep 2020 07:05:14 +0000 (+0200) Subject: * Better error handling after calling 'gcc_jit_context_compile_to_file' X-Git-Tag: emacs-28.0.90~2727^2~435 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5b41545f1be367837d9ac717ea67fba19a4c24d4;p=emacs.git * Better error handling after calling 'gcc_jit_context_compile_to_file' Tipically errors are catched in 'compile_function' but in case libgccjit throw an error only afterwards while compiling the whole compilation unit we have to report it correctly. * src/comp.c (Fcomp__compile_ctxt_to_file): Catch libgccjit errors after calling 'gcc_jit_context_compile_to_file'. --- diff --git a/src/comp.c b/src/comp.c index b3640b5e378..15d85d30fcb 100644 --- a/src/comp.c +++ b/src/comp.c @@ -4391,6 +4391,13 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file, GCC_JIT_OUTPUT_KIND_DYNAMIC_LIBRARY, SSDATA (tmp_file)); + const char *err = gcc_jit_context_get_first_error (comp.ctxt); + if (err) + xsignal3 (Qnative_ice, + build_string ("failed to compile"), + file_name, + build_string (err)); + CALL1I (comp-clean-up-stale-eln, file_name); CALL2I (comp-delete-or-replace-file, file_name, tmp_file);