Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
6fe4d9e7
Commit
6fe4d9e7
authored
Nov 08, 2014
by
YongHao Hu
Committed by
Alexandre Julliard
Nov 10, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp90: Add std_Ctraits::Isnan implementation.
parent
0e21f80b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
69 additions
and
12 deletions
+69
-12
msvcp70.spec
dlls/msvcp70/msvcp70.spec
+3
-3
msvcp71.spec
dlls/msvcp71/msvcp71.spec
+3
-3
msvcp80.spec
dlls/msvcp80/msvcp80.spec
+3
-3
math.c
dlls/msvcp90/math.c
+9
-0
msvcp90.spec
dlls/msvcp90/msvcp90.spec
+3
-3
misc.c
dlls/msvcp90/tests/misc.c
+48
-0
No files found.
dlls/msvcp70/msvcp70.spec
View file @
6fe4d9e7
...
...
@@ -2103,9 +2103,9 @@
@ stub ?_Isinf@?$_Ctraits@M@std@@SA_NM@Z
@ stub ?_Isinf@?$_Ctraits@N@std@@SA_NN@Z
@ stub ?_Isinf@?$_Ctraits@O@std@@SA_NO@Z
@
stub ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z
@
stub ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z
@
stub ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z
@
cdecl ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z(float) std_Ctraits_float__Isnan
@
cdecl ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z(double) std_Ctraits_double__Isnan
@
cdecl ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z(double) std_Ctraits_long_double__Isnan
@ stub -arch=win32 ?_Loc_atexit@std@@YA_NP6AXXZ@Z
@ stub -arch=win32 ?_Makpat@?$_Mpunct@D@std@@AAEXAAUpattern@money_base@2@III@Z
@ stub -arch=win64 ?_Makpat@?$_Mpunct@D@std@@AEAAXAEAUpattern@money_base@2@III@Z
...
...
dlls/msvcp71/msvcp71.spec
View file @
6fe4d9e7
...
...
@@ -2300,9 +2300,9 @@
@ stub ?_Isinf@?$_Ctraits@M@std@@SA_NM@Z
@ stub ?_Isinf@?$_Ctraits@N@std@@SA_NN@Z
@ stub ?_Isinf@?$_Ctraits@O@std@@SA_NO@Z
@
stub ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z
@
stub ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z
@
stub ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z
@
cdecl ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z(float) std_Ctraits_float__Isnan
@
cdecl ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z(double) std_Ctraits_double__Isnan
@
cdecl ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z(double) std_Ctraits_long_double__Isnan
@ thiscall -arch=win32 ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ(ptr) basic_streambuf_char__Lock
@ cdecl -arch=win64 ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ(ptr) basic_streambuf_char__Lock
@ thiscall -arch=win32 ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ(ptr) basic_streambuf_wchar__Lock
...
...
dlls/msvcp80/msvcp80.spec
View file @
6fe4d9e7
...
...
@@ -2557,9 +2557,9 @@
@ stub ?_Isinf@?$_Ctraits@M@std@@SA_NM@Z
@ stub ?_Isinf@?$_Ctraits@N@std@@SA_NN@Z
@ stub ?_Isinf@?$_Ctraits@O@std@@SA_NO@Z
@
stub ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z
@
stub ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z
@
stub ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z
@
cdecl ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z(float) std_Ctraits_float__Isnan
@
cdecl ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z(double) std_Ctraits_double__Isnan
@
cdecl ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z(double) std_Ctraits_long_double__Isnan
@ cdecl -arch=win32 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
@ cdecl -arch=win64 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
@ cdecl -arch=win32 ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z(ptr ptr) locale__Locimp__Locimp_ctor
...
...
dlls/msvcp90/math.c
View file @
6fe4d9e7
...
...
@@ -815,6 +815,15 @@ std_Ctraits * __thiscall std_Ctraits_op_assign( std_Ctraits *this, std_Ctraits *
return
this
;
}
/* ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z -> public: static bool __cdecl std::_Ctraits<float>::_Isnan(float) */
BOOLEAN
__cdecl
std_Ctraits_float__Isnan
(
float
x
)
{
return
_isnan
(
x
);
}
/* ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z -> public: static bool __cdecl std::_Ctraits<double>::_Isnan(double) */
BOOLEAN
__cdecl
std_Ctraits_double__Isnan
(
double
x
)
{
return
_isnan
(
x
);
}
/* ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z -> public: static bool __cdecl std::_Ctraits<long double>::_Isnan(long double) */
BOOLEAN
__cdecl
std_Ctraits_long_double__Isnan
(
LDOUBLE
x
)
{
return
_isnan
(
x
);
}
/* ?atan2@?$_Ctraits@M@std@@SAMMM@Z -> public: static float __cdecl std::_Ctraits<float>::atan2(float,float) */
float
__cdecl
std_Ctraits_float_atan2
(
float
y
,
float
x
)
{
return
atan2f
(
y
,
x
);
}
...
...
dlls/msvcp90/msvcp90.spec
View file @
6fe4d9e7
...
...
@@ -2878,9 +2878,9 @@
@ stub ?_Isinf@?$_Ctraits@M@std@@SA_NM@Z
@ stub ?_Isinf@?$_Ctraits@N@std@@SA_NN@Z
@ stub ?_Isinf@?$_Ctraits@O@std@@SA_NO@Z
@
stub ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z
@
stub ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z
@
stub ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z
@
cdecl ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z(float) std_Ctraits_float__Isnan
@
cdecl ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z(double) std_Ctraits_double__Isnan
@
cdecl ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z(double) std_Ctraits_long_double__Isnan
@ cdecl -arch=win32 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
@ cdecl -arch=win64 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
@ cdecl -arch=win32 ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z(ptr ptr) locale__Locimp__Locimp_ctor
...
...
dlls/msvcp90/tests/misc.c
View file @
6fe4d9e7
...
...
@@ -19,6 +19,7 @@
#include <stdio.h>
#include <locale.h>
#include <wctype.h>
#include <math.h>
#include <float.h>
#include <errno.h>
...
...
@@ -26,6 +27,8 @@
#include <winbase.h>
#include "wine/test.h"
typedef
double
LDOUBLE
;
/* long double is just a double */
typedef
struct
{
LCID
handle
;
unsigned
page
;
...
...
@@ -110,6 +113,10 @@ static void (__thiscall *p_basic_ostringstream_char_dtor)(/*basic_ostringstream_
static
void
(
__thiscall
*
p_basic_ostringstream_char_vbase_dtor
)(
/*basic_ostringstream_char*/
void
*
);
static
void
(
__thiscall
*
p_basic_ios_char_dtor
)(
/*basic_ios_char*/
void
*
);
static
BOOL
(
__cdecl
*
p_std_Ctraits_float__Isnan
)(
float
);
static
BOOL
(
__cdecl
*
p_std_Ctraits_double__Isnan
)(
double
);
static
BOOL
(
__cdecl
*
p_std_Ctraits_long_double__Isnan
)(
LDOUBLE
);
static
complex_float
*
(
__thiscall
*
p_complex_float_ctor
)(
complex_float
*
,
const
float
*
,
const
float
*
);
static
complex_float
*
(
__cdecl
*
p_complex_float_add
)(
complex_float
*
,
const
complex_float
*
,
const
complex_float
*
);
static
complex_float
*
(
__cdecl
*
p_complex_float_div
)(
complex_float
*
,
const
complex_float
*
,
const
complex_float
*
);
...
...
@@ -216,6 +223,11 @@ static BOOL init(void)
SET
(
p_wctrans
,
"wctrans"
);
SET
(
p_towctrans
,
"towctrans"
);
SET
(
basic_ostringstream_char_vbtable
,
"??_8?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@7B@"
);
SET
(
p_std_Ctraits_float__Isnan
,
"?_Isnan@?$_Ctraits@M@std@@SA_NM@Z"
);
SET
(
p_std_Ctraits_double__Isnan
,
"?_Isnan@?$_Ctraits@N@std@@SA_NN@Z"
);
SET
(
p_std_Ctraits_long_double__Isnan
,
"?_Isnan@?$_Ctraits@O@std@@SA_NO@Z"
);
if
(
sizeof
(
void
*
)
==
8
)
{
/* 64-bit initialization */
SET
(
p_char_assign
,
"?assign@?$char_traits@D@std@@SAXAEADAEBD@Z"
);
SET
(
p_wchar_assign
,
"?assign@?$char_traits@_W@std@@SAXAEA_WAEB_W@Z"
);
...
...
@@ -688,6 +700,41 @@ static BOOL almost_eq(float f1, float f2)
return
f1
<
0
.
0001
;
}
static
void
test_Ctraits_math_functions
(
void
)
{
BYTE
ret
;
ret
=
p_std_Ctraits_float__Isnan
(
0
.
0
);
ok
(
ret
==
FALSE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_float__Isnan
(
0
.
0
/
0
.
0
);
ok
(
ret
==
TRUE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_float__Isnan
(
1
.
0
/
0
.
0
);
ok
(
ret
==
FALSE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_float__Isnan
(
-
1
.
0
/
0
.
0
);
ok
(
ret
==
FALSE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_float__Isnan
(
log
(
-
1
.
0
));
ok
(
ret
==
TRUE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_float__Isnan
(
sqrt
(
-
1
.
0
));
ok
(
ret
==
TRUE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_double__Isnan
(
3
.
14159
/
0
.
0
);
ok
(
ret
==
FALSE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_double__Isnan
(
log
(
-
3
.
14159
));
ok
(
ret
==
TRUE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_long_double__Isnan
(
3
.
14159
/
0
.
0
);
ok
(
ret
==
FALSE
,
"ret = %d
\n
"
,
ret
);
ret
=
p_std_Ctraits_long_double__Isnan
(
sqrt
(
-
3
.
14159
));
ok
(
ret
==
TRUE
,
"ret = %d
\n
"
,
ret
);
}
static
void
test_complex
(
void
)
{
complex_float
c1
,
c2
,
c3
;
...
...
@@ -935,6 +982,7 @@ START_TEST(misc)
test_virtual_call
();
test_virtual_base_dtors
();
test_allocator_char
();
test_Ctraits_math_functions
();
test_complex
();
ok
(
!
invalid_parameter
,
"invalid_parameter_handler was invoked too many times
\n
"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment