From: Kbwms AT aol DOT com Message-ID: <1c1.cb7fc3b.2c4abf18@aol.com> Date: Sat, 19 Jul 2003 11:34:48 EDT Subject: Fwd: Changes to Files in Archive djtst203.zip To: djgpp-workers AT delorie DOT com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="part1_1c1.cb7fc3b.2c4abf18_boundary" X-Mailer: 8.0 for Windows sub 6011 Reply-To: djgpp-workers AT delorie DOT com --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: 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 Rich:

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= .

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.

I have been working in the cygnus/tgen/qfloat subdirectories for weeks and h= ave no such difficulties.

KB Williams


In a message dated 7/19/2003 8:36:54 AM Eastern Standard Time, rich AT phekda DOT f= reeserve.co.uk writes:


Hello.

DJGPP wrote:
>
>All,
>
>This change does not appear to have been committed yet. Did I miss somet= hing
>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 s= ources at
>issue reside in subdirectories of /djgpp/tests/cygnus/.
>
>KB Williams
>
>1.  Replace the makefile in subdirectory tgen with the CVS version=20= at
>http://www.ludd.luth.se/~ams/djgpp/cvs/djgpp/tests/cygnus/tgen/makefile<= BR> >
>   This makefile fixes a linker error associated with C++ comp= ilations.
>
>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) */<= BR> >! #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) */<= BR> >! #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 lik= e
"qlog singularity error" - e.g.:

#include "test.h"
one_line_type pow_vec[] =3D {

qlog singularity error

qmul overflow error
{62, 0, 0,__LINE__, 0x00000000, 0x00000000, 0x3fc00000, 0x00000000,
0xc0733a71,
0x46f72a42,},   /* +0.0000E+00=3DF(  +0.125,  -307.7) */=

qlog singularity error

qmul overflow error
{62, 0, 0,__LINE__, 0x00000000, 0x00000000, 0x3fc00000, 0x00000000,
0xc072067d,
0x223a7520,},   /* +0.0000E+00=3DF(  +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&nb= sp; -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&nb= sp; -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 =3D]

--
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]


--part2_1c1.cb7fc3b.2c4abe6e_boundary-- --part1_1c1.cb7fc3b.2c4abf18_boundary--