Alexandre Julliard
2a92c58e11
include: Use the standard va_list instead of __ms_va_list when building with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 18:28:01 +02:00
Alexandre Julliard
da8176df61
msvcrt: Move _fdclass/_dclass to avoid forward references.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 18:28:00 +02:00
Alexandre Julliard
84bfdccf6d
include: Add prototypes for the byteswap functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-13 18:41:02 +02:00
Ted Lyngmo
51b9f4cd2b
ucrtbase: Add support for x mode in fopen.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51846
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 19:43:01 +02:00
Piotr Caban
bb637469e1
msvcrt: Don't crash on NULL in fclose.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 19:42:26 +02:00
Alexandre Julliard
97479d3d32
ntdll: Move some exception definitions to winternl.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 13:52:42 +02:00
Piotr Caban
5d5f11c002
msvcrt: Support z length modifier in scanf.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 11:43:12 +02:00
Alexandre Julliard
088a787a2c
makefiles: Make -mno-cygwin the default.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Piotr Caban
2c01333d03
msvcrt: Use unaligned data types in memset.
...
This fixes a regression in memset on ARM described by Martin:
ARM can do 64 bit writes with the STRD instruction, but that
instruction requires a 32 bit aligned address - while these stores
are unaligned.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 22:22:44 +02:00
Nikolay Sivov
0eaa43f6af
msvcrt: Use free() on msvcrt_wstrdupa() results (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:23 +02:00
Rémi Bernon
7b17d70815
msvcrt: Improve memset performance using overlapping stores.
...
For n larger than 16 we store 16 bytes on each end of the buffer,
eventually overlapping, and then 16 additional bytes for n > 32.
Then we can find a 32-byte aligned range overlapping the remaining part
of the destination buffer, which is filled 32 bytes at a time in a loop.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:37:32 +02:00
Francois Gouget
a6b1e97eb6
msvcrt: Remove CDECL on static functions where not needed.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-06 14:52:51 +02:00
Piotr Caban
c306c527e7
msvcrt: Fix _CxxThrowException prototype.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Michael Stefaniuc
2d9e89a80f
msvcrt/tests: Remove redundant NULL check before free().
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 21:49:08 +02:00
Piotr Caban
5e3f959aed
msvcrt: Simplify throw_exception helper.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:03:33 +02:00
Piotr Caban
1c9a30f217
msvcrt: Move improper_scheduler_detach to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:03:28 +02:00
Piotr Caban
9694fc11fe
msvcrt: Move improper_scheduler_attach to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:01:00 +02:00
Piotr Caban
c9189a411b
msvcrt: Move invalid_scheduler_policy_thread_specification to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:00:57 +02:00
Piotr Caban
a7bbdea089
msvcrt: Move invalid_scheduler_policy_value to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:00:53 +02:00
Piotr Caban
635f59f276
msvcrt: Move invalid_scheduler_policy_key to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:00:49 +02:00
Piotr Caban
a8decf5c15
msvcrt: Move scheduler_resource_allocation_error to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:00:45 +02:00
Piotr Caban
ef81cfb5fb
msvcrt: Move improper_lock implementation to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:00:41 +02:00
Piotr Caban
f6f8b30c47
msvcrt: Introduce macro for creating exception class.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:00:34 +02:00
Piotr Caban
f1fa214b9f
msvcrt: Rename exception::what() implementation to exception_what.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 19:00:27 +02:00
Piotr Caban
ce5c989171
msvcrt: Move _Trace_ppl_function to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:44:11 +02:00
Piotr Caban
69e2467aa7
msvcrt: Move _Trace_agents function to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:44:03 +02:00
Piotr Caban
3192bb9764
msvcrt: Move lock Concurrency functions to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:43:59 +02:00
Piotr Caban
eff57ac9c6
msvcrt: Rename scheduler.c file to concurrency.c.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:43:50 +02:00
Piotr Caban
6c4cddc4f6
msvcrt: Add macro that defines type_info vtable.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:43:44 +02:00
Piotr Caban
bc05707364
msvcrt: Allow specifying destructor in DEFINE_CXX_DATA macro.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:43:34 +02:00
Piotr Caban
b24ee3b534
msvcrt: Use new() for allocations returning BadAlloc exception.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:43:28 +02:00
Luke Deller
6553a66ba1
msvcrt/tests: Add test for fopen/_open access hints.
...
Signed-off-by: Luke Deller <luke@deller.id.au>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:42:20 +02:00
Luke Deller
1ca67c8ba2
msvcrt: Translate file open access pattern hints.
...
Translate access pattern hints supplied to fopen / _open into the
corresponding attributes for the lower level CreateFileW call.
Signed-off-by: Luke Deller <luke@deller.id.au>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Piotr Caban
62d2693701
msvcrt: Fix x87 FPU status register assignment detection.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51568
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51579
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 11:38:33 +02:00
Piotr Caban
a440e8aa8e
msvcrt: Implement _fpreset on arm and aarch64.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Piotr Caban
0c808ff4d3
msvcrt: Use _setfp helper on all architectures.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Piotr Caban
b28b409bb5
msvcrt: Introduce _setfp helper on arm.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Piotr Caban
63f3f4283f
msvcrt: Introduce _setfp helper on aarch64.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Piotr Caban
f1ef14dc17
msvcrt: Introduce _setfp helper to access floating point status and control words.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Piotr Caban
f53b2095f3
msvcrt: Don't reset x87 in x86_64 fpreset.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Piotr Caban
f46ef017cd
msvcrt: Don't clear x87 status word x86_64 _clearfp.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Piotr Caban
ab3afe8347
msvcrt: Don't check x87 status word in x86_64 _statusfp.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Piotr Caban
24fb503e2f
msvcrt: Introduce _setfp_sse helper to access mxcsr register.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Martin Storsjö
8c02239619
msvcrt: Implement fesetenv for arm.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Martin Storsjö
6391a9f897
msvcrt: Implement fesetenv for arm64.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Martin Storsjö
6521134705
msvcrt: Implement _control87 for arm.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:31 +02:00
Martin Storsjö
1b6f59b5d0
msvcrt: Implement _clearfp for arm.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:31 +02:00
Martin Storsjö
70400c9368
msvcrt: Implement _statusfp for arm.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:31 +02:00
Alexandre Julliard
08e5080089
msvcrt: Remove leftover __wine_init_unix_lib() call.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Martin Storsjo
37b896db48
msvcrt: Convert double (numerically) to UINT64 via INT64, fixing pow() on arm.
...
If converting a negative double to an UINT64, on arm it's clipped
to zero instead of converted to its two's complement form (contrary
to x86).
This fixes cases like pow(2.0, -2.0) on arm/aarch64. Add similar
casts to expf() too which seems to have a similar pattern, even if
it's not known if that case can cause issues or not.
In the original musl source, the converttoint() function returns a
signed int32_t, doing the same double->signed->unsigned conversion,
implicitly.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00