From: Tom S. <tom...@mt...> - 2004-12-22 10:13:52
|
Does anyone know if there is a version of Bison that generates 32 bit unsigned integer tables rather than those shorts. I have a very large grammar and I'm blowing the tables. -----Original Message----- From: min...@li... [mailto:min...@li...] Sent: Wednesday, December 22, 2004 3:23 AM To: min...@li... Subject: MinGW-users digest, Vol 1 #2457 - 12 msgs Send MinGW-users mailing list submissions to min...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/mingw-users or, via email, send a message with subject or body 'help' to min...@li... You can reach the person managing the list at min...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of MinGW-users digest..." Today's Topics: 1. Re: multiple definition error if msvcrt.dll is present (Danny Smith) 2. gcc 3.4.2 and long double (Vincent Torri) 3. Re: gcc 3.4.2 and long double (mikael-aronsson) 4. Re: gcc 3.4.2 and long double (Erik de Castro Lopo) 5. CDRF_NOTIFYSUBITEMDRAW (mike) 6. Re: gcc 3.4.2 and long double (Vincent Torri) 7. Re: gcc 3.4.2 and long double (Vincent Torri) 8. Re: gcc 3.4.2 and long double (mikael-aronsson) 9. Re: gcc 3.4.2 and long double (mikael-aronsson) 10. Re: gcc 3.4.2 and long double (Egon Andersen) 11. Re: gcc 3.4.2 and long double (mikael-aronsson) 12. Re: gcc 3.4.2 and long double (Egon Andersen) --__--__-- Message: 1 Date: Wed, 22 Dec 2004 19:09:09 +1300 From: Danny Smith <dan...@cl...> Subject: Re: [Mingw-users] multiple definition error if msvcrt.dll is present To: min...@li... Reply-To: min...@li... Peter Welte wrote: > Thanks Danny, > I'll go post a bug report soon. Just one more question I guess. I'm > not sure what is the problem still (you said it was something to do with > mingw's crt startup code). Could you explain that a bit? I'm new to > MinGW (and programming with DLLs and programming on Windows) so I'm not > sure what is the difference between what is currently happening and what > is supposed to happen. Is the crt code from mingw not supposed to deine > atexit or _onexit The bug is that you got a multiple definition error, when you tried to do something (putting msvcrt.dll in your source/build directory) that was a bit different from the norm, but not that unreasonable. I don't know if crt2.o "should" define atexit/_onexit, but it was one of my patches that made it do so, hence I feel a bit obligated to investigate further. (BYW, the reason that the startup code does define these functions is so that atexit works correctly when called from functions that live in a dll).Offhand, I can think of one way to fix, but I want to think about Christmas now. Just enter your original message as a bug report, so I won't delete it when I do cleanups of my inbox. Danny > > Thanks for those work-arounds! > -peter > --__--__-- Message: 2 Date: Wed, 22 Dec 2004 07:57:58 +0100 (MET) From: Vincent Torri <to...@ma...> To: min...@li... Subject: [Mingw-users] gcc 3.4.2 and long double Reply-To: min...@li... hello, here is a test program about long double: #include <stdio.h> int main (int argc, char *argv[]) { printf ("%Lf\n", (long double)100); return 1; } it displays : -680564733841876930000000000000000000000.000000 there is obviously something wrong. Is it the printf which is broken, or is it the cast ? Or do i code something wrong ? i use the latest mingw/msys with gcc 3.4.2 from the mingw sourceforge site, and i compile with : gcc -Wall -ansi -pedantic -o test test.c (in case there's ansi problems...) thank you Vincent Torri --__--__-- Message: 3 From: "mikael-aronsson" <mik...@te...> To: <min...@li...> Subject: Re: [Mingw-users] gcc 3.4.2 and long double Date: Wed, 22 Dec 2004 08:21:59 +0100 Reply-To: min...@li... Hi ! Use "%I64." instead, %L does not work with microsofts printf and 'f' is for floating point values, you have a 64 bit integer. Mikael ----- Original Message ----- From: "Vincent Torri" <to...@ma...> To: <min...@li...> Sent: Wednesday, December 22, 2004 7:57 AM Subject: [Mingw-users] gcc 3.4.2 and long double > > hello, > > here is a test program about long double: > > #include <stdio.h> > > int > main (int argc, char *argv[]) > { > printf ("%Lf\n", (long double)100); > return 1; > } > > it displays : > > -680564733841876930000000000000000000000.000000 > > there is obviously something wrong. Is it the printf which is broken, or > is it the cast ? Or do i code something wrong ? > > i use the latest mingw/msys with gcc 3.4.2 from the mingw sourceforge > site, and i compile with : > > gcc -Wall -ansi -pedantic -o test test.c > > (in case there's ansi problems...) > > thank you > > Vincent Torri > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users --__--__-- Message: 4 Date: Wed, 22 Dec 2004 18:31:55 +1100 From: Erik de Castro Lopo <mi...@me...> To: min...@li... Subject: Re: [Mingw-users] gcc 3.4.2 and long double Organization: Erik Conspiracy Secret Labs Reply-To: min...@li... On Wed, 22 Dec 2004 08:21:59 +0100 "mikael-aronsson" <mik...@te...> wrote: > Hi ! > > Use "%I64." instead, %L does not work with microsofts printf and 'f' is for > floating point values, you have a 64 bit integer. Type "long double" is a floating point value. Maybe Vincent can try some of these: "%lf" "%Lf" "%f" "%lf" etc. Erik -- +-----------------------------------------------------------+ Erik de Castro Lopo no...@me... (Yes it's valid) +-----------------------------------------------------------+ "You don't have make it your sole purpose in life, but could you at least sacrifice a rubber chicken upon the altar of literacy?" -- TackHead on Slashdot --__--__-- Message: 5 From: "mike" <loc...@ha...> To: <min...@li...> Date: Tue, 21 Dec 2004 21:39:04 -1000 Subject: [Mingw-users] CDRF_NOTIFYSUBITEMDRAW Reply-To: min...@li... This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C4E7A5.7E4B9840 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Hi, I was porting some code from Borland to MinGW and I noticed that CDRF_NOTIFYSUBITEMDRAW is not defined in commctrl.h. on line 948 in that file there is a comment that says: /* FIXME: missing CDRF_NOTIFYSUBITEMDRAW */ I was wondering if this has already been fixed and if so where can I get the new commctrl.h file? Aloha, mike ------=_NextPart_000_0000_01C4E7A5.7E4B9840 Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable <html xmlns:o=3D"urn:schemas-microsoft-com:office:office" = xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns=3D"http://www.w3.org/TR/REC-html40"> <head> <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Dus-ascii"> <meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)"> <style> <!-- /* Font Definitions */ @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman";} a:link, span.MsoHyperlink {color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline;} span.EmailStyle17 {mso-style-type:personal-compose; font-family:Tahoma; color:windowtext; font-weight:normal; font-style:normal; text-decoration:none none;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in;} div.Section1 {page:Section1;} --> </style> </head> <body lang=3DEN-US link=3Dblue vlink=3Dpurple> <div class=3DSection1> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'>Hi,<o:p></o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'><o:p> </o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'> I was porting some code from Borland to MinGW = and I noticed that CDRF_NOTIFYSUBITEMDRAW is not defined in commctrl.h. on line 948 in = that file there is a comment that says:<o:p></o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'><o:p> </o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'>/* FIXME: missing CDRF_NOTIFYSUBITEMDRAW = */<o:p></o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'><o:p> </o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'>I was wondering if this has already been fixed and = if so where can I get the new commctrl.h file?<o:p></o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'><o:p> </o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'><o:p> </o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'>Aloha,<o:p></o:p></span></font></p> <p class=3DMsoNormal><font size=3D2 face=3DTahoma><span = style=3D'font-size:10.0pt; font-family:Tahoma'>mike<o:p></o:p></span></font></p> </div> </body> </html> ------=_NextPart_000_0000_01C4E7A5.7E4B9840-- --__--__-- Message: 6 Date: Wed, 22 Dec 2004 08:39:19 +0100 (MET) From: Vincent Torri <to...@ma...> To: min...@li... cc: mikael-aronsson <mik...@te...> Subject: Re: [Mingw-users] gcc 3.4.2 and long double Reply-To: min...@li... >Hi ! > >Use "%I64." instead, %L does not work with microsofts printf and 'f' is >for >floating point values, you have a 64 bit integer. > >Mikael ?? a long double type IS a floating point real number, not an integer. so the problem would be the %Lf. Well, even with just %f, it displays a wrong value (there's a warning of course). Vincent Torri --__--__-- Message: 7 Date: Wed, 22 Dec 2004 08:51:41 +0100 (MET) From: Vincent Torri <to...@ma...> To: min...@li... cc: Erik de Castro Lopo <mi...@me...> Subject: Re: [Mingw-users] gcc 3.4.2 and long double Reply-To: min...@li... >Maybe Vincent can try some of these: > > "%lf" > "%Lf" > "%f" > "%lf" > >etc. > >Erik already done, without success... (in addition, from gcc : "warning: ISO C90 does not support the `%lf' printf format"). %f is for float and double and %Lf is for long double, according to the doc i have found. I hope it's only a bug in printf. Because when i want to display the result of (long double)100 * (long double)171, it displays -0.00000 ... To track numerical bugs (which makes me find this strange result), it's not very easy ;) Vincent Torri --__--__-- Message: 8 From: "mikael-aronsson" <mik...@te...> To: <min...@li...> Subject: Re: [Mingw-users] gcc 3.4.2 and long double Date: Wed, 22 Dec 2004 09:22:13 +0100 Reply-To: min...@li... Sorry, must have been sleeping, I was thinking about 64 bit integers. ----- Original Message ----- From: "Erik de Castro Lopo" <mi...@me...> To: <min...@li...> Sent: Wednesday, December 22, 2004 8:31 AM Subject: Re: [Mingw-users] gcc 3.4.2 and long double > On Wed, 22 Dec 2004 08:21:59 +0100 > "mikael-aronsson" <mik...@te...> wrote: > > > Hi ! > > > > Use "%I64." instead, %L does not work with microsofts printf and 'f' is for > > floating point values, you have a 64 bit integer. > > Type "long double" is a floating point value. > > Maybe Vincent can try some of these: > > "%lf" > "%Lf" > "%f" > "%lf" > > etc. > > Erik > -- > +-----------------------------------------------------------+ > Erik de Castro Lopo no...@me... (Yes it's valid) > +-----------------------------------------------------------+ > "You don't have make it your sole purpose in life, but could you at > least sacrifice a rubber chicken upon the altar of literacy?" > -- TackHead on Slashdot > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users --__--__-- Message: 9 From: "mikael-aronsson" <mik...@te...> To: <min...@li...> Subject: Re: [Mingw-users] gcc 3.4.2 and long double Date: Wed, 22 Dec 2004 09:26:01 +0100 Reply-To: min...@li... "double" and "long double" is the same thing for microsoft, they only support float and double on Windows (and as printf is microsoft code I guess it makes no difference if you use L or not). Mikael ----- Original Message ----- From: "Vincent Torri" <to...@ma...> To: <min...@li...> Cc: "Erik de Castro Lopo" <mi...@me...> Sent: Wednesday, December 22, 2004 8:51 AM Subject: Re: [Mingw-users] gcc 3.4.2 and long double > >Maybe Vincent can try some of these: > > > > "%lf" > > "%Lf" > > "%f" > > "%lf" > > > >etc. > > > >Erik > > already done, without success... (in addition, from gcc : "warning: ISO > C90 does not support the `%lf' printf format"). %f is for float and double > and %Lf is for long double, according to the doc i have found. > > I hope it's only a bug in printf. Because when i want to display the > result of (long double)100 * (long double)171, it displays -0.00000 > ... To track numerical bugs (which makes me find this strange result), > it's not very easy ;) > > Vincent Torri > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users --__--__-- Message: 10 Date: Wed, 22 Dec 2004 09:51:34 +0100 From: Egon Andersen <po...@ta...> To: min...@li... Subject: Re: [Mingw-users] gcc 3.4.2 and long double Reply-To: min...@li... mikael-aronsson wrote: > "double" and "long double" is the same thing for microsoft, they only > support float and double on Windows (and as printf is microsoft code I guess > it makes no difference if you use L or not). > That is not true. A long double is 80 bit, where as double is 64 bit. The *only* problem in MinGW is that it is not possible to print the long double. You have a lot of other functions working on long double. I've had problems regarding this for a long time and discussed it on this list in April 2004. Apparently there should be a ldtoa(), but it is not a part of the standard releases of MinGW and friends. In September I asked that the ldtoa got compiled into libmingwex.a (or another appropriate lib), but I got no response. Best regards Egon Andersen --__--__-- Message: 11 From: "mikael-aronsson" <mik...@te...> To: <min...@li...> Subject: Re: [Mingw-users] gcc 3.4.2 and long double Date: Wed, 22 Dec 2004 09:55:58 +0100 Reply-To: min...@li... Microsoft Visual C++ recognizes the types shown in the table below. Type Name Bytes Other Names Range of Values int * signed, signed int System dependent unsigned int * unsigned System dependent __int8 1 char, signed char -128 to 127 __int16 2 short, short int, signed short int -32,768 to 32,767 __int32 4 signed, signed int -2,147,483,648 to 2,147,483,647 __int64 8 none -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 bool 1 none false or true char 1 signed char -128 to 127 unsigned char 1 none 0 to 255 short 2 short int, signed short int -32,768 to 32,767 unsigned short 2 unsigned short int 0 to 65,535 long 4 long int, signed long int -2,147,483,648 to 2,147,483,647 long long 8 none (but equivalent to __int64) -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 unsigned long 4 unsigned long int 0 to 4,294,967,295 enum * none Same as int float 4 none 3.4E +/- 38 (7 digits) double 8 none 1.7E +/- 308 (15 digits) long double same as double none same as double wchar_t 2 __wchar_t 0 to 65,535 ----- Original Message ----- From: "Egon Andersen" <po...@ta...> To: <min...@li...> Sent: Wednesday, December 22, 2004 9:51 AM Subject: Re: [Mingw-users] gcc 3.4.2 and long double > mikael-aronsson wrote: > > "double" and "long double" is the same thing for microsoft, they only > > support float and double on Windows (and as printf is microsoft code I guess > > it makes no difference if you use L or not). > > > > That is not true. > A long double is 80 bit, where as double is 64 bit. > The *only* problem in MinGW is that it is not possible to print the long > double. You have a lot of other functions working on long double. > I've had problems regarding this for a long time and discussed it on > this list in April 2004. > Apparently there should be a ldtoa(), but it is not a part of the > standard releases of MinGW and friends. > > In September I asked that the ldtoa got compiled into libmingwex.a (or > another appropriate lib), but I got no response. > > Best regards > Egon Andersen > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users --__--__-- Message: 12 Date: Wed, 22 Dec 2004 10:22:01 +0100 From: Egon Andersen <po...@ta...> To: min...@li... Subject: Re: [Mingw-users] gcc 3.4.2 and long double Reply-To: min...@li... mikael-aronsson wrote: > Microsoft Visual C++ recognizes the types shown in the table below. > > Type Name Bytes Other Names Range of Values > int * signed, > signed int System dependent > unsigned int * unsigned System dependent > __int8 1 char, > signed char -128 to 127 > __int16 2 short, > short int, > signed short int -32,768 to 32,767 > __int32 4 signed, > signed int -2,147,483,648 to 2,147,483,647 > __int64 8 none -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 > bool 1 none false or true > char 1 signed char -128 to 127 > unsigned char 1 none 0 to 255 > short 2 short int, > signed short int -32,768 to 32,767 > unsigned short 2 unsigned short int 0 to 65,535 > long 4 long int, > signed long int -2,147,483,648 to 2,147,483,647 > long long 8 none (but equivalent to > __int64) -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 > unsigned long 4 unsigned long int 0 to 4,294,967,295 > enum * none Same as int > float 4 none 3.4E +/- 38 (7 digits) > double 8 none 1.7E +/- 308 (15 digits) > long double same as double none same as double > wchar_t 2 __wchar_t 0 to 65,535 > But that is not the same for MinGW. And I believe this is a MinGW mailinglist and not Microsoft Visual C++ mailinglist. I know that M$ do not have 80bit floatingpoint types and taht is what is causing these problems in printf(), but MinGW have 80bit floatingpoint support and a lot of functiona supporting it. Best regards Egon Andersen --__--__-- _______________________________________________ MinGW-users mailing list Min...@li... You may change your MinGW Account Options or unsubscribe at: https://lists.sourceforge.net/lists/listinfo/mingw-users End of MinGW-users Digest |