• Martin Storsjö's avatar
    configure: Downgrade -Wincompatible-function-pointer-types to a warning on ARM. · 59b5b79c
    Martin Storsjö authored
    Clang 16 is defaulting -Wincompatible-function-pointer-types to
    an error instead of a warning. This isn't an issue for most of Wine,
    but the error shows up in a lot of cases if doing a non-PE build for
    ARM (32 bit, 64 has no such issues), in particular around the integration
    of libxml2 and faudio.
    
    The root cause of the issue is that some functions are specified with
    e.g. __attribute__((pcs("aapcs-vfp"))) - which is equal to the
    default calling convention when compiling with -mfloat-abi=hard - but
    Clang's warning doesn't treat such function pointers as equal. (This
    could maybe be considered a bug or limitation in Clang though.)
    
    There's also some smaller amount of cases where our attributes
    actually do conflict, where we mix __attribute__((pcs("aapcs"))), i.e.
    arm softfloat calling convention, with the default calling convention
    (which is set to hardfloat), but they drown in the noise from the
    other ones.
    
    Therefore, on arm, try to downgrade this diagnostic back to a warning,
    not an error - while keeping the warnings visible.
    Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
    59b5b79c
configure 704 KB