[cxx] Make the externC of icalls configuration-dependent instead of always. (#17573)
commit5237696f65cda0f079562838990b4effd4d65eee
authorJay Krell <jaykrell@microsoft.com>
Tue, 14 Jan 2020 18:28:54 +0000 (14 10:28 -0800)
committerAlexander Köplinger <alex.koeplinger@outlook.com>
Tue, 14 Jan 2020 18:28:54 +0000 (14 19:28 +0100)
treeed6ce9a06b54f28432f9b45346cd224378a134c3
parent08bb5660f6b2cc87ec59fb77c01a1f8cdeda183f
[cxx] Make the externC of icalls configuration-dependent instead of always. (#17573)

There are pluses and minuses here:

 + Minimize externC.

 + Maximimze typesafe linkage.

 - Minimize configuration-sensitivity.

 - Maximize commonality across all configurations, so that
   success in one configuration maximally but not 100% implies
   success in others (which is why to avoid `#if` in general,
   to contribute toward compilation success).

 + Use higher level macros to explain reason.
   Even if ICALL_EXTERN_C was always externC (presently not),
   using it instead of plain G_EXTERN_C offers a builtin comment.
mono/mini/jit-icalls.h