Hi, It was reported to me by my colleague Doug Felt (CC'ed) that FT_MulFix takes FT_Long parameters as defined in freetype.h, but several inline implementations of it in ftcalc.h take FT_Int32 arguments. I imagine this might have historical reasons, but it's something that would be good to address.
Regardless of the history, this is causing compile warnings on x86-64 when parameters of type FT_Fixed (=FT_Long) are passed to this function when the inline implementations are used, as integer values are truncated from 64bit to 32bit. Perhaps a patch like this (untested): diff --git a/include/internal/ftcalc.h b/include/internal/ftcalc.h index d4023fa..1a98a8f 100644 --- a/include/internal/ftcalc.h +++ b/include/internal/ftcalc.h @@ -241,7 +241,7 @@ FT_BEGIN_HEADER #ifdef FT_CONFIG_OPTION_INLINE_MULFIX #ifdef FT_MULFIX_ASSEMBLER -#define FT_MulFix( a, b ) FT_MULFIX_ASSEMBLER( a, b ) +#define FT_MulFix( a, b ) FT_MULFIX_ASSEMBLER( (FT_Int32)(a), (FT_Int32)(b) ) #endif #endif Thanks -- behdad http://behdad.org/ _______________________________________________ Freetype-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/freetype-devel
