Commit Graph

38 Commits

Author SHA1 Message Date
Igor Paliychuk 521604ffce msvcrt: _CxxThrowException is stdcall, not cdecl. 2011-05-16 16:35:27 +02:00
Alexandre Julliard 5807b5e55c msvcrt: Add support for VC7 and VC8 extensions to the C++ exception handler. 2010-04-13 17:21:06 +02:00
Alexandre Julliard 5af33ee06f msvcrt: Use strict function prototypes. 2009-10-06 16:12:39 +02:00
Alexandre Julliard 0cb406ef29 msvcrt: Add call frame annotations in x86 assembly code. 2009-06-25 12:05:09 +02:00
Alexandre Julliard a6d7b6fc60 msvcrt: Implemented __CppXcptFilter. 2008-03-11 16:14:44 +01:00
Andrew Talbot 9069577cd0 msvcrt: Exclude unused headers. 2007-05-15 12:19:12 +02:00
Andrew Talbot 7b10348088 msvcrt: Replace inline static with static inline. 2007-03-20 13:00:59 +01:00
Joel Parker 2319999a05 Remove redundant semicolons for ANSI compatibility. 2007-01-17 11:58:15 +01:00
Andrew Talbot 6d9f0c2052 msvcrt: Qualify use of WINE_DEFAULT_DEBUG_CHANNEL. 2007-01-02 13:21:08 +01:00
Alexandre Julliard 0689e9ea05 msvcrt: Define __CxxLongjmpUnwind for i386 only. 2006-12-16 17:37:20 +01:00
Alexandre Julliard 7d98599d7d msvcrt: Implemented __CxxLongjmpUnwind. 2006-12-15 13:41:48 +01:00
Alexandre Julliard 8592c4b876 msvcrt: Make pointers to read-only exception descriptors const. 2006-12-15 13:41:31 +01:00
Michael Stefaniuc 6520ee04c8 msvcrt: Win64 printf format warning fixes. 2006-10-04 09:58:47 +02:00
Alexandre Julliard 24beabfd4e msvcrt: Explicitly specify CDECL calling convention on exported functions. 2006-06-13 11:40:23 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Peter Beutner 82818284c3 msvcrt: Save esp before calling catch block and restore afterwards.
It seems like the esp value (which is saved at [ebp-16]) is sometimes
changed inside the catch handler so we end up with a bogus esp
afterwards.  To avoid that save it before calling the catch block.
2006-02-22 12:21:00 +01:00
Peter Beutner be07b6db59 msvcrt: Fix handling of multiple nested exceptions.
Save in each nested frame a pointer to the original exception record.
Only one refence in thread_data isn't enough when we have multiple
nested frames.
2006-02-22 12:06:56 +01:00
Peter Beutner 62dc7f52f4 msvcrt: Fix handling of nested exceptions.
Move handling of nested exceptions completely in the
catch_function_nested_handler().  If a new exception was thrown inside
a catch block destroy the old exception object, if it is a rethrow
re-propagate the previous object.
2006-02-22 12:04:13 +01:00
Peter Beutner 916c4b6b8c msvcrt: Remove bogus code.
We can't just pop a exception record from the exception handler list
which we haven't put there.
2006-02-17 17:37:26 +01:00
Alexandre Julliard c016509119 msvcrt: Preserve all registers in call_ebp_func. 2006-01-21 19:23:02 +01:00
Alexandre Julliard abb170fac3 msvcrt: Added some assembly glue for the asm bits of __CxxFrameHandler
to avoid having to save/restore the whole context on every call.
2006-01-05 13:56:11 +01:00
Peter Beutner 78ea87c580 Fix exception handling for non CXX_EXCEPTIONs. 2005-10-30 19:03:43 +00:00
Alexandre Julliard 9f859692f9 Replace DPRINTF by TRACE in a few places. 2005-09-25 15:23:21 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard 26050b49d5 Prefix the internal name of all register functions with __regs_ for
better consistency and to make automated checking possible.
2005-05-07 18:10:30 +00:00
Peter Chapman 505dfdefb5 Fix up several inline assembler blocks so that they produce correct
code with the -fomit-frame-pointer gcc flag.
2004-12-02 18:19:25 +00:00
Alexandre Julliard 5d5f523052 Output the virtual tables for the exception classes using assembly so
that they can have the correct layout, and get rid of the
corresponding hacks in RTTI_GetObjectLocator.
Build more of the code on non-i386 platforms too.
Protect __RTDynamicCast and friends with exception handlers.
Fix handling of the vtable pointer so that we don't need to declare
all object pointers as type_info.
2004-10-19 04:03:07 +00:00
Alexandre Julliard b8d5d962ee Fixed __RTDynamicCast to return the correct pointer for multiple
inheritance hierarchies (thanks to Muse Research for help with this
one).
Added some debug output.
2004-10-18 23:13:55 +00:00
Dimitrie O. Paun 0377462460 Split the MSVCRT implementation headers from the public headers.
Fix some naming conventions aberrations.
Add tests to ensure consistency between the two sets of symbols.
2004-06-25 01:19:15 +00:00
Alexandre Julliard f752be843e Implement some more register functions using DEFINE_REGS_ENTRYPOINT to
make them available for imports.
2003-12-04 05:51:01 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard ee106783d0 Renamed EXCEPTION_FRAME to EXCEPTION_REGISTRATION_RECORD since that
seems to be the official name.
2003-08-28 03:07:56 +00:00
Jon Griffiths c62c1c0158 Add __CxxDetectRethrow(), __CxxQueryExceptionSize().
Constify parameters (enabling static RTTI).
Move type definitions into a header for sharing with cpp.c objects.
2003-03-18 18:26:05 +00:00
Dimitrie O. Paun 737d4be892 Move excpt.h out of include/msvcrt/ as it does not conflict with any
standard Unix header.
2002-12-12 23:34:01 +00:00
Alexandre Julliard 6bd508f82c Added clobber lists to the inline assembly functions. 2002-11-01 01:50:51 +00:00
Alexandre Julliard 5ad69f19bf Added support for nested exceptions happening inside a catch block. 2002-10-31 02:10:15 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Alexandre Julliard 37a4c9b8fe First pass implementation of CxxFrameHandler (thanks to Juergen
Schmied for help in testing it).
2002-07-24 03:02:51 +00:00