diff options
author | Stefan Kangas <stefan@marxist.se> | 2021-12-03 06:30:26 +0100 |
---|---|---|
committer | Stefan Kangas <stefan@marxist.se> | 2021-12-03 06:30:26 +0100 |
commit | c66eb524537f98667507024e5f21e0b24038c964 (patch) | |
tree | a1eb41cf4585796fb43a0b2c51b177cbb1bf9b37 /src/alloc.c | |
parent | 67191f7eee3f2a4e83897c3d820f8c13c629dedb (diff) | |
parent | 9c222b9c1a7f91497a37567b4d7de3a511fff069 (diff) | |
download | emacs-c66eb524537f98667507024e5f21e0b24038c964.tar.gz emacs-c66eb524537f98667507024e5f21e0b24038c964.tar.bz2 emacs-c66eb524537f98667507024e5f21e0b24038c964.zip |
Merge from origin/emacs-28
9c222b9c1a Port to C compilers that lack size-0 arrays
fed35a8951 Port emacsclient to Solaris 10
f35d6a9c73 * CONTRIBUTE: Improve commit message instructions
e0ee1d003a Work around IBM XL C compiler bug
6b99b6eb8b * admin/make-tarball.txt: Various clarifications.
bbf4140091 * admin/diff-tar-files: Don't assume .tar.gz.
0a50ad11db * lisp/tab-bar.el (tab-bar-close-other-tabs): Fix regression.
Diffstat (limited to 'src/alloc.c')
-rw-r--r-- | src/alloc.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/alloc.c b/src/alloc.c index f8908c91dba..55c30847bbf 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -3160,26 +3160,26 @@ cleanup_vector (struct Lisp_Vector *vector) module_finalize_function (function); } #endif - else if (NATIVE_COMP_FLAG - && PSEUDOVECTOR_TYPEP (&vector->header, PVEC_NATIVE_COMP_UNIT)) +#ifdef HAVE_NATIVE_COMP + else if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_NATIVE_COMP_UNIT)) { struct Lisp_Native_Comp_Unit *cu = PSEUDOVEC_STRUCT (vector, Lisp_Native_Comp_Unit); unload_comp_unit (cu); } - else if (NATIVE_COMP_FLAG - && PSEUDOVECTOR_TYPEP (&vector->header, PVEC_SUBR)) + else if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_SUBR)) { struct Lisp_Subr *subr = PSEUDOVEC_STRUCT (vector, Lisp_Subr); - if (!NILP (subr->native_comp_u[0])) + if (!NILP (subr->native_comp_u)) { /* FIXME Alternative and non invasive solution to this cast? */ xfree ((char *)subr->symbol_name); - xfree (subr->native_c_name[0]); + xfree (subr->native_c_name); } } +#endif } /* Reclaim space used by unmarked vectors. */ @@ -6785,15 +6785,17 @@ mark_object (Lisp_Object arg) break; case PVEC_SUBR: +#ifdef HAVE_NATIVE_COMP if (SUBR_NATIVE_COMPILEDP (obj)) { set_vector_marked (ptr); struct Lisp_Subr *subr = XSUBR (obj); mark_object (subr->native_intspec); - mark_object (subr->native_comp_u[0]); - mark_object (subr->lambda_list[0]); - mark_object (subr->type[0]); + mark_object (subr->native_comp_u); + mark_object (subr->lambda_list); + mark_object (subr->type); } +#endif break; case PVEC_FREE: |