mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 13:39:46 +08:00
24 lines
671 B
C++
24 lines
671 B
C++
|
// win32.cc - Helper functions for Microsoft-flavored OSs.
|
||
|
|
||
|
/* Copyright (C) 2002 Free Software Foundation
|
||
|
|
||
|
This file is part of libgcj.
|
||
|
|
||
|
This software is copyrighted work licensed under the terms of the
|
||
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||
|
details. */
|
||
|
|
||
|
#include <config.h>
|
||
|
#include <windows.h>
|
||
|
|
||
|
LONG CALLBACK
|
||
|
win32_exception_handler (LPEXCEPTION_POINTERS e)
|
||
|
{
|
||
|
if (e->ExceptionRecord->ExceptionCode == EXCEPTION_ACCESS_VIOLATION)
|
||
|
_Jv_ThrowNullPointerException();
|
||
|
else if (e->ExceptionRecord->ExceptionCode == EXCEPTION_INT_DIVIDE_BY_ZERO)
|
||
|
throw new java::lang::ArithmeticException;
|
||
|
else
|
||
|
return EXCEPTION_CONTINUE_SEARCH;
|
||
|
}
|