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
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
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
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.
>
>
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.
--
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;
> #
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
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
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
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)
---
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__ ==
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
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 Алек
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
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
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__) &
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
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
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
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
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
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_
22 matches
Mail list logo