Mail Archives: djgpp-workers/2003/07/19/12:28:47
--part1_1c1.cb7fc3b.2c4abf18_boundary
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
--part1_1c1.cb7fc3b.2c4abf18_boundary
Content-Type: message/rfc822
Content-Disposition: inline
Return-path: <Kbwms AT aol DOT com>
From: Kbwms AT aol DOT com
Full-name: Kbwms
Message-ID: <183 DOT 1e20fe79 DOT 2c4abe6e AT aol DOT com>
Date: Sat, 19 Jul 2003 11:31:58 EDT
Subject: Re: Changes to Files in Archive djtst203.zip
To: rich AT phekda DOT freeserve DOT co DOT uk
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="part2_1c1.cb7fc3b.2c4abe6e_boundary"
X-Mailer: 8.0 for Windows sub 6011
--part2_1c1.cb7fc3b.2c4abe6e_boundary
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
Rich:
The problems seems to be connected with math.h. Suggest you implement the
makefile change only since the change to qhead.h in subdirectory tgen/qfloat is
purely cosmetic. Later, we can implement the change to qhead.h.
There is a conflict between ieeefp.h and math.h that involves a definition of
isnanf(). See line 76 in ieeefp.h and line 149 in math.h. The means that
the order of inclusion matters -- something that we are supposed to avoid
altogether.
I have been working in the cygnus/tgen/qfloat subdirectories for weeks and
have no such difficulties.
KB Williams
In a message dated 7/19/2003 8:36:54 AM Eastern Standard Time,
rich AT phekda DOT freeserve DOT co DOT uk writes:
> Hello.
>
> DJGPP wrote:
> >
> >All,
> >
> >This change does not appear to have been committed yet. Did I miss
> something
> >as to why not?
> >
> >Thanks,
> >Andrew
> >
> >-----Original Message-----
> >From: Kbwms AT aol DOT com [mailto:Kbwms AT aol DOT com]
> >Sent: Monday, 9 June 2003 12:21 AM
> >To: djgpp-workers AT delorie DOT com
> >Subject: Changes to Files in Archive djtst203.zip
> >
> >This email pertains to source files in archive djtst203.zip. The sources
> at
> >issue reside in subdirectories of /djgpp/tests/cygnus/.
> >
> >KB Williams
> >
> >1. Replace the makefile in subdirectory tgen with the CVS version at
> >http://www.ludd.luth.se/~ams/djgpp/cvs/djgpp/tests/cygnus/tgen/makefile
> >
> > This makefile fixes a linker error associated with C++ compilations.
> >
> >2. To squelch initializer-error messages (startling but not fatal) when
> >compiling the sources in subdirectory qfloat of subdirectory tgen I made a
> >simple change to file qhead.h in qfloat.
> >
> >*** tests/cygnus/tgen/qfloat/qhead.h.old Sat Jun 7 19:40:56 2003
> >--- tests/cygnus/tgen/qfloat/qhead.h Sat Jun 7 17:24:24 2003
> >***************
> >*** 17,23 ****
> > #define EXPONE 0x8001
> >
> > /* Number of WORDSIZE-bit words in a q type number (12 or 24) */
> >! #define NQ 9 /* was 12 - ok */
> >
> > /* Number of words in significand area */
> > #define OMG (NQ-2)
> >--- 17,23 ----
> > #define EXPONE 0x8001
> >
> > /* Number of WORDSIZE-bit words in a q type number (12 or 24) */
> >! #define NQ 14 /* was 12 - ok */
> >
> > /* Number of words in significand area */
> > #define OMG (NQ-2)
>
> Unfortunately this causes problems. pow_vec.c and powf_vec.c appear to be
> misgenerated, when the above patch has been applied. I see lots of lines
> like
> "qlog singularity error" - e.g.:
>
> #include "test.h"
> one_line_type pow_vec[] = {
>
> qlog singularity error
>
> qmul overflow error
> {62, 0, 0,__LINE__, 0x00000000, 0x00000000, 0x3fc00000, 0x00000000,
> 0xc0733a71,
> 0x46f72a42,}, /* +0.0000E+00=F( +0.125, -307.7) */
>
> qlog singularity error
>
> qmul overflow error
> {62, 0, 0,__LINE__, 0x00000000, 0x00000000, 0x3fc00000, 0x00000000,
> 0xc072067d,
> 0x223a7520,}, /* +0.0000E+00=F( +0.125, -288.4) */
> ...
>
> Here are the errors I get, when building:
>
> gcc -D_USE_LIBM_MATH_H -D_HAVE_STDC -O2 -g -nostdinc
> -Ic:/DJGPP.GCC33/tests/cygnus -Ic:/DJGPP.GCC33/tests/cygnus/../../include
> -c
> -o pow_vec.o pow_vec.c
> In file included from c:/DJGPP.GCC33/include/math.h:9,
> from test.h:6,
> from pow_vec.c:1:
> c:/DJGPP.GCC33/include/libm/math.h:170: warning: conflicting types for
> built-in
> function `nan'
> c:/DJGPP.GCC33/include/libm/math.h:266: warning: conflicting types for
> built-in
> function `nanf'
> pow_vec.c:4: error: `qlog' undeclared here (not in a function)
> pow_vec.c:4: error: initializer element is not constant
> pow_vec.c:4: error: (near initialization for `pow_vec[0]')
> pow_vec.c:4: error: parse error before "singularity"
> pow_vec.c:7: error: initializer element is not constant
> pow_vec.c:7: error: (near initialization for `pow_vec[1].qs[0]')
> pow_vec.c:7: error: initializer element is not constant
> pow_vec.c:7: error: (near initialization for `pow_vec[1].qs[1]')
> pow_vec.c:7: error: initializer element is not constant
> pow_vec.c:7: error: (near initialization for `pow_vec[1].qs[2]')
> pow_vec.c:7: error: initializer element is not constant
> pow_vec.c:7: error: (near initialization for `pow_vec[1].qs')
> pow_vec.c:7: error: initializer element is not constant
> pow_vec.c:7: error: (near initialization for `pow_vec[1]')
> pow_vec.c:9: error: parse error before "singularity"
> make.exe: *** [pow_vec.o] Error 1
>
> This is when building with gcc 3.3, binutils 2.13.
>
> So I have not applied the patch above in DJGPP CVS.
>
> Incidentally, could someone fix these errors please? This is when building
> with gcc 3.3, binutils 2.13 in tests/cygnus.
>
> gcc -D_USE_LIBM_MATH_H -D_HAVE_STDC -O2 -g -nostdinc
> -Ic:/DJGPP.GCC33/tests/cygnus -Ic:/DJGPP.GCC33/tests/cygnus/../../include
> -c
> -o y0f_vec.o y0f_vec.c
> In file included from c:/DJGPP.GCC33/include/math.h:9,
> from test.h:6,
> from y0f_vec.c:1:
> c:/DJGPP.GCC33/include/libm/math.h:170: warning: conflicting types for
> built-in
> function `nan'
> c:/DJGPP.GCC33/include/libm/math.h:266: warning: conflicting types for
> built-in
> function `nanf'
>
> Thanks, bye, Rich =]
>
> --
> Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]
>
--part2_1c1.cb7fc3b.2c4abe6e_boundary
Content-Type: text/html; charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
<HTML><FONT FACE=3Darial,helvetica><FONT SIZE=3D3 FAMILY=3D"SERIF" FACE=3D"=
Georgia" LANG=3D"0">Rich:<BR>
<BR>
The problems seems to be connected with math.h. Suggest you implement=20=
the makefile change only since the change to qhead.h in subdirectory tgen/qf=
loat is purely cosmetic. Later, we can implement the change to qhead.h=
.<BR>
<BR>
There is a conflict between ieeefp.h and math.h that involves a definition o=
f isnanf(). See line 76 in ieeefp.h and line 149 in math.h. The=20=
means that the order of inclusion matters -- something that we are supposed=20=
to avoid altogether.<BR>
<BR>
I have been working in the cygnus/tgen/qfloat subdirectories for weeks and h=
ave no such difficulties.<BR>
<BR>
KB Williams<BR>
<BR>
<BR>
In a message dated 7/19/2003 8:36:54 AM Eastern Standard Time, rich AT phekda DOT f=
reeserve.co.uk writes:</FONT><FONT COLOR=3D"#000000" style=3D"BACKGROUND-CO=
LOR: #ffffff" SIZE=3D2 FAMILY=3D"SANSSERIF" FACE=3D"Arial" LANG=3D"0"><BR>
</FONT><FONT COLOR=3D"#000000" style=3D"BACKGROUND-COLOR: #ffffff" SIZE=3D2=
FAMILY=3D"SANSSERIF" FACE=3D"Arial" LANG=3D"0"><BR>
<BLOCKQUOTE TYPE=3DCITE style=3D"BORDER-LEFT: #0000ff 2px solid; MARGIN-LEFT=
: 5px; MARGIN-RIGHT: 0px; PADDING-LEFT: 5px">Hello.<BR>
<BR>
DJGPP wrote:<BR>
><BR>
>All,<BR>
><BR>
>This change does not appear to have been committed yet. Did I miss somet=
hing<BR>
>as to why not?<BR>
><BR>
>Thanks,<BR>
>Andrew<BR>
><BR>
>-----Original Message-----<BR>
>From: Kbwms AT aol DOT com [mailto:Kbwms AT aol DOT com]<BR>
>Sent: Monday, 9 June 2003 12:21 AM<BR>
>To: djgpp-workers AT delorie DOT com<BR>
>Subject: Changes to Files in Archive djtst203.zip<BR>
><BR>
>This email pertains to source files in archive djtst203.zip. The s=
ources at<BR>
>issue reside in subdirectories of /djgpp/tests/cygnus/.<BR>
><BR>
>KB Williams<BR>
><BR>
>1. Replace the makefile in subdirectory tgen with the CVS version=20=
at<BR>
>http://www.ludd.luth.se/~ams/djgpp/cvs/djgpp/tests/cygnus/tgen/makefile<=
BR>
><BR>
> This makefile fixes a linker error associated with C++ comp=
ilations.<BR>
><BR>
>2. To squelch initializer-error messages (startling but not fatal)=
when<BR>
>compiling the sources in subdirectory qfloat of subdirectory tgen I made=
a<BR>
>simple change to file qhead.h in qfloat.<BR>
><BR>
>*** tests/cygnus/tgen/qfloat/qhead.h.old Sat Jun 7 19:40:56 2003<B=
R>
>--- tests/cygnus/tgen/qfloat/qhead.h Sat Jun 7 17:24:24 2003<BR>
>***************<BR>
>*** 17,23 ****<BR>
> #define EXPONE 0x8001<BR>
><BR>
> /* Number of WORDSIZE-bit words in a q type number (12 or 24) */<=
BR>
>! #define NQ 9 /* was 12 - ok */<BR>
><BR>
> /* Number of words in significand area */<BR>
> #define OMG (NQ-2)<BR>
>--- 17,23 ----<BR>
> #define EXPONE 0x8001<BR>
><BR>
> /* Number of WORDSIZE-bit words in a q type number (12 or 24) */<=
BR>
>! #define NQ 14 /* was 12 - ok */<BR>
><BR>
> /* Number of words in significand area */<BR>
> #define OMG (NQ-2)<BR>
<BR>
Unfortunately this causes problems. pow_vec.c and powf_vec.c appear to be<BR=
>
misgenerated, when the above patch has been applied. I see lots of lines lik=
e<BR>
"qlog singularity error" - e.g.:<BR>
<BR>
#include "test.h"<BR>
one_line_type pow_vec[] =3D {<BR>
<BR>
qlog singularity error<BR>
<BR>
qmul overflow error<BR>
{62, 0, 0,__LINE__, 0x00000000, 0x00000000, 0x3fc00000, 0x00000000,<BR>
0xc0733a71,<BR>
0x46f72a42,}, /* +0.0000E+00=3DF( +0.125, -307.7) */=
<BR>
<BR>
qlog singularity error<BR>
<BR>
qmul overflow error<BR>
{62, 0, 0,__LINE__, 0x00000000, 0x00000000, 0x3fc00000, 0x00000000,<BR>
0xc072067d,<BR>
0x223a7520,}, /* +0.0000E+00=3DF( +0.125, -288.4) */=
<BR>
...<BR>
<BR>
Here are the errors I get, when building:<BR>
<BR>
gcc -D_USE_LIBM_MATH_H -D_HAVE_STDC -O2 -g -nostdinc<BR>
-Ic:/DJGPP.GCC33/tests/cygnus -Ic:/DJGPP.GCC33/tests/cygnus/../../include&nb=
sp; -c<BR>
-o pow_vec.o pow_vec.c<BR>
In file included from c:/DJGPP.GCC33/include/math.h:9,<BR>
from test.h:6,<BR>
from pow_vec.c:1:<BR>
c:/DJGPP.GCC33/include/libm/math.h:170: warning: conflicting types for<BR>
built-in<BR>
function `nan'<BR>
c:/DJGPP.GCC33/include/libm/math.h:266: warning: conflicting types for<BR>
built-in<BR>
function `nanf'<BR>
pow_vec.c:4: error: `qlog' undeclared here (not in a function)<BR>
pow_vec.c:4: error: initializer element is not constant<BR>
pow_vec.c:4: error: (near initialization for `pow_vec[0]')<BR>
pow_vec.c:4: error: parse error before "singularity"<BR>
pow_vec.c:7: error: initializer element is not constant<BR>
pow_vec.c:7: error: (near initialization for `pow_vec[1].qs[0]')<BR>
pow_vec.c:7: error: initializer element is not constant<BR>
pow_vec.c:7: error: (near initialization for `pow_vec[1].qs[1]')<BR>
pow_vec.c:7: error: initializer element is not constant<BR>
pow_vec.c:7: error: (near initialization for `pow_vec[1].qs[2]')<BR>
pow_vec.c:7: error: initializer element is not constant<BR>
pow_vec.c:7: error: (near initialization for `pow_vec[1].qs')<BR>
pow_vec.c:7: error: initializer element is not constant<BR>
pow_vec.c:7: error: (near initialization for `pow_vec[1]')<BR>
pow_vec.c:9: error: parse error before "singularity"<BR>
make.exe: *** [pow_vec.o] Error 1<BR>
<BR>
This is when building with gcc 3.3, binutils 2.13.<BR>
<BR>
So I have not applied the patch above in DJGPP CVS.<BR>
<BR>
Incidentally, could someone fix these errors please? This is when building<B=
R>
with gcc 3.3, binutils 2.13 in tests/cygnus.<BR>
<BR>
gcc -D_USE_LIBM_MATH_H -D_HAVE_STDC -O2 -g -nostdinc<BR>
-Ic:/DJGPP.GCC33/tests/cygnus -Ic:/DJGPP.GCC33/tests/cygnus/../../include&nb=
sp; -c<BR>
-o y0f_vec.o y0f_vec.c<BR>
In file included from c:/DJGPP.GCC33/include/math.h:9,<BR>
from test.h:6,<BR>
from y0f_vec.c:1:<BR>
c:/DJGPP.GCC33/include/libm/math.h:170: warning: conflicting types for<BR>
built-in <BR>
function `nan'<BR>
c:/DJGPP.GCC33/include/libm/math.h:266: warning: conflicting types for<BR>
built-in <BR>
function `nanf'<BR>
<BR>
Thanks, bye, Rich =3D]<BR>
<BR>
-- <BR>
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]<BR>
</BLOCKQUOTE><BR>
</FONT><FONT COLOR=3D"#000000" style=3D"BACKGROUND-COLOR: #ffffff" SIZE=3D3=
FAMILY=3D"SERIF" FACE=3D"Georgia" LANG=3D"0"><BR>
</FONT></HTML>
--part2_1c1.cb7fc3b.2c4abe6e_boundary--
--part1_1c1.cb7fc3b.2c4abf18_boundary--
- Raw text -