Go to file
Werner Lemberg 92aa527a1c * 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.
2005-05-23 21:33:02 +00:00
builds * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk 2005-05-23 21:33:02 +00:00
devel * include/freetype/config/ftoption.h: commenting the definition of 2005-04-03 22:09:41 +00:00
docs * docs/CHANGES: Updated. 2005-05-20 21:52:19 +00:00
include * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk 2005-05-23 21:33:02 +00:00
objs updated 2003-06-18 07:06:54 +00:00
src * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk 2005-05-23 21:33:02 +00:00
.cvsignore Formatting. 2000-10-31 19:42:53 +00:00
autogen.sh * docs/TODO: Updated. 2005-04-13 18:12:36 +00:00
ChangeLog * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk 2005-05-23 21:33:02 +00:00
configure * configure: Output more variables to the created Makefile so that 2005-02-13 05:46:50 +00:00
Jamfile * Jamfile: removing otvalid from the list of compiled modules 2005-05-01 10:11:32 +00:00
Jamrules * doc/INSTALL.UNX: Cleaned up. 2003-04-21 13:30:27 +00:00
Makefile * Makefile, configure, */*.mk, builds/unix/unix-def.in, 2002-06-14 08:09:25 +00:00
README * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close 2004-08-11 05:25:37 +00:00
README.CVS * autogen.sh: New script for bootstrapping. 2005-03-05 17:05:35 +00:00
vms_make.com * vms_make.com: Add ftbitmap.obj. 2004-12-15 06:37:03 +00:00

  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