• Show log

    Commit

  • Hash : 92aa527a
    Author : Werner Lemberg
    Date : 2005-05-23T21:33:02

    * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk (CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove -fno-strict-aliasing. Say you have `(Foo*)x' and want to assign, pass, or return it as `(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler would warn you that type casting incompatible pointer types breaks strict-aliasing. The solution is to cast to `(void*)' instead which is the generic pointer type, so the compiler knows that it should make no strict-aliasing assumption on `x'. But the problem with `(void*)x' is that seems like in C++, unlike C, `void*' is not a generic pointer type and assigning `void*' to `Bar*' without a cast causes an error. The solution is to cast to `Bar*' too, with `(Bar*)(void*)x' as the result -- this is what the patch does. * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove cast on lvalue, use a temporary pointer instead. Cast temporarily to (void*) to not break strict aliasing. * include/freetype/internal/ftmemory.h (FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE), src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*) to not break strict aliasing. * src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information. * builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing. * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c -- it is currently loaded from ttsbit.c. Other formatting.

  • README

  •   Special notes to Unix users
      ===========================
    
      Please  read  the file  "docs/UPGRADE.UNX".   It contains  important
      information regarding the installation  of FreeType on Unix systems,
      especially GNU based operating systems like GNU/Linux.
    
      FreeType 2's  library is called `libfreetype',  FreeType 1's library
      is called `libttf'.  They are *not* compatible!
    
    
      FreeType 2.1.10
      ===============
    
      Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION.
    
      Read the files "docs/INSTALL" for installation instructions.
    
      Note  that  the FreeType  2  documentation  is  now available  as  a
      separate package from our sites.  See:
    
        ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.bz2
        ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.gz
        ftp://ftp.freetype.org/freetype/freetype2/ftdoc2110.zip
    
    
      Bugs
      ====
    
      Please report bugs by  e-mail to `devel@freetype.org'.  Don't forget
      to send  a detailed explanation of  the problem --  there is nothing
      worse  than receiving  a terse  message that  only says  "it doesn't
      work".
    
    
      Enjoy!
    
    
        The FreeType Team