Re: [Mingw-w64-public] half-missing API

2012-12-24 Thread Joshua Boyce
On Mon, Dec 24, 2012 at 8:50 AM, NightStrike wrote: > Can either of you provide a patch? > > I only came up against the missing APIs a couple of days ago so I haven't had time to put one together yet. I'd certainly like to, but I'm moving states and starting a new job in 2 weeks so it's a very bu

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Kai Tietz
2012/12/24 Алексей Павлов : > Kai, is it right when i run problem code with -m32 switch and it go to > defines with long double? I assume so, yes. At least that is same behavior as happening with *nix toolchain. But well, I can't find here specific description for x87 case and -1 on 32-bit. Kai

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
Kai, is it right when i run problem code with -m32 switch and it go to defines with long double? 2012/12/24 Алексей Павлов > Thanks, it works now! > > > 2012/12/24 Kai Tietz > >> No problem, nevertheless I think I will simply replace the == 2 case >> by an '#else'. The == 1 case shouldn't be r

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
Thanks, it works now! 2012/12/24 Kai Tietz > No problem, nevertheless I think I will simply replace the == 2 case > by an '#else'. The == 1 case shouldn't be reachable for x86/x64, > anyway I think we should keep it for completness. > > Thanks, > Kai > > Applied change at rev 5518 on trunk. > >

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Kai Tietz
No problem, nevertheless I think I will simply replace the == 2 case by an '#else'. The == 1 case shouldn't be reachable for x86/x64, anyway I think we should keep it for completness. Thanks, Kai Applied change at rev 5518 on trunk. --

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
Oh sorry I don't understand you. This code seems to work 2012/12/24 Kai Tietz > #if defined (__x86_64__) || (defined (__FLT_EVAL_METHOD__) && > __FLT_EVAL_METHOD__ == 0) > typedef float float_t; > typedef double double_t; > #else > typedef long double float_t; > typedef long double double_t; > #

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Kai Tietz
That code is wrong for 64-bit, as here float_t is float derived, and double_t is double derived in all cases. Kai -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devic

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Kai Tietz
First, I am able to resolve C's preprocessor myself, secondly don't cite me wrong. I wrote that this code we have in math.h could be replaced by: #if defined (__x86_64__) || (defined (__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0) typedef float float_t; typedef double double_t; #else typedef l

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
What do you think about next code? #if defined(__FLT_EVAL_METHOD__) # if ( __FLT_EVAL_METHOD__== 0) typedef float float_t; typedef double double_t; # elif (__FLT_EVAL_METHOD__ == 1) typedef double float_t; typedef double double_t; # elif (__FLT_EVAL_METHOD__ == 2) typedef long double float_t; type

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
It not working because #if defined (__x86_64__) || (defined (__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0) is # if 0 || ( 1 && 0) 2012/12/24 Алексей Павлов > #if defined (__x86_64__) || (defined (__FLT_EVAL_METHOD__) && > __FLT_EVAL_METHOD__ == 0) ---

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
You meant that this code #if defined (__x86_64__) || defined(__FLT_EVAL_METHOD__) # if defined (__x86_64__) || ( __FLT_EVAL_METHOD__== 0) typedef float float_t; typedef double double_t; # elif (__FLT_EVAL_METHOD__ == 1) typedef double float_t; typedef double double_t; # elif (__FLT_EVAL_METHOD__ ==

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Kai Tietz
You missed my point. I meant by replacing here the hole __FLT_EVAL_METHOD__ block by the code I've shown earlier ... we actual don't need to check different method-types as they can't occure Kai -- LogMeIn Rescue: Anywhe

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
But __x86_64__ not defined and __FLT_EVAL_METHOD__= -1 2012/12/24 Алексей Павлов > I test it not work because we have 2 IFDEF: > #if defined (__x86_64__) || defined(__FLT_EVAL_METHOD__) > # if defined (__x86_64__) || ( __FLT_EVAL_METHOD__== 0) > ... > > 2012/12/24 Kai Tietz > >> 2012/12/24 Алек

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
I test it not work because we have 2 IFDEF: #if defined (__x86_64__) || defined(__FLT_EVAL_METHOD__) # if defined (__x86_64__) || ( __FLT_EVAL_METHOD__== 0) ... 2012/12/24 Kai Tietz > 2012/12/24 Алексей Павлов : > > It not work because __FLT_EVAL_METHOD__ = -1 > > > > Huh? It should work, as th

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Kai Tietz
2012/12/24 Алексей Павлов : > It not work because __FLT_EVAL_METHOD__ = -1 > Huh? It should work, as there is a defined #else case. Have you tested, or guessed? Kai -- LogMeIn Rescue: Anywhere, Anytime Remote support f

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
Problem situation is when we have: undef _x86_64_ __FLT_EVAL_METHOD__ = -1 2012/12/24 Алексей Павлов > It not work because __FLT_EVAL_METHOD__ = -1 > > > 2012/12/24 Kai Tietz > >> Hmm, well, I see. We could simplify code here. >> >> #if defined (__x86_64__) || (defined (__FLT_EVAL_METHOD__) &

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
It not work because __FLT_EVAL_METHOD__ = -1 2012/12/24 Kai Tietz > Hmm, well, I see. We could simplify code here. > > #if defined (__x86_64__) || (defined (__FLT_EVAL_METHOD__) && > __FLT_EVAL_METHOD__ == 0) > typedef float float_t; > typedef double double_t; > #else > typedef long double floa

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Kai Tietz
Hmm, well, I see. We could simplify code here. #if defined (__x86_64__) || (defined (__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0) typedef float float_t; typedef double double_t; #else typedef long double float_t; typedef long double double_t; #endif 2012/12/24 Алексей Павлов : > I still hav

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
When I execute on 64-bit multilib toolchain echo "#include " | g++ -x c++ -c - -m32 -mfpmath=both -std=gnu++11 -o /dev/null Than __FLT_EVAL_METHOD__ == -1 and _x86_64_ NOT DEFINED 2012/12/24 Алексей Павлов > I still have error: > $ echo "#include " | g++ -x c++ -c - -m32 -mfpmath=both > -std=gn

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
I still have error: $ echo "#include " | g++ -x c++ -c - -m32 -mfpmath=both -std=gnu++11 -o /dev/null In file included from :1:0: c:\gccbuild\msys\temp\x64-4.7.2-release-posix-sjlj-rev5\prefix\bin\../lib/gcc/x86_64-w64-mingw32/4.7.2/include/c++/cmath:1040:11: error: '::double_t' has not been declar

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Kai Tietz
Hmm, I don't see the point why we should limit that for x64 case to __FLT_EVAL_METHOD == -1? In all cases it has simply to use float/double for x64. Btw AFAIK is *nix using same approach. What is actual the issue you still get? Kai 2012/12/24 Алексей Павлов : > I think possible patch to complet

Re: [Mingw-w64-public] Trunk commit 5494 is invalid

2012-12-24 Thread Алексей Павлов
I think possible patch to complete resolve this problem is --- math.h.orig 2012-12-23 11:56:01 +0400 +++ math.h 2012-12-24 13:10:52 +0400 @@ -318,8 +318,16 @@ /* Use the compiler's builtin define for FLT_EVAL_METHOD to set float_t and double_t. */ -#if defined (__x86_64__) || defined(__FLT_