1 // Copyright (c) Microsoft. All rights reserved.
2 // Licensed under the MIT license. See LICENSE file in the project root for
3 // full license information.
4 
5 #include "stdio.h"
6 
7 #if   ( _MSC_VER >= 800  )
8 
9 #define try                             __try
10 #define except                          __except
11 #define finally                         __finally
12 #define leave                           __leave
13 #define endtry
14 #define gcc_volatile
15 
16 #else
17 
18 #include <pseh/pseh2.h>
19 
20 #define try     _SEH2_TRY
21 #define except  _SEH2_EXCEPT
22 #define finally _SEH2_FINALLY
23 #define leave   _SEH2_LEAVE
24 #define endtry  _SEH2_END
25 #define abnormal_termination _abnormal_termination
26 #define GetExceptionInformation() _SEH2_GetExceptionInformation()
27 #define GetExceptionCode() _SEH2_GetExceptionCode()
28 #define AbnormalTermination() _SEH2_AbnormalTermination()
29 #define gcc_volatile volatile
30 
31 #endif
32