Commit graph

3241 commits

Author SHA1 Message Date
Alexandre Julliard 554e7aee72 msvcrt: Use the rint()/rintf() implementation from the bundled musl library. 2023-04-10 14:18:05 +02:00
Alexandre Julliard b89b7b9aaf msvcrt: Use the pow()/powf() implementation from the bundled musl library. 2023-04-07 17:05:52 +02:00
Alexandre Julliard 25c233ece4 msvcrt: Use the tan()/tanf() implementation from the bundled musl library. 2023-04-07 13:29:46 +02:00
Alexandre Julliard 6ec636f288 msvcrt: Use the cos()/cosf() implementation from the bundled musl library. 2023-04-07 13:29:46 +02:00
Alexandre Julliard 5ddd46592d msvcrt: Use the sin()/sinf() implementation from the bundled musl library. 2023-04-07 13:29:46 +02:00
Alexandre Julliard 90c61c7cd2 msvcrt: Use the __cosdf() implementation from the bundled musl library.
With the changes from 9008cd2f24.
2023-04-07 13:29:46 +02:00
Alexandre Julliard b46bf3ffb1 msvcrt: Use the __sindf() implementation from the bundled musl library.
With the changes from ee7b5ebc3a.
2023-04-07 13:29:46 +02:00
Alexandre Julliard b9b19ea2db msvcrt: Use the __rem_pio2()/__rem_pio2f() implementation from the bundled musl library. 2023-04-07 13:29:46 +02:00
Alexandre Julliard 8252be560e msvcrt: Use the nexttoward()/nexttowardf() implementation from the bundled musl library.
Rename the musl functions to avoid compiler warnings about the
signature mismatch (double vs. long double).
2023-04-07 13:29:46 +02:00
Alexandre Julliard 85e655445b msvcrt: Use the nextafter()/nextafterf() implementation from the bundled musl library. 2023-04-07 13:28:07 +02:00
Alexandre Julliard cd29cd85ab msvcrt: Use the ceil()/ceilf() implementation from the bundled musl library.
With the changes from 2a5e68ab80.
2023-04-07 13:28:06 +02:00
Alexandre Julliard 70bcaec7dc msvcrt: Use the floor()/floorf() implementation from the bundled musl library.
With the changes from 29c07324c1.
2023-04-07 13:28:05 +02:00
Alexandre Julliard 9db27802c3 msvcrt: Use the round()/roundf() implementation from the bundled musl library.
With the changes from df9c11ffa8.
2023-04-07 13:28:02 +02:00
Alexandre Julliard a44bf343ba msvcrt: Use the fma()/fmaf() implementation from the bundled musl library. 2023-04-06 14:32:45 +02:00
Alexandre Julliard 21cbe74b88 msvcrt: Use the log2()/log2f() implementation from the bundled musl library. 2023-04-06 14:32:44 +02:00
Alexandre Julliard 714874ba46 msvcrt: Use the log1p()/log1pf() implementation from the bundled musl library. 2023-04-06 14:32:44 +02:00
Alexandre Julliard ca06438759 msvcrt: Use the exp2()/exp2f() implementation from the bundled musl library. 2023-04-06 14:32:44 +02:00
Alexandre Julliard 6148bf503b msvcrt: Use the atan2()/atan2f() implementation from the bundled musl library. 2023-04-06 14:32:44 +02:00
Alexandre Julliard 03bdd6d52d msvcrt: Use the sinh() implementation from the bundled musl library.
With the changes from 11166aa01e.
2023-04-06 14:32:43 +02:00
Alexandre Julliard 9fd9ebcb7a msvcrt: Use the cosh() implementation from the bundled musl library.
With the changes from 60d178b410.
2023-04-06 14:32:42 +02:00
Alexandre Julliard 66bef6db20 msvcrt: Use the sinhf() implementation from the bundled musl library.
With the changes from 4fd9daea4a.
2023-04-06 14:32:41 +02:00
Alexandre Julliard 248a17377c msvcrt: Use the coshf() implementation from the bundled musl library.
With the changes from 361143252b.
2023-04-06 14:32:39 +02:00
Alexandre Julliard bbc8c34735 msvcrt: Use the __expo2()/__expo2f() implementation from the bundled musl library. 2023-04-06 14:32:39 +02:00
Alexandre Julliard c53bd233f0 msvcrt: Use the log10()/log10f() implementation from the bundled musl library. 2023-04-06 14:32:39 +02:00
Alexandre Julliard f0c700502a msvcrt: Use the log()/logf() implementation from the bundled musl library. 2023-04-06 14:32:39 +02:00
Alexandre Julliard b5bc026798 msvcrt: Use the fmod()/fmodf() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard ec31d30ec0 msvcrt: Use the jn()/yn() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard 5895cb5e93 msvcrt: Use the j1()/y1() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard c75a041044 msvcrt: Use the j0()/y0() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard 4ef90e94fd msvcrt: Use the expm1()/expm1f() implementation from the bundled musl library. 2023-04-05 16:51:47 +02:00
Alexandre Julliard dae30bd66d msvcrt: Use the tgamma()/tgammaf() implementation from the bundled musl library. 2023-04-05 16:51:46 +02:00
Alexandre Julliard 442052fe18 msvcrt: Use the lgamma()/lgammaf() implementation from the bundled musl library. 2023-04-05 16:51:46 +02:00
Alexandre Julliard f27f2d4e66 msvcrt: Use the remquo()/remquof() implementation from the bundled musl library. 2023-04-05 16:51:46 +02:00
Alexandre Julliard 1cff65b69f msvcrt: Use the logb()/logbf() implementation from the bundled musl library. 2023-04-05 16:51:40 +02:00
Alexandre Julliard d1ba9a30dc msvcrt: Use the ilogb()/ilogbf() implementation from the bundled musl library. 2023-04-05 16:51:40 +02:00
Alexandre Julliard 52621691fd msvcrt: Use the scalbn() implementation from the bundled musl library. 2023-04-05 16:51:40 +02:00
Alexandre Julliard 0750079ace msvcrt: Use the nan()/nanf() implementation from the bundled musl library. 2023-04-05 16:51:40 +02:00
Alexandre Julliard b5ba4baa51 msvcrt: Use the copysign()/copysignf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard 233eea6cfa msvcrt: Use the fdim()/fdimf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard 5564512b09 msvcrt: Use the fmin()/fminf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard 4a9258ee97 msvcrt: Use the fmax()/fmaxf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard 0900667876 msvcrt: Use the trunc()/truncf() implementation from the bundled musl library. 2023-04-04 09:43:57 +02:00
Alexandre Julliard 15b50e98a4 msvcrt: Use the hypot()/hypotf() implementation from the bundled musl library. 2023-04-04 09:43:56 +02:00
Alexandre Julliard 406c583c3b msvcrt: Use the cbrt()/cbrtf() implementation from the bundled musl library. 2023-04-04 09:43:56 +02:00
Alexandre Julliard e5808e2036 msvcrt: Use the modf()/modff() implementation from the bundled musl library. 2023-04-04 09:43:56 +02:00
Alexandre Julliard be147a806b msvcrt: Use the frexp()/frexpf() implementation from the bundled musl library. 2023-04-04 09:43:56 +02:00
Alexandre Julliard b7228259f8 msvcrt: Use the fabs()/fabsf() implementation from the bundled musl library. 2023-04-04 09:43:54 +02:00
Torge Matthies 9e86596714 msvcr100: Implement _StructuredTaskCollection::_IsCanceling.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Torge Matthies 58d516f00f msvcr100: Implement _StructuredTaskCollection canceling.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Torge Matthies a3fc7a423f msvcr100: Use enum for _StructuredTaskCollection status bits.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Torge Matthies c71dca838e msvcr100: Use enum for _StructuredTaskCollection return value.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Torge Matthies fc2fa4fb02 msvcr100: Only wake task collection waiters when finished >= count.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2023-03-29 22:29:37 +02:00
Vijay Kiran Kamuju 8426109a43 msvcr100: Add _UnrealizedChore::_CheckTaskCollection stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53794
2023-03-28 15:29:56 +02:00
Piotr Caban 75669ea34a ucrtbase: Add __CxxFrameHandler4 implementation. 2023-03-27 11:02:50 +02:00
Rémi Bernon aafef01cc2 msvcrt: Fix _wdupenv_s behavior with missing env var. 2023-02-23 17:27:29 +01:00
Rémi Bernon 5a08eab303 msvcrt: Fix _dupenv_s behavior with missing env var. 2023-02-23 17:27:29 +01:00
Piotr Caban 667d889d3a msvcrt: Improve error handling in _wgetenv_s. 2023-02-15 21:48:33 +01:00
Piotr Caban b7a586771b msvcrt: Improve error handling in getenv_s.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54486
2023-02-15 21:48:33 +01:00
Piotr Caban d812af3f12 msvcrt: Don't crash on NULL argument in _wgetenv. 2023-02-15 21:48:33 +01:00
Piotr Caban 86fb5c7ba6 msvcrt: Don't crash on NULL argument in getenv. 2023-02-15 21:48:33 +01:00
Jinoh Kang b6a26817bc include/msvcrt: Add noreturn attribute to _assert.
This informs the compiler that no code following an assertion failure
will execute (unless NDEBUG is defined), which increases the accuracy of
compiler warnings and static analyses.

For assert.h, put DECLSPEC_NORETURN before the return type in the
function declaration to remain consistent with other MSVCRT function
declarations.
2023-01-30 18:55:57 +01:00
Alex Henrie 261d7418a8 msvcrt: Change return type of _ctime32_s and _ctime64_s to errno_t. 2023-01-25 13:10:03 +01:00
Alexandre Julliard 468d68d60d msvcrt: Consistently use %I printf format for ULONG_PTR values. 2022-12-09 17:52:25 +01:00
Torge Matthies a261c043eb msvcr120: Throw exception in ~_StructuredTaskCollection if _RunAndWait was not called. 2022-12-08 18:41:25 +01:00
Torge Matthies cef3dcbddd msvcr100: Implement missing_wait exception. 2022-12-08 18:41:25 +01:00
Torge Matthies d1468c2b60 msvcr110: Implement _StructuredTaskCollection constructor. 2022-12-08 18:41:25 +01:00
Torge Matthies f26985affe msvcr100: Implement exception passing from chore threads to _RunAndWait. 2022-12-08 18:41:25 +01:00
Torge Matthies 96e2a766f8 msvcr100: Factor out EXCEPTION_RECORD to exception_ptr conversion. 2022-12-08 18:41:25 +01:00
Torge Matthies 1163168034 msvcr100: Move exception_ptr functions to a separate file. 2022-12-08 18:41:25 +01:00
Torge Matthies 11af5b750c msvcr100: Implement _StructuredTaskCollection::_RunAndWait. 2022-12-08 18:41:25 +01:00
Alexandre Julliard 755d783339 msvcrt: Fix printf format warnings on ARM platforms. 2022-12-08 18:11:23 +01:00
Piotr Caban 0c3653bbcd msvcrt: Construct a real C++ object to test against.
This fixes GCC12 warnings about accessing a too small object.

    wine/dlls/msvcrt/tests/cpp.c: In function 'test_rtti':
    wine/dlls/msvcrt/tests/cpp.c:1036:45: warning: array subscript 2 is outside array bounds of 'void[4]' [-Warray-bounds]
     1036 |       ok (casted == (char*)&child_class_sig0+8, "failed cast to simple_class (%p %p)\n", casted, &child_class_sig0);
          |                     ~~~~~~~~~~~~~~~~~~~~~~~~^~

Signed-off-by: Piotr Caban <piotr.caban@codeweavers.com>
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-07 23:20:39 +01:00
Rémi Bernon 996c115217 msvcrt: Use operator_delete to free _Condition_variable queue nodes. 2022-12-03 00:05:16 +01:00
Michel Zou 53bc6c7a4a msvcrt: Fix errno set on dup from read-only file.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53950
2022-11-30 20:38:27 +01:00
Eric Pouech d1eb78a75d ucrtbase: Handle undecoration of function's reference qualifiers (C++11).
Introducing get_function_qualifier().
Feature is not available in msvcrt.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-21 18:03:53 +01:00
Eric Pouech 56b973cdb9 msvcrt: Rename modifier into qualifier.
That's how they are defined in C/C++ standard.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-21 18:03:53 +01:00
Bartosz Kosiorek 8590023041 msvcrt: Add _vcwprintf_l implementation. 2022-11-16 21:24:19 +01:00
Bartosz Kosiorek af7aaba0bf msvcrt: Add _vcprintf_l implementation. 2022-11-16 21:24:19 +01:00
Bartosz Kosiorek 69ce7894fb msvcrt: Add _scwprintf_p implementation. 2022-11-16 21:24:19 +01:00
Bartosz Kosiorek 78e5efd037 msvcrt: Add _scwprintf_p_l implementation. 2022-11-16 21:24:19 +01:00
Bartosz Kosiorek 1faad02cf1 msvcrt: Add _scwprintf_l implementation. 2022-11-16 21:24:19 +01:00
Alexandre Julliard 89cad8c4b7 msvcrt: Use WINAPIV calling convention for variadic functions. 2022-11-07 20:15:02 +01:00
Alex Henrie 26c9879a6c msvcrt: Change return type of wcsncat_s to errno_t. 2022-11-03 18:33:09 +01:00
Alex Henrie 4db1aeb550 msvcrt: Change return type of freopen_s to errno_t. 2022-11-03 18:33:09 +01:00
Alex Henrie 52066ef248 msvcrt: Change return type of _splitpath_s to errno_t. 2022-11-03 18:33:09 +01:00
Fabian Maurer 5d21966b9f msvcrt/tests: Fix typo (Coverity).
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2022-11-02 16:00:01 +01:00
Piotr Caban 7f5f904cfa msvcrt: Fix errno set on write to read-only file. 2022-11-02 14:40:10 +01:00
Piotr Caban 3fd47b4663 msvcrt: Fix errno set on read from write-only file.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53677
2022-11-02 14:40:10 +01:00
Bartosz Kosiorek 7be72ce2a7 msvcrt: Add _swprintf_p_l implementation. 2022-11-01 20:50:05 +01:00
Bartosz Kosiorek e2911c5ee6 msvcrt: Add _scprintf_p_l implementation. 2022-11-01 20:50:01 +01:00
Bartosz Kosiorek 3ac9ff07af msvcrt: Add _scprintf_p implementation. 2022-11-01 20:49:58 +01:00
Bartosz Kosiorek 25d44dd397 msvcrt: Add _scprintf_l implementation. 2022-11-01 20:49:54 +01:00
Bartosz Kosiorek 74252df967 msvcrt: Add _fwprintf_s_l implementation. 2022-11-01 20:49:50 +01:00
Bartosz Kosiorek 2b19ff5c68 msvcrt: Add _fwprintf_p_l implementation. 2022-11-01 20:49:46 +01:00
Bartosz Kosiorek 630b9f8ec0 msvcrt: Add _fwprintf_p implementation. 2022-11-01 20:49:42 +01:00
Bartosz Kosiorek 33551b28a5 msvcrt: Add _fprintf_s_l implementation. 2022-11-01 20:49:38 +01:00
Bartosz Kosiorek 03ae830653 msvcrt: Add _fprintf_p_l implementation. 2022-11-01 20:49:34 +01:00
Bartosz Kosiorek f043fc32c9 msvcrt: Add _fprintf_p implementation. 2022-11-01 20:49:31 +01:00
Bartosz Kosiorek 52e2a53575 msvcrt: Add _fprintf_l implementation. 2022-11-01 20:49:27 +01:00
Bartosz Kosiorek dbb01a74e0 msvcrt: Add _mbctokata_l implementation. 2022-10-31 20:41:45 +01:00