- Use KeBugCheck(MEMORY_MANAGEMENT) instead of ASSERT(FALSE), so it dies on release builds too.
- Enable support for Hyper-V.
- Fix incorrect gate wait code -- fixes sporadic crashes in the network stack.
- Mark KeBugCheck*, ExRaise* and RtlRaiseStatus as declspec(noreturn), for better optimization of functions which call them, less potential warnings in the compiler, and, assuming coverity understands it, less false CIDs.
- Fix KiUpdateDr7, which resulted in broken support for hardware breakpoints.
- Fix failure cases in EnumerateRootDevices which might've freed non-allocated memory.
- Fix NtAddAtom/NtFindAtom logic when dealing with NULL or kernel Atom names.
Patch by Alex Ionescu.
svn path=/trunk/; revision=37668
If the compiler is not GCC, assume native SEH support
modified lib/pseh/framebased-gcchack.c
modified lib/pseh/i386/framebased-gcchack.S
Allow pseh to be compiled with Visual C++ without warnings
svn path=/trunk/; revision=37663
modified include/psdk/rpcndr.h
Mask argument before casting in NdrFcShort
modified include/psdk/winternl.h
Visual C++-compatible placement of function attribute
modified include/reactos/wine/port.h
Visual C++ has interlocked intrinsics, too
modified lib/3rdparty/adns/adns_win32/adns_unix_calls.c
modified lib/3rdparty/adns/src/setup.c
alloca -> _alloca
modified lib/3rdparty/libwine/debug.c
Fix a benign range check warning
modified lib/3rdparty/libwine/debug_ros.c
Properly decorate malloc replacement
modified lib/3rdparty/libwine/string.c
The actual function is called _stricmp
modified lib/3rdparty/mingw/wcrt1.c
Visual C++ support
svn path=/trunk/; revision=37659
- Tests some configurations of DrawIcon and DrawIconEx, highlighting another problem in 32bpp
- Reference TransparentBlt and AlphaBlend directly
svn path=/trunk/; revision=37640
modified base/shell/explorer/explorer.rbuild
modified dll/win32/glu32/glu32.rbuild
modified dll/win32/kernel32/kernel32.rbuild
modified drivers/wdm/audio/backpln/portcls/portcls.rbuild
modified ReactOS-generic.rbuild
Set -Wno-non-virtual-dtor globally because we have no use for this warning and it only messes with COM interface definitions
This alone disables a ton of spurious warnings
modified tools/rbuild/backend/mingw/mingw.cpp
modified tools/rbuild/backend/mingw/modulehandler.cpp
modified tools/rbuild/backend/mingw/modulehandler.h
Project-global compiler flags now actually work as intended
Removed some dead code
modified dll/directx/dxdiagn/container.c
modified dll/directx/wine/d3d8/device.c
modified dll/directx/wine/d3d9/device.c
modified dll/win32/comdlg32/printdlg.c
modified dll/win32/crypt32/chain.c
modified dll/win32/crypt32/main.c
modified dll/win32/crypt32/oid.c
modified dll/win32/crypt32/protectdata.c
modified dll/win32/crypt32/rootstore.c
modified dll/win32/dbghelp/pe_module.c
modified dll/win32/fusion/assembly.c
modified dll/win32/gdiplus/font.c
modified dll/win32/gdiplus/image.c
modified dll/win32/icmp/icmp_main.c
Get rid of warnings.
Patch by Robin Geuze <r.geuze@chello.nl>
svn path=/trunk/; revision=37629
- Patch by Daniel Zimmermann, <netzimme AT aim DOT com>
- Fixes possible memory leaks pointed out by CID 605, bug #3910
svn path=/trunk/; revision=37628
modified dll/win32/glu32/glu32.rbuild
modified dll/win32/kernel32/kernel32.rbuild
modified drivers/wdm/audio/backpln/portcls/portcls.rbuild
modified ReactOS-generic.rbuild
Set -Wno-non-virtual-dtor globally because we have no use for this warning and it only messes with COM interface definitions
This alone disables a ton of spurious warnings
modified tools/rbuild/backend/mingw/mingw.cpp
modified tools/rbuild/backend/mingw/modulehandler.cpp
modified tools/rbuild/backend/mingw/modulehandler.h
Project-global compiler flags now actually work as intended
Removed some dead code
modified dll/directx/dxdiagn/container.c
modified dll/directx/wine/d3d8/device.c
modified dll/directx/wine/d3d9/device.c
modified dll/win32/comdlg32/printdlg.c
modified dll/win32/crypt32/chain.c
modified dll/win32/crypt32/main.c
modified dll/win32/crypt32/oid.c
modified dll/win32/crypt32/protectdata.c
modified dll/win32/crypt32/rootstore.c
modified dll/win32/dbghelp/pe_module.c
modified dll/win32/fusion/assembly.c
modified dll/win32/gdiplus/font.c
modified dll/win32/gdiplus/image.c
modified dll/win32/icmp/icmp_main.c
Get rid of warnings.
Patch by Robin Geuze <r.geuze@chello.nl>
svn path=/trunk/; revision=37623
- Don't restrict the width of PS_SOLID pens
- Fixes 25 gdi32 pen winetests
- Pen types left tbd: PS_NULL (problems in GetObject and ExtCreatePen) and PS_ALTNATE (EngLineTo/StrokePath does not support bitmap pens)
svn path=/trunk/; revision=37620
MaxSystemInfoClass is now much larger than the size of the CallQS table: use the actual size of the table in range checks to prevent an overrun
Fixes CID 527, CID 528
svn path=/trunk/; revision=37616
Migrate ntoskrnl to PSEH 2.0. The code should speak for itself
modified ntoskrnl/ex/atom.c
_SEH_LEAVE was used improperly in NtQueryInformationAtom. As a free bonus, the upgrade to PSEH 2.0 (and to _SEH2_LEAVE) fixes the potential bug
modified ntoskrnl/fsrtl/fastio.c
Corrected exception filter logic
modified ntoskrnl/include/internal/ex.h
Goodbye _SEH_ExSystemExceptionFilter, you won't be missed
modified ntoskrnl/include/internal/ntoskrnl.h
Don't FORCEINLINE functions that use SEH, it's bad form and the compiler doesn't like
modified ntoskrnl/ke/i386/usercall.c
Dispatch the correct EXCEPTION_RECORD in case of exception inside KiInitializeUserApc
modified ntoskrnl/ke/powerpc/exp.c
Removed bogus, unused SEH code
modified ntoskrnl/ntoskrnl-generic.rbuild
Sources using PSEH 2.0 must be compiled with -fno-unit-at-a-time due to a GCC bug. See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054
Apparently, -fno-unit-at-a-time makes GCC crash when using precompiled headers. Disable precompiled headers for ntoskrnl
svn path=/trunk/; revision=37615
Implemented RPC exception handling macros with PSEH 2.0
modified base/services/rpcss/rpcss.rbuild
modified dll/win32/rpcrt4/rpcrt4.rbuild
RPC proxy stubs now depend on pseh. We should really add pseh as a link dependency automatically in rbuild, but, eh
modified tools/rbuild/backend/mingw/modulehandler.cpp
Compile RPC proxy stubs with -fno-unit-at-a-time due to a GCC bug. See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054
svn path=/trunk/; revision=37614
modified dll/win32/advapi32/advapi32.h
modified dll/win32/gdi32/include/precomp.h
modified dll/win32/setupapi/setupapi_private.h
Explicitly include pseh/pseh.h, don't rely on <windows.h> including it through <rpc.h>
svn path=/trunk/; revision=37612