• Zebediah Figura's avatar
    widl: Generate "static inline" instead of "static FORCEINLINE" for COM inline wrappers. · e654b631
    Zebediah Figura authored
    mingw-w64 defines __forceinline (and therefore FORCEINLINE) as
    "extern __inline__ __attribute__((__always_inline__,__gnu_inline__)). This means
    that COM inline wrappers specify multiple storage classes and hence cannot be
    compiled.
    
    Wine defines FORCEINLINE simply as "inline" (and uses "static" everywhere), so
    this is a non-issue for Wine. However, since Wine and mingw-w64 share the source
    code of widl and of most IDL headers, this patch changes the definition for both
    projects.
    
    There's no reason to force inlining here, especially since the wrappers need to
    be manually enabled, and we don't need to match PSDK semantics where these
    wrappers don't even exist.
    
    In practice, use "__inline__" instead of "inline" for GNU C targets, to preserve
    compatibility with C89 in mingw-w64 headers.
    e654b631
header.c 72.4 KB