X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f X-Recipient: djgpp-workers AT delorie DOT com Message-ID: <484E986F.3010006@iki.fi> Date: Tue, 10 Jun 2008 18:06:23 +0300 From: Andris Pavenis User-Agent: Thunderbird 2.0.0.14 (X11/20080501) MIME-Version: 1.0 To: djgpp-workers AT delorie DOT com Subject: Re: Difficulties compiling emu387.cc with gcc 4.3.0 References: <200806092058 DOT 05925 DOT juan DOT guerrero AT gmx DOT de> <484D91C2 DOT 1050004 AT iki DOT fi> <200806100913 DOT 00759 DOT juan DOT guerrero AT gmx DOT de> In-Reply-To: <200806100913.00759.juan.guerrero@gmx.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Juan Manuel Guerrero wrote: > Am Montag, 9. Juni 2008 22:25 schrieben Sie: >>> I have tried to compile today's CVS sources and I have run into a problem. >>> I am using gcc 4.3.0 and bnu217br2. The sources can only be compiled if >>> Andris' patches to emu387.cc and ieeefp.h are applied (see >>> >>> >> Not committed because I don't know whether it is correct. Perhaps >> somebody who know emu387.cc >> better could say more > > The fix seems logical/right comparing the "offending" lines with somilar code > lines, but that is not really a good argument. On the other hand, I think the > original author of the code will not come to our help, so some day a decision > must be taken. In the worst case, if it the patch is applied, the code is brocken > again or brocken in a different way. > I did not study code in too much detail. Only saw how it was done in other places. We are normally not testing with FPU emulation any more, so one will even not see if something goes wrong > > [snip] >>> the compilation of emu387.cc fails with the following error message: >>> >>> >>> ./makemake.exe >>> makemake: scanning libemu for makefiles >>> C:/djgpp/bin/make.exe -f makefile.sub >>> C:/djgpp/bin/make.exe -C src >>> gcc -MD -O2 -mtune=i586 -march=i386 -Wall -Wcast-qual -Werror -Wpointer-arith -Wshadow -Wwrite-strings -Wundef -Wcast-align -Wsign-compare -nostdinc -iquote . -isystem ../../../include -DGAS_MAJOR=2 -DGAS_MINOR=17 -DGAS_MINORMINOR=0 -c -fno-exceptions emu387.cc >>> cc1plus.exe: warnings being treated as errors >>> emu387.cc: In function 'void fsqrt()': >>> emu387.cc:2366: error: likely type-punning may break strict-aliasing rules: object '*{unknown}' of main type 'long int' is referenced at or around emu387.cc:2366 and may be aliased to object 'result' of main type 'long long unsigned int' which is referenced at or around emu387.cc:2357. >>> emu387.cc:2371: error: likely type-punning may break strict-aliasing rules: object '*{unknown}' of main type 'unsigned int' is referenced at or around emu387.cc:2371 and may be aliased to object 'val' of main type 'long long unsigned int' which is referenced at or around emu387.cc:2356. >>> make.exe[3]: *** [emu387.o] Error 1 >>> make.exe[2]: *** [all_subs] Error 2 >>> make.exe[1]: *** [all] Error 2 >>> make.exe: *** [subs] Error 2 >>> >>> >> Compiles for me with GCC-4.3.1 when my attached patch is being used. > > Using your new patch it still fails in the same way as told before. I will wait > until you make available gcc 4.3.1 and test again to see if my installation is > brocken. http://ap1.pp.fi/djgpp/gcc/4.3.1/ I have not yet written web page for it but files are there. Andris