diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2017-06-13 18:19:30 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2017-06-13 18:20:07 -0700 |
commit | 27bb4de72bedaa5fdecae24069ea7db1cfd0b5d4 (patch) | |
tree | a486e05371d45dbc76376bcefc64aceff6485b8d /src/emacs-module.c | |
parent | 510a67428071ef06375c75506bdc6afa151f4c91 (diff) | |
download | emacs-27bb4de72bedaa5fdecae24069ea7db1cfd0b5d4.tar.gz |
Port cleanup attribute to Oracle Studio 12.5
* INSTALL (--with-modules): List cleanup attribute as prereq.
* src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
* src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
(__has_attribute (cleanup)), as Oracle Studio 12.5 supports
__has_attribute only inside preprocessor expressions. The C
compiler should check the cleanup attribute in the next line anyway.
(module_reset_handlerlist): Remove an unnecessary ‘const’
that causes Oracle Studio 12.5 to refuse to compile.
Diffstat (limited to 'src/emacs-module.c')
-rw-r--r-- | src/emacs-module.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/emacs-module.c b/src/emacs-module.c index 9be481a271e..de62329b3b8 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c @@ -127,7 +127,7 @@ static void module_non_local_exit_signal_1 (emacs_env *, static void module_non_local_exit_throw_1 (emacs_env *, Lisp_Object, Lisp_Object); static void module_out_of_memory (emacs_env *); -static void module_reset_handlerlist (struct handler *const *); +static void module_reset_handlerlist (struct handler **); /* We used to return NULL when emacs_value was a different type from Lisp_Object, but nowadays we just use Qnil instead. Although they @@ -191,7 +191,6 @@ static struct emacs_env_private global_env_private; module_out_of_memory (env); \ return retval; \ } \ - verify (__has_attribute (cleanup)); \ struct handler *c __attribute__ ((cleanup (module_reset_handlerlist))) \ = c0; \ if (sys_setjmp (c->jmp)) \ @@ -1144,7 +1143,7 @@ mark_modules (void) function to be called automatically. PHANDLERLIST points to a word containing the handler list, for sanity checking. */ static void -module_reset_handlerlist (struct handler *const *phandlerlist) +module_reset_handlerlist (struct handler **phandlerlist) { eassert (handlerlist == *phandlerlist); handlerlist = handlerlist->next; |