Comment 5 for bug 885802

Revision history for this message
Andrew Johnson (anj) wrote :

There is no requirement in the C++ standard that the ABI calling convention for a C-language function be compatible with that for a C++-language function, only that both be supported by the compiler, controlled by the language linkage declared for that function. The ABI implementations you are used to don't distinguish between the two and this is actually also true of the Solaris ABI as well, but the SunPro compiler is giving warnings because this could be a portability issue.
    https://stackoverflow.com/questions/19422857/
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=2316

I tried using argument overloading but gcc gives a multiple definition error (it doesn't even distinguish between the two function pointer types, see the above bugzilla link).

I added the exception handling to make it possible to remove similar code elsewhere, although Base-3.15 only has one C++ file outside of the test programs that calls epicsThreadCreate().