Skip to content
  • Herbert Valerio Riedel's avatar
    RTS: Fix & refactor "portable inline" macros · 882179de
    Herbert Valerio Riedel authored
    Turns out the current macros for gnu90-style inline
    semantics stopped working with GCC 5
    (and possibly also with Apple's GCC) which switched on
    `__GNUC_STDC_INLINE__` by default falling back to using the
    suboptimal `static inline` mode.
    
    However, C99 supports an equivalent (as far as our
    use-case is concerned) `extern inline` mode.
    
    See also
    http://www.greenend.org.uk/rjk/tech/inline.html
    for a write-up of gnu90 vs C99 semantics.
    
    This patch also removes the MSVC case as VS2015 is supposed
    to finally catch up to C99 (and C11), so we don't need any
    special care for MSVC anymore.
    
    Reviewed By: erikd, austin
    
    Differential Revision: https://phabricator.haskell.org/D2039
    882179de