[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ft-cvs] freetype2 ./ChangeLog builds/amiga/makefile.os4...
From: |
Werner LEMBERG |
Subject: |
[ft-cvs] freetype2 ./ChangeLog builds/amiga/makefile.os4... |
Date: |
Mon, 23 May 2005 17:33:02 -0400 |
CVSROOT: /cvsroot/freetype
Module name: freetype2
Branch:
Changes by: Werner LEMBERG <address@hidden> 05/05/23 21:33:02
Modified files:
. : ChangeLog
builds/amiga : makefile.os4
builds/compiler: gcc-dev.mk gcc.mk
builds/unix : configure.ac
include/freetype/cache: ftccache.h ftcmru.h
include/freetype/internal: ftmemory.h
src/base : ftglyph.c ftinit.c
src/cache : ftccache.c ftcsbits.c
src/sfnt : rules.mk
Log message:
* 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.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/ChangeLog.diff?tr1=1.1046&tr2=1.1047&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/builds/amiga/makefile.os4.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/builds/compiler/gcc-dev.mk.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/builds/compiler/gcc.mk.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/builds/unix/configure.ac.diff?tr1=1.28&tr2=1.29&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/include/freetype/cache/ftccache.h.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/include/freetype/cache/ftcmru.h.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/include/freetype/internal/ftmemory.h.diff?tr1=1.38&tr2=1.39&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/src/base/ftglyph.c.diff?tr1=1.67&tr2=1.68&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/src/base/ftinit.c.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/src/cache/ftccache.c.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/src/cache/ftcsbits.c.diff?tr1=1.57&tr2=1.58&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/freetype/freetype2/src/sfnt/rules.mk.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [ft-cvs] freetype2 ./ChangeLog builds/amiga/makefile.os4...,
Werner LEMBERG <=