Date: Mon, 17 Mar 2003 14:28:17 +0200 (EET) From: Esa A E Peuha Sender: peuha AT sirppi DOT helsinki DOT fi To: DJGPP workers Subject: Re: gcc 3.3 pre-release and DJGPP CVS: src/libc In-Reply-To: <3E7377CE.81DA3631@phekda.freeserve.co.uk> Message-ID: References: <3E7377CE DOT 81DA3631 AT phekda DOT freeserve DOT co DOT uk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sat, 15 Mar 2003, Richard Dawe wrote: > There are a few warnings for src/libc. It seems gcc doesn't appreciate a good > pun. Output below. > > Bye, Rich =] > > -- > Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ] Please don't include anything below your signature; most mail programs want to strip the signature delimiter and everything below it when replying. > make.exe: Entering directory `c:/develop/djgpp.rw2/src/libc/ansi/stdio' > gcc ... -c doprnt.c > doprnt.c: In function `_doprnt': > doprnt.c:282: warning: dereferencing type-punned pointer will break > strict-aliasing rules > doprnt.c: In function `isspeciall': > doprnt.c:900: warning: dereferencing type-punned pointer will break > strict-aliasing rules > make.exe: *** [doprnt.o] Error 1 > make.exe: Target `all' not remade because of errors. > make.exe: Leaving directory `c:/develop/djgpp.rw2/src/libc/ansi/stdio' I think these should use union wrappers to avoid the warning (assuming that gcc won't complain about cast to union pointer from member type pointer). > make.exe: Entering directory `c:/develop/djgpp.rw2/src/libc/compat/stdio' > gcc ... -c tempnam.c > tempnam.c:16: warning: `x8len' defined but not used > make.exe: *** [tempnam.o] Error 1 > make.exe: Target `all' not remade because of errors. > make.exe: Leaving directory `c:/develop/djgpp.rw2/src/libc/compat/stdio' So do we remove x8len or change the literal 8 on line 50 to x8len? > make.exe: Entering directory `c:/develop/djgpp.rw2/src/libc/go32' > gcc ... -c goqmem.c > goqmem.c: In function `_go32_dpmi_remaining_physical_memory': > goqmem.c:7: warning: dereferencing type-punned pointer will break > strict-aliasing rules > goqmem.c: In function `_go32_dpmi_remaining_virtual_memory': > goqmem.c:16: warning: dereferencing type-punned pointer will break > strict-aliasing rules > make.exe: *** [goqmem.o] Error 1 > make.exe: Target `all' not remade because of errors. > make.exe: Leaving directory `c:/develop/djgpp.rw2/src/libc/go32' Now this is interesting. :-) These are calls to _go32_dpmi_get_free_memory_information which is _supposed_ to take a pointer to _go32_dpmi_meminfo as argument, but dpmi.h defines _go32_dpmi_get_free_memory_information as __dpmi_get_free_memory_information which wants pointer to __dpmi_free_mem_info; there seems to be no solution other than avoiding _go32_dpmi_get_free_memory_information altogether. -- Esa Peuha student of mathematics at the University of Helsinki http://www.helsinki.fi/~peuha/