reactos/modules/rostests/apitests/compiler/ms/seh/seh.h
Timo Kreuzer fe36f081c7
[COMPILER_APITEST] Add SEH tests from MS (#2435)
* [COMPILER_APITEST] Import MS EH/SEH tests

Taken from https://github.com/microsoft/compiler-tests

* [CRT] Add missing declaration of _longjmpex

* [COMPILER_APITEST] Add cmake build files for MS SEH test

It is built as a static library

* [COMPILER_APITEST] Fix GCC build of MS SEH tests

There are a number of hacks in there now. Also the volatile hacks should be separated and sent upstream.

* [COMPILER_APITEST] Fix x64 build of MS SEH tests

* [COMPILER_APITEST] Fix clang build of MS SEH tests

* [COMPILER_APITEST] Include MS SEH tests
2020-10-31 11:08:27 +01:00

32 lines
869 B
C

// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for
// full license information.
#include "stdio.h"
#if ( _MSC_VER >= 800 )
#define try __try
#define except __except
#define finally __finally
#define leave __leave
#define endtry
#define gcc_volatile
#else
#include <pseh/pseh2.h>
#define try _SEH2_TRY
#define except _SEH2_EXCEPT
#define finally _SEH2_FINALLY
#define leave _SEH2_LEAVE
#define endtry _SEH2_END
#define abnormal_termination _abnormal_termination
#define GetExceptionInformation() _SEH2_GetExceptionInformation()
#define GetExceptionCode() _SEH2_GetExceptionCode()
#define AbnormalTermination() _SEH2_AbnormalTermination()
#define gcc_volatile volatile
#endif