reactos/reactos/lib/drivers
KJK::Hyperion 643b171651 !!! ATTENTION EVERYONE - do a make clean after getting this revision !!!
!!! ATTENTION PSEH USERS - new features & a change in rules !!!

modified   include/reactos/libs/pseh/framebased.h
modified   include/reactos/libs/pseh/framebased/internal.h
deleted    include/reactos/libs/pseh/setjmp.h
modified   lib/pseh/framebased.c
deleted    lib/pseh/i386/setjmp.asm
modified   lib/pseh/pseh.rbuild
   Big PSEH revamp. If God is kind and merciful, this might be the last revision to PSEH ever
   !!! RULE CHANGE !!! Obsoleted _SEH_NO_NATIVE_NLG, do NOT use it anymore, it will now cause fatal compile-time errors
   !!! RULE CHANGE !!! As a side effect to the fix for a bug where a _SEH_TRY nested in a _SEH_HANDLE would lead to stack corruption, using "return" or "goto" from anywhere inside a PSEH block is now FORBIDDEN; all code that already did has been fixed in this revision
   !!! NEW FEATURE !!! To leave a PSEH block from anywhere inside it, use the new _SEH_YIELD(<statement>) macro; examples: _SEH_YIELD(return value), _SEH_YIELD(goto label), _SEH_YIELD(returnvalue = value; goto label); ALWAYS ensure a _SEH_YIELD() leads outside the top-level _SEH_TRY block - do NOT goto into an ancestor _SEH_TRY block!!! Also note that _SEH_YIELD() disables SEH protection for the enclosed statement, so do NOT perform operations that might throw exceptions inside a _SEH_YIELD(); finally, ensure the enclosed statement does NOT allow execution to continue, or _SEH_YIELD() will get in an infinite loop; bear with me, for I have done the impossible, so don't expect miracles
   Don't use a fake setjmp/longjmp *ever*, too dangerous; removed _SEHLongJmp & _SEHSetJmp, obsoleted _SEH_NO_NATIVE_NLG
   On GCC, use __builtin_setjmp/__builtin_longjmp instead of setjmp/longjmp; they produce efficient code that plays well with optimizations, require no external library and are designed specifically for exception handling; should result in faster code and no hidden bugs
   Use inline code to enter/leave trylevels; yields much better binary code
   Inline handlers inside _SEH_PortableFrame_t instead of pointing to them; yields better code for the most common usages
   Turn all top-level statements generated by macros from bare scopes into for loops, to ensure they are used correctly as stand-alone statements
   Removed bitrotten old syntax, because it wasn't being used nor maintained

modified   dll/3rdparty/freetype/freetype.rbuild
modified   dll/win32/kernel32/kernel32.rbuild
modified   drivers/network/tcpip/tcpip.rbuild
modified   lib/drivers/ip/ip.rbuild
modified   lib/rtl/rtl.rbuild
modified   ntoskrnl/ntoskrnl.rbuild
modified   subsystems/win32/win32k/win32k.rbuild
   Removed obsolete _SEH_NO_NATIVE_NLG define

modified   drivers/network/afd/afd/lock.c
modified   drivers/network/afd/afd/tdi.c
modified   subsystems/csr/csrsrv/api.c
modified   subsystems/win32/win32k/ntuser/clipboard.c
modified   subsystems/win32/win32k/ntuser/window.c
   Use the new _SEH_YIELD macro to return/goto from SEH blocks

modified   tools/rbuild/backend/mingw/modulehandler.cpp
modified   tools/rbuild/backend/mingw/modulehandler.h
modified   tools/rbuild/module.cpp
modified   tools/rbuild/project.dtd
modified   tools/rbuild/rbuild.h
   Don't use the obsolete _SEH_NO_NATIVE_NLG flag anymore
   Only add underscores to imported symbols when module is marked underscoresymbols="true"; fixes debugsup and, indirectly, PSEH tracing

modified   lib/3rdparty/mingw/mingw.rbuild
   Build with underscoresymbols="true"

svn path=/trunk/; revision=26224
2007-04-01 00:07:25 +00:00
..
chew set svn:eol-style to native for *.rbuild 2006-02-23 00:01:01 +00:00
csq - Make ROS buildable with GCC 4.1 2006-03-04 17:27:40 +00:00
ip !!! ATTENTION EVERYONE - do a make clean after getting this revision !!! 2007-04-01 00:07:25 +00:00
oskittcp Hidden bug in our tcp/ip stack, at shutdown api the so can be NULL if that happen, ReactOS will bsod the tcp/ip stack. 2006-05-29 12:43:01 +00:00
directory.rbuild Change remaining .xml build files to .rbuild and fixup links. 2006-02-18 19:21:01 +00:00