msvcrt: Add sincos to importlib.

Fixes cross compilation with GCC 11, which may optimize a pair of sin(),
cos() calls to a single sincos() call, which is not exported by any
msvcrt version.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2021-05-18 18:08:43 +02:00 committed by Alexandre Julliard
parent 7fabcf6fed
commit f013127647
10 changed files with 49 additions and 0 deletions

View File

@ -34,6 +34,7 @@ C_SRCS = \
process.c \
scanf.c \
scheduler.c \
sincos.c \
string.c \
thread.c \
time.c \

View File

@ -34,6 +34,7 @@ C_SRCS = \
process.c \
scanf.c \
scheduler.c \
sincos.c \
string.c \
thread.c \
time.c \

View File

@ -34,6 +34,7 @@ C_SRCS = \
process.c \
scanf.c \
scheduler.c \
sincos.c \
string.c \
thread.c \
time.c \

View File

@ -33,6 +33,7 @@ C_SRCS = \
onexit.c \
process.c \
scanf.c \
sincos.c \
string.c \
thread.c \
time.c \

View File

@ -33,6 +33,7 @@ C_SRCS = \
onexit.c \
process.c \
scanf.c \
sincos.c \
string.c \
thread.c \
time.c \

View File

@ -33,6 +33,7 @@ C_SRCS = \
onexit.c \
process.c \
scanf.c \
sincos.c \
string.c \
thread.c \
time.c \

View File

@ -33,6 +33,7 @@ C_SRCS = \
onexit.c \
process.c \
scanf.c \
sincos.c \
string.c \
thread.c \
time.c \

View File

@ -38,6 +38,7 @@ C_SRCS = \
process.c \
scanf.c \
scheduler.c \
sincos.c \
string.c \
thread.c \
time.c \

40
dlls/msvcrt/sincos.c Normal file
View File

@ -0,0 +1,40 @@
/*
* sincos implementation
*
* Copyright 2021 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep implib
#endif
#include <math.h>
/* GCC may optimize a pair of sin(), cos() calls to a single sincos() call,
* which is not exported by any msvcrt version. */
void sincos(double x, double *s, double *c)
{
*s = sin(x);
*c = cos(x);
}
void sincosf(float x, float *s, float *c)
{
*s = sinf(x);
*c = cosf(x);
}

View File

@ -37,6 +37,7 @@ C_SRCS = \
printf.c \
process.c \
scanf.c \
sincos.c \
string.c \
thread.c \
time.c \