(object (*)()) vs (long (*)())
Greetings! I'm maintaining gcl, which, fortunately or not, relies on
being able to cast function results back and forth from long to void
*. (The 'object' above is a pointer to a union). This works
everywhere except on m68k, where I can stop at a certain point in a
debugger, and get different results for (*f)(a,b), and
(object)(*(long (*)())f)(a,b), where f is declared object (*f)().
I hate to have to work around this on all architectures just because
of m68k, as was apparently done in earlier gcl versions. Is there a
compiler switch, or function prototype declaration, or some other
means whereby I can get the same results from the above two calls on
this platform?
Take care,
--
Camm Maguire camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
Reply to: