From: Earnie B. <ear...@ya...> - 2003-06-18 13:25:45
|
Any heartache for this patch? It supports: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_pluslang_Fundamental_Types.asp And adds small and hyper to support: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/midl/midl/int.asp What GCC method should be used for determining 64bit OS vs 32bit OS WRT Win64? I ask so that we can implement __int3264 which is either 32bit on 32bit OS or 64bit on 64bit OS. Also, at the top of _mingw.h it states that ``typedef long long __int64'' tweaks bugs in C++, is that still true? <patch> Index: include/_mingw.h =================================================================== RCS file: /cvs/src/src/winsup/mingw/include/_mingw.h,v retrieving revision 1.18 diff -u -3 -p -r1.18 _mingw.h --- include/_mingw.h 7 May 2003 03:12:17 -0000 1.18 +++ include/_mingw.h 18 Jun 2003 13:00:27 -0000 @@ -82,6 +82,11 @@ # endif # undef __int64 # define __int64 long long +typedef long __int32; +typedef int __int16; +typedef char __int8; +typedef __int8 small; +typedef __int64 hyper; #endif /* __GNUC__ */ #define __MINGW32_VERSION 3.1 </patch> Earnie. |
From: Steven E. <Ste...@ya...> - 2003-06-18 20:16:06
|
I think so. I had to change this in the WINE headers for a mingw build about 6 months ago. > Also, at the top of _mingw.h it states that ``typedef long long > __int64'' tweaks bugs in C++, is that still true? > |
From: Danny S. <dan...@cl...> - 2003-06-18 20:57:16
|
----- Original Message ----- From: "Earnie Boyd" <ear...@ya...> To: <min...@li...> Sent: Wednesday, 18 June 2003 14:25 Subject: [MinGW-dvlpr] MS Fundamental Types - patch to _mingw.h > Any heartache for this patch? > > It supports: > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/ html/_pluslang_Fundamental_Types.asp > > And adds small and hyper to support: > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/midl/mi dl/int.asp > > What GCC method should be used for determining 64bit OS vs 32bit OS WRT > Win64? I ask so that we can implement __int3264 which is either 32bit > on 32bit OS or 64bit on 64bit OS. __int3264 is defined in w32api/basetsd.h. _WIN32 is a builtin so I suspect that when we get a 64 bit windows port of GCC and binutils, _WIN64 could be builtin too. > > Also, at the top of _mingw.h it states that ``typedef long long > __int64'' tweaks bugs in C++, is that still true? IIRC, I think the bug may have been in something like: unsigned __int64 foo; or when combined with const. Since some code now test #ifdef __int64, we should probably keep the define. maybe: typedef long long __int64 #define __int64 __int64 Danny > > <patch> > Index: include/_mingw.h > =================================================================== > RCS file: /cvs/src/src/winsup/mingw/include/_mingw.h,v > retrieving revision 1.18 > diff -u -3 -p -r1.18 _mingw.h > --- include/_mingw.h 7 May 2003 03:12:17 -0000 1.18 > +++ include/_mingw.h 18 Jun 2003 13:00:27 -0000 > @@ -82,6 +82,11 @@ > # endif > # undef __int64 > # define __int64 long long > +typedef long __int32; > +typedef int __int16; > +typedef char __int8; > +typedef __int8 small; > +typedef __int64 hyper; > #endif /* __GNUC__ */ > > #define __MINGW32_VERSION 3.1 > </patch> > > Earnie. > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU Hosting Partner. > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > MinGW-dvlpr mailing list > Min...@li... > https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr |
From: Danny S. <dan...@cl...> - 2003-06-18 21:15:51
|
> > > > Also, at the top of _mingw.h it states that ``typedef long long > > __int64'' tweaks bugs in C++, is that still true? > > IIRC, I think the bug may have been in something like: > unsigned __int64 foo; > or when combined with const. > Yes, we still need to use defines because GCC does not recognized them as fundamental types: Try this: typedef long __int32; unsigned __int32 foo; foo.C:2: error: `__int32' does not name a type > Since some code now test #ifdef __int64, we should probably keep the > define. > > maybe: > typedef long long __int64 > #define __int64 __int64 > No, that still causes problems. > Danny> > > |
From: Earnie B. <ear...@ya...> - 2003-06-18 21:46:42
|
Danny Smith wrote: > > Yes, we still need to use defines because GCC does not recognized them > as fundamental types: > So should we hack GCC to recognize these as fundamental types? Do some targets do that already? In the meantime, I'll modify the _mingw.h patch to use defines instead. Earnie. |
From: Danny S. <dan...@cl...> - 2003-06-18 22:10:02
|
----- Original Message ----- From: "Earnie Boyd" <ear...@ya...> To: <min...@li...> Sent: Wednesday, 18 June 2003 22:46 Subject: Re: [MinGW-dvlpr] MS Fundamental Types - patch to _mingw.h > Danny Smith wrote: > > > > Yes, we still need to use defines because GCC does not recognized them > > as fundamental types: > > > > So should we hack GCC to recognize these as fundamental types? > I don't think its worth it. > Do some targets do that already? Yes, GCC has things like __m128 for SIMD targets > > In the meantime, I'll modify the _mingw.h patch to use defines instead. > Should they also be in w32api (like __int64 in basetsd.h). That is where they will probably get used most often. Are all these for the sake of midl compiler? I really don't like 'hyper' and 'small' polluting the runtime namespace (even if guarded with __STRICT_ANSI__).. Danny > Earnie. > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU Hosting Partner. > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > MinGW-dvlpr mailing list > Min...@li... > https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr |
From: Earnie B. <ear...@ya...> - 2003-07-01 13:23:21
|
I modified this patch to use macro definitions and have committed it to CVS. I also added the same definitions to the w32api basetyps.h file. Earnie. Earnie Boyd wrote: > Any heartache for this patch? > > It supports: > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_pluslang_Fundamental_Types.asp > > > And adds small and hyper to support: > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/midl/midl/int.asp > > > What GCC method should be used for determining 64bit OS vs 32bit OS WRT > Win64? I ask so that we can implement __int3264 which is either 32bit > on 32bit OS or 64bit on 64bit OS. > > Also, at the top of _mingw.h it states that ``typedef long long > __int64'' tweaks bugs in C++, is that still true? > > <patch> > Index: include/_mingw.h > =================================================================== > RCS file: /cvs/src/src/winsup/mingw/include/_mingw.h,v > retrieving revision 1.18 > diff -u -3 -p -r1.18 _mingw.h > --- include/_mingw.h 7 May 2003 03:12:17 -0000 1.18 > +++ include/_mingw.h 18 Jun 2003 13:00:27 -0000 > @@ -82,6 +82,11 @@ > # endif > # undef __int64 > # define __int64 long long > +typedef long __int32; > +typedef int __int16; > +typedef char __int8; > +typedef __int8 small; > +typedef __int64 hyper; > #endif /* __GNUC__ */ > > #define __MINGW32_VERSION 3.1 > </patch> > > Earnie. > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU Hosting Partner. > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > MinGW-dvlpr mailing list > Min...@li... > https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr > |
From: Danny S. <dan...@cl...> - 2003-07-01 20:58:27
|
----- Original Message ----- From: "Earnie Boyd" <ear...@ya...> To: <min...@li...> Sent: Tuesday, 1 July 2003 14:23 Subject: Re: [MinGW-dvlpr] MS Fundamental Types - patch to _mingw.h > I modified this patch to use macro definitions and have committed it to > CVS. I also added the same definitions to the w32api basetyps.h file. > > Earnie. > > Earnie Boyd wrote: > > Any heartache for this patch? Yup, still.is. I will submit bug report about 'small' and 'hyper' in _mingw.h. __small and __hyper would be okay, but why should mingw break existing code just to be conformant with a stupid MS 'feature'? You already found one breakage in tgamma.c. There are probably a lot more in the rest of cephes package. There _is_ at least one more breakage in a project of mine that uses small as a function name. Danny Danny Danny |
From: Earnie B. <ear...@ya...> - 2003-07-01 23:37:59
|
Fixed already. Sorry, I had stupidly forgotten your request. Earnie. Danny Smith wrote: > ----- Original Message ----- > From: "Earnie Boyd" <ear...@ya...> > To: <min...@li...> > Sent: Tuesday, 1 July 2003 14:23 > Subject: Re: [MinGW-dvlpr] MS Fundamental Types - patch to _mingw.h > > > >>I modified this patch to use macro definitions and have committed it > > to > >>CVS. I also added the same definitions to the w32api basetyps.h file. >> >>Earnie. >> >>Earnie Boyd wrote: >> >>>Any heartache for this patch? > > > Yup, still.is. I will submit bug report about 'small' and 'hyper' in > _mingw.h. __small and __hyper would be okay, but why should mingw break > existing code just to be conformant with a stupid MS 'feature'? You > already found one breakage in tgamma.c. There are probably a lot more > in the rest of cephes package. There _is_ at least one more breakage in > a project of mine that uses small as a function name. > > Danny > > Danny > > Danny > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 > _______________________________________________ > MinGW-dvlpr mailing list > Min...@li... > https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr > |
From: Danny S. <dan...@cl...> - 2003-07-02 00:07:20
|
----- Original Message ----- From: "Earnie Boyd" <ear...@ya...> To: <min...@li...> Sent: Wednesday, 2 July 2003 00:37 Subject: Re: [MinGW-dvlpr] MS Fundamental Types - patch to _mingw.h > Fixed already. > > Sorry, I had stupidly forgotten your request. > Thanks, 'small' is actually used in libiberty (objalloc.c) as I just found out when I tried to build gcc. Danny |