Commit Graph

2108 Commits

Author SHA1 Message Date
Daniel Lehman 67012e8300 msvcrt: Protect onexit table with critical section.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-12 20:32:01 +02:00
Daniel Lehman 3ea70fa1e2 msvcrt: Use exception base to create copy constructor pointer.
The exception base (exc_base) from the ExceptionRecord is used in
find_caught_type to find the type info for the exception. All related
type information is relative to this base, including the offset for
the copy constructor.

Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-11 19:56:02 +02:00
Martin Storsjo 3d3d080688 msvcrt: Implement setjmp/longjmp on aarch64.
Also include the rest of except_*.c (based on except_arm.c) as stubs.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:14 +02:00
Alex Henrie efaeb5cf8a ucrtbase: Add __stdio_common_vfwprintf_s.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 14:23:57 +02:00
Alex Henrie a116f4a7ab ucrtbase: Add __stdio_common_vfprintf_s.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 14:23:48 +02:00
Alex Henrie 5074bb9a4b msvcrt: Note that __stdio_common functions are for ucrtbase.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 14:23:38 +02:00
Józef Kucia 2a2f525eb3 msvcrt: Fix precision handling for string arguments.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 20:15:32 +02:00
Nikolay Sivov 1a6e50ce97 msvcrt: Added _ismbcl0().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 11:11:43 +09:00
Piotr Caban 395a65bdc6 msvcrt: Fix strcpy implementation so it works on overlapping buffers.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-06 10:34:11 +09:00
Akihiro Sagawa 967fb744e4 msvcrt: Fix mbstowcs with empty strings.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-06 10:32:36 +09:00
Akihiro Sagawa 82bf4edf36 msvcrt/tests: Add tests for mbstowcs and wcstombs with empty strings.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-06 10:32:29 +09:00
Martin Storsjo a44b52d102 msvcrt: Export -f suffixed float functions functions on arm64.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-03 19:18:06 +02:00
Martin Storsjo a4af0aaf5f msvcrt: Don't export _isnanf, _nextafterf, _scalbf and frexpf on arm.
Based on the import libraries in MSVC 2012, 2013 and in the Windows 10
SDK, these functions actually aren't exported on arm - only on x86_64.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-03 19:17:53 +02:00
Alex Henrie 994c071a11 msvcrt: Set errno through the _matherr function.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 14:16:50 +02:00
Alistair Leslie-Hughes d379dc4cb0 msvcrt/tests: Use standard wine_dbgstr_longlong.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 13:55:34 +02:00
Alex Henrie d20b89cf93 msvcrt: Don't set errno in sqrt(f) if x is positive infinity.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-01 19:39:54 +02:00
Alex Henrie 6e73ef2091 msvcrt: Don't set errno in sinh(f), cosh(f), or atan2(f) if x is ±INF.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-31 15:04:48 +02:00
Alex Henrie 70c338c27a msvcrt: Don't set errno in _logb(f) if x is ±INF.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-31 15:04:45 +02:00
Alex Henrie 9e3b3c9bac msvcrt: Set errno in _logb(f) if x is 0.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-31 15:04:41 +02:00
Alex Henrie 417b2a4f52 msvcr120: Don't double-check error conditions in log2f.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-27 21:59:40 +02:00
Alex Henrie 79c3b610c4 msvcrt: Set ERANGE in exp functions on finite input and infinite output.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-26 22:14:00 +02:00
Alexandre Julliard c293acac01 msvcrt: Mark function that are only called from assembly as hidden.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-25 11:49:07 +02:00
Alex Henrie eca2999113 msvcr120: Declare ret as a float in functions that return a float.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:31 +02:00
Alex Henrie f5d3ba5888 msvcrt: Don't set errno in log functions if x is positive infinity.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Alex Henrie b1230c3484 msvcr120: Set errno in log2.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Alex Henrie 31b835d0e0 msvcr120: Add log1p.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:33 +02:00
Alex Henrie 79715cce88 msvcr120: Add expm1.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-14 13:53:26 +02:00
Alex Henrie 26163f5cdf msvcr120: Add erfc.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-14 13:53:11 +02:00
Piotr Caban ab313dd3be msvcr120: Fix exception object refcounting in __ExceptionPtrAssign.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 21:04:33 +02:00
Alex Henrie 860c1578e6 msvcr120: Add atanh.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:30:44 +02:00
Alex Henrie f1dad14807 msvcr120: Add acosh.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:30:27 +02:00
Piotr Caban 4df7ced7b0 msvcr120: Add fallback implementation of asinh.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:29:57 +02:00
Piotr Caban e495e25af7 msvcr120: Add fallback implementation of erf function.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:29:55 +02:00
Alex Henrie ddff85a361 msvcr120: If erff is not available, fall back to erf.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:29:48 +02:00
Francois Gouget 2dada69909 msvcrt/tests: A couple of spelling fixes in ok() messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-06 18:49:39 +02:00
Huw Davies b7bb360be3 msvcrt: _difftime64() takes 64-bit args.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 16:22:25 +02:00
Marcus Meissner d3d43ffded msvcrt: Free the temporary filename (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-20 10:39:09 +02:00
Daniel Lehman 66b65474d1 msvcrt: Support rethrowing SEH exceptions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:43 +02:00
Daniel Lehman f1d307cae5 msvcrt: Only unwind current catch block when handling nested exception.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:41 +02:00
Daniel Lehman 57266eec5e msvcrt: Clean up registered C++ objects in handler.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:39 +02:00
Daniel Lehman ac9db1138c msvcrt: Move exception rethrow handling to call_catch_block.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:34 +02:00
Piotr Caban c7a51dfdcb msvcrt: Translate SEH exception on each call to __CxxFrameHandler (i386).
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:47:13 +02:00
Piotr Caban e4c9a2ec81 msvcrt: Use temp directory when creating file in tmpfile.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 19:50:04 +02:00
Daniel Lehman 4aa813867c msvcrt: Translate SEH exception on each call to __CxxFrameHandler.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 11:26:38 +02:00
Piotr Caban 05a6e52613 msvcr100: Add reader_writer_lock::scoped_lock implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-09 09:36:45 -05:00
Piotr Caban e76ea27ef6 msvcr100: Add _invalid_parameter_noinfo_noreturn implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-04 16:25:07 +02:00
Piotr Caban 5823e5b914 msvcrt: Fix '%z' format handling in strftime.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 17:15:23 +02:00
Daniel Lehman 64c4c39746 msvcrt: Stop at trylevel for ControlPc on target frame for non-consolidate unwinds.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 19:17:35 +02:00
Daniel Lehman b0326bea74 msvcrt: Handle synchronous flag for x64 C++ exceptions.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 19:17:28 +02:00
Daniel Lehman 867a27c964 msvcrt: Add __ExceptionPtrAssign.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 09:10:18 +02:00