• Paul Eggert's avatar
    Port to Oracle Developer Studio 12.6 · 69947311
    Paul Eggert authored
    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
    (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_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.
emacs-module.c 42.7 KB