Edit

kc3-lang/freetype/src/base/ftbase.c

Branch :

  • Show log

    Commit

  • Author : Alexei Podtelezhnikov
    Date : 2025-04-09 13:37:23
    Hash : 8f67545d
    Message : [base] Update FT_MulFix inlining. Resolves inconsistencies in 64-bit multiplication discussed in !355. Importantly, FT_MulFix arguments and return value is FT_Long, whatever sizeof FT_Long is on 64-bit platforms: 8 bytes on Linux or 4 bytes on Windows. * include/freetype/internal/ftcalc.h (FT_MulFix_x86_64): Removed. (FT_MulFix_64): Generalize and prioritize the inline implementation for all 64-bit platforms ifdef FT_INT64. * src/base/ftcalc.c (FT_MulFix)[FT_INT64]: Call 'FT_MulFix_64'. * src/base/ftbase.c: Include 'ftcalc.c' after the FT_MulFix callers to enable its inlining.

  • src/base/ftbase.c
  • /****************************************************************************
     *
     * ftbase.c
     *
     *   Single object library component (body only).
     *
     * Copyright (C) 1996-2024 by
     * David Turner, Robert Wilhelm, and Werner Lemberg.
     *
     * This file is part of the FreeType project, and may only be used,
     * modified, and distributed under the terms of the FreeType project
     * license, LICENSE.TXT.  By continuing to use, modify, or distribute
     * this file you indicate that you have read the license and
     * understand and accept it fully.
     *
     */
    
    
    #define  FT_MAKE_OPTION_SINGLE_OBJECT
    
    #include "ftadvanc.c"
    #include "ftcolor.c"
    #include "ftdbgmem.c"
    #include "fterrors.c"
    #include "ftfntfmt.c"
    #include "ftgloadr.c"
    #include "fthash.c"
    #include "ftlcdfil.c"
    #include "ftmac.c"
    #include "ftobjs.c"
    #include "ftoutln.c"
    #include "ftpsprop.c"
    #include "ftrfork.c"
    #include "ftsnames.c"
    #include "ftstream.c"
    #include "fttrigon.c"
    #include "ftcalc.c"  /* included after FT_MulFix callers to inline it */
    #include "ftutil.c"
    
    
    /* END */