Commit Graph

31 Commits

Author SHA1 Message Date
Eric Pouech 01111b941d msvcrt: Fix double-free and memory leak in type_info destructor.
Spotted by toying with the gcc's static analyzer.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-16 20:44:27 +01:00
Piotr Caban 731dca90c7 msvcp90: Use throw_exception helper to throw exception object only.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Piotr Caban d7e9190032 msvcp90: Introduce throw_failure helper.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Piotr Caban 93455491fc msvcp90: Introduce throw_range_error helper.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Piotr Caban 503f3462c6 msvcp90: Don't use throw_exception helper for out_of_range exception.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Piotr Caban 73c4ae66c2 msvcp90: Don't use throw_exception helper for runtime_error exception.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Piotr Caban b561d01305 msvcp90: Don't use throw_exception helper for invalid_argument exception.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Piotr Caban 6b7b6f45e1 msvcp90: Don't use throw_exception helper for length_error exception.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Piotr Caban 1c09a7c5c4 msvcp90: Don't use throw_exception helper for bad_alloc exception.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 21:49:09 +02:00
Piotr Caban eebc5c505e msvcp90: Don't use throw_exception helper for rethrow.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 21:49:09 +02:00
Piotr Caban a2d8a0ce4e msvcp90: Remove type_info_dtor helper from CREATE_TYPE_INFO_VTABLE macro.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 18:43:39 +02:00
Piotr Caban 8440658494 msvcp: Remove MSVCP_ prefix from RTTI and vtable related code.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-07 22:36:11 +02:00
Arkadiusz Hiler f3f948a5a3 msvcp90: Add helpers for creating base class RTTI.
Suggested by Piotr Caban.

Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-06 22:46:12 +02:00
Piotr Caban 6568a8cb62 msvcp90: Add macro that define type_info vtable.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-06 22:46:12 +02:00
Arkadiusz Hiler b3428ac9d0 msvcirt: Include iostream in strstream's and stdiostream's rtti hierarchy.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:25 +02:00
Jacek Caban 12ead6742f msvcp: Use __ASM_USE_THISCALL_WRAPPER macro.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 12:50:45 +02:00
Alexandre Julliard 0a79eb3608 include: Use the __thiscall attribute directly for the Mingw build.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Alexandre Julliard ee4db2005e include: Define thiscall assembly wrappers globally.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 20:11:19 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Ken Thomases 849daa9c85 msvcp90: Fix vtable alignment on macOS and certain non-x86 architectures.
On some platforms and architectures, the .align <n> directive aligns to 2^n
bytes, not n bytes.  The .balign <n> directive always aligns to n bytes.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 21:42:04 +01:00
Piotr Caban 7ff10d348f msvcp: Fix failure class layout and exception information data.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-06 19:27:09 +01:00
Piotr Caban 7274ed63e2 msvcrt: Don't define type_info structures as const so we can set demangled class name.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-20 18:59:35 +02:00
Daniel Lehman f664a991fd msvcp90: Add std::range_error table.
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-10-13 15:09:17 +02:00
Alexandre Julliard cdef3287db msvcrt: Undefine __thiscall before redefining it. 2015-03-04 21:50:32 +09:00
Alexandre Julliard e1cf7f5a2e msvcp90: Add support for throwing bad cast exception to avoid unused variable warning. 2015-03-04 21:50:31 +09:00
Piotr Caban a1797d885f msvcp: Remove superfluous semicolons. 2012-11-28 20:14:47 +01:00
Daniel Lehman 1f324d543f msvcp90: Fix cxx exception information for 64-bit. 2012-10-09 18:32:29 +02:00
Piotr Caban 38d7325106 msvcp90: VTBL_WRAPPER(60) is unused so remove it. 2012-09-17 12:08:34 +02:00
Piotr Caban 7477ceb6d1 msvcp90: Fixed RTTI structure on 64-bit systems. 2012-09-05 21:56:58 +02:00
Piotr Caban 584a48a380 msvcp90: Manually define virtual destructors in vtables. 2012-08-17 16:24:50 +02:00
Piotr Caban 6c864c699d msvcp90: Keep class definitions in separate file. 2012-07-03 16:58:29 +02:00