https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109214

--- Comment #1 from rouca <rouca at debian dot org> ---
According to my C standard:


  6.3.2.3 Pointers
    1 A pointer to void may be converted to or from a pointer to any incomplete
or object
    type. A pointer to any incomplete or object type may be converted to a
pointer to void
    and back again; the result shall compare equal to the original pointer.
    [...]
    8. A pointer to a function of one type may be converted to a pointer to a
function of    another
      type and back again; the result shall compare equal to the original
pointer. If a converted
      pointer is used to call a function whose type is not compatible with the
pointed-to type,
      the behavior is undefined


Note that I work due to implementation of J - Portability issues, §J.5.7
Function pointer cast (informative)

J.5.7 Function pointer casts
1 A pointer to an object or to void may be cast to a pointer to a function,
allowing data to
be invoked as a function (6.5.4).
2 A pointer to a function may be cast to a pointer to an object or to void,
allowing a
function to be inspected or modified (for example, by a debugger) (6.5.4).

Reply via email to