summaryrefslogtreecommitdiff
path: root/src/emacs-module.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-04-25 13:21:39 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-04-25 13:23:07 -0700
commit69947311d84a2572e8382e401ab97fdab25cb433 (patch)
tree7c14a5e0a0566c9a053a1e99d37a6a076d9996b7 /src/emacs-module.c
parentca99c00f7574d72cd6d07dbfe0c3011f033ba5e8 (diff)
downloademacs-69947311d84a2572e8382e401ab97fdab25cb433.tar.gz
Port to Oracle Developer Studio 12.6
This compiler is a bit pickier about checking conformance to the C standard, ranging from syntax trivia (no extra ";" at the top level) to portability trivia (warnings re conversion between function and data pointers) to more-important stuff like lack of support for some __attribute__ usages. * src/dynlib.c (dynlib_addr): First argument is a function pointer, not a data pointer. All callers changed. * src/emacs-module.c (module_function_address): Return module_funcptr, not void *. All uses changed. * src/lisp.h (module_funcptr) [HAVE_MODULES]: New type. * src/lread.c (union ieee754_double): Don’t assume the usual semantics for converting signed to unsigned int when initializing a bitfield, as the Oracle compiler complains and the C standard is unclear. * src/pdumper.c (ALLOW_IMPLICIT_CONVERSION): Make it clearer that -Wsign-conversion is disabled everywhere in this file. (dump_trace, dump_tailq_prepend, dump_tailq_append): Don’t assume __attribute__. (dump_object_self_representing_p): Don’t disable conversion warnings; it’s not needed here. (DEFINE_FROMLISP_FUNC): Avoid possible signal in integer conversion from unsigned to signed. (DEFINE_FROMLISP_FUNC, finish_dump_pvec): Avoid warning about unreachable statements on platforms not supporting the __attribute__. (intmax_t_from_lisp, intmax_t_to_lisp, dump_off_from_lisp) (dump_off_to_lisp, dump_emacs_reloc_immediate_lv) (dump_emacs_reloc_immediate_ptrdiff_t) (dump_emacs_reloc_immediate_intmax_t) (dump_emacs_reloc_immediate_int, dump_emacs_reloc_immediate_bool): Omit stray semicolon that violates C standard. (dump_metadata_for_pdumper): Add cast to pacify compiler complaining about conversion from function pointer to data pointer. (Fdump_emacs_portable): Do not use CALLN to call a function with zero arguments, as C99 prohibits empty initializers. * src/xdisp.c (syms_of_xdisp): Do not nest calls to pure_list, to work around a bug in Oracle Developer Studio 12.6.
Diffstat (limited to 'src/emacs-module.c')
-rw-r--r--src/emacs-module.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emacs-module.c b/src/emacs-module.c
index 0b7b3d6ffbe..80a04bafc2d 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -934,10 +934,10 @@ module_function_documentation (const struct Lisp_Module_Function *function)
return function->documentation;
}
-void *
+module_funcptr
module_function_address (const struct Lisp_Module_Function *function)
{
- return function->subr;
+ return (module_funcptr) function->subr;
}