freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] ft_setjmp in Codewarrior


From: mpsuzuki
Subject: Re: [ft-devel] ft_setjmp in Codewarrior
Date: Sun, 9 Nov 2008 01:36:07 +0900

On Sat, 08 Nov 2008 17:13:14 +0100 (CET)
Werner LEMBERG <address@hidden> wrote:

>
>> a) Compile ftobjs.c (or ftbase.c) with "-relax_pointers".
>> b) Insert "#pragma mpwc_relax" with appropriate conditionals (to
>>    avoid this pragma to other compilers).
>> c) Use "volatile void*" instead of "volatile jmp_buf*".
>> 
>> I guess, a) is not good workaround for CodeWarrior users.  Because,
>> CodeWarrior project does not support per-file compile options, so
>> the developers using CW project file would compile most sources with
>> "-relax_pointers", it makes difficult to find other unexpected
>> pointer casting.
>> 
>> b) is appropriate-level workaround (the modification is restricted
>> to the problematic part only), but it's questionable to insert
>> legacy-platform-specific workaround in generic source file ftobjs.c.
>> 
>> c) is compiler-independent and generic workaround, but its impact
>> (against the optimizer) can be slightly large.  At present, I've
>> checked the assembly outputs by a few C compilers, and I didn't find
>> no difference between "volatile jmp_buf*" versus "volatile void*".
>
>For me, solution (b) seems easiest.  What about moving the jmp_buf
>stuff to a separate file so that it can be easily overridden in
>builds/mac?  Note, however, that my opinion is just a `feeling', not
>based on any facts.

Thank you for comment. Yet I'm not sure if jmp_buf stuffs should
be separated /or volatile stuffs should be separated, I agree
with your idea: the separation of problematic part to individual
file and workaround should be stored in builds/mac, because this
issue is only found in legacy SDK for legacy platform, at present.
Anyway, I will propose a patch to separate jmp_buf.

Regards,
mpsuzuki




reply via email to

[Prev in Thread] Current Thread [Next in Thread]