928{
929
938 double doubleresult;
939
940
941
942
943
944 printf(
"Start of exception test\n");
945
946
947
948
949
954
955
956
957
958
961 BadByte += 1;
963
964
965
966
967
970 try {
972 }
973 finally {
976 }
977 }
978
981
982 } else {
984 }
985
986
987
988
989
990
993 try {
995 }
997
1000
1001 } else {
1003 }
1004
1005
1006
1007
1008
1009
1012 try {
1015 }
1017
1020
1021 } else {
1023 }
1024
1025
1026
1027
1028
1031 try {
1034 }
1036
1039
1040 } else {
1042 }
1043
1044
1045
1046
1047
1050 try {
1052 *BlackHole += *BadAddress;
1053 }
1055
1058
1059 } else {
1061 }
1062
1063
1064
1065
1066
1067
1070 try {
1071 try {
1074 }
1075 finally {
1078 }
1079 }
1080 }
1084 }
1085 }
1086
1089
1090 } else {
1092 }
1093
1094
1095
1096
1097
1098
1101 try {
1102 try {
1104 *BlackHole += *BadAddress;
1105 }
1106 finally {
1109 }
1110 }
1111 }
1115 }
1116 }
1117
1120
1121 } else {
1123 }
1124
1125
1126
1127
1128
1131 try {
1134 }
1139 }
1140
1143
1144 } else {
1146 }
1147
1148
1149
1150
1151
1154 try {
1156 foo2(BlackHole, BadAddress);
1157 }
1162 }
1163
1166
1167 } else {
1169 }
1170
1171
1172
1173
1174
1175
1176
1179 try {
1181 }
1186 }
1187
1190
1191 } else {
1193 }
1194
1195
1196
1197
1198
1199
1200
1203 try {
1205 }
1210 }
1211
1214
1215 } else {
1217 }
1218
1219
1220
1221
1222
1225 try {
1227 }
1232 try {
1234 }
1239
1240 } else {
1242 }
1243
1245 }
1246 }
1247
1250
1251 } else {
1253 }
1254
1255
1256
1257
1258
1261 try {
1262 foo2(BlackHole, BadAddress);
1263 }
1268 try {
1270 }
1275
1276 } else {
1278 }
1279
1281 }
1282 }
1283
1286
1287 } else {
1289 }
1290
1291#if !defined(WIN_CE)
1292
1293
1294
1295
1296
1299 try {
1300 try {
1302 }
1307 goto t9;
1308 }
1309 }
1311
1312t9:
1313 ;
1316
1317 } else {
1319 }
1320
1321
1322
1323
1324
1325
1328 try {
1329 try {
1331 }
1332 finally {
1334 goto t10;
1335 }
1336 }
1338
1339t10:
1340 ;
1343
1344 } else {
1346 }
1347
1348
1349
1350
1351
1352
1355 try {
1356 try {
1357 try {
1360 }
1363 goto t11;
1364 }
1365 }
1367 t11:
1368 ;
1369 }
1371
1374
1375 } else {
1377 }
1378
1379
1380
1381
1382
1383
1386 try {
1387 try {
1389 }
1390 finally {
1392 goto t12;
1393 }
1394 t12:
1395 ;
1396 }
1398
1401
1402 } else {
1404 }
1405
1406
1407
1408
1409
1412 try {
1415 }
1417
1420
1421 } else {
1423 }
1424
1425
1426
1427
1428
1431 try {
1434 }
1436
1439
1440 } else {
1442 }
1443#endif
1444
1445
1446
1447
1448
1451 if (
setjmp(JumpBuffer) == 0) {
1453 longjmp(JumpBuffer, 1);
1454
1455 } else {
1457 }
1458
1461
1462 } else {
1464 }
1465
1466
1467
1468
1469
1470
1473 if (
setjmp(JumpBuffer) == 0) {
1474 try {
1476 }
1477 finally {
1479 longjmp(JumpBuffer, 1);
1480 }
1481
1482 } else {
1484 }
1485
1488
1489 } else {
1491 }
1492
1493
1494
1495
1496
1497
1500 try {
1501 if (
setjmp(JumpBuffer) == 0) {
1503
1504 } else {
1506 }
1507 }
1508 finally {
1512 longjmp(JumpBuffer, 1);
1513 }
1514 }
1515
1518
1519 } else {
1521 }
1522
1523
1524
1525
1526
1527
1528
1529
1532 if (
setjmp(JumpBuffer) == 0) {
1533 try {
1534 try {
1537 }
1538 finally {
1540 longjmp(JumpBuffer, 1);
1541 }
1542 }
1544
1545 } else {
1547 }
1548
1551
1552 } else {
1554 }
1555
1556
1557
1558
1559
1560
1561
1562
1563
1566 if (
setjmp(JumpBuffer) == 0) {
1567 try {
1568 try {
1569 try {
1570 try {
1573 }
1575 }
1576 finally {
1578 longjmp(JumpBuffer, 1);
1579 }
1580 }
1582 }
1584
1585 } else {
1587 }
1588
1591
1592 } else {
1594 }
1595
1596
1597
1598
1599
1600
1601
1604 if (
setjmp(JumpBuffer) == 0) {
1605 try {
1606 try {
1607 try {
1610 }
1612 }
1614 }
1616
1617 } else {
1619 }
1620
1623
1624 } else {
1626 }
1627
1628
1629
1630
1631
1632
1633
1636 if (
setjmp(JumpBuffer) == 0) {
1637 try {
1638 try {
1639 try {
1640 try {
1643 }
1645 }
1646 finally {
1648 longjmp(JumpBuffer, 1);
1649 }
1650 }
1652 }
1654
1655 } else {
1657 }
1658
1661
1662 } else {
1664 }
1665
1666
1667
1668
1669
1672 try {
1673 try {
1676 }
1678 }
1680
1683
1684 } else {
1686 }
1687
1688
1689
1690
1691
1694 try {
1697 }
1702 }
1703
1706
1707 } else {
1709 }
1710
1711
1712
1713
1714#if !defined(i386) && !defined(_M_IA64) && !defined(_M_AMD64) && \
1715 !defined(_M_ARM) && !defined(_M_ARM64)
1718 try {
1721 }
1726 }
1727
1730
1731 } else {
1733 }
1734
1735#endif
1736
1737
1738
1739
1742 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1743 try {
1744 if ((Index1 & 0x1) == 0) {
1745 continue;
1746
1747 } else {
1749 }
1750 }
1752
1754 }
1755
1758
1759 } else {
1761 }
1762
1763#if !defined(WIN_CE)
1764
1765
1766
1767
1770 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1771 try {
1772 if ((Index1 & 0x1) == 0) {
1773 continue;
1774
1775 } else {
1777 }
1778 }
1780
1782 }
1783
1786
1787 } else {
1789 }
1790#endif
1791
1792
1793
1794
1795
1796
1799 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1800 try {
1801 try {
1802 if ((Index1 & 0x1) == 0) {
1803 continue;
1804
1805 } else {
1807 }
1808 }
1810
1812 }
1814
1816 }
1817
1820
1821 } else {
1823 }
1824
1825#if !defined(WIN_CE)
1826
1827
1828
1829
1832 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1833 try {
1834 try {
1835 if ((Index1 & 0x1) == 0) {
1836 continue;
1837
1838 } else {
1840 }
1841 }
1843
1845 }
1847
1849 }
1850
1853
1854 } else {
1856 }
1857
1858
1859
1860
1861
1864 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1865 try {
1866 if ((Index1 & 0x1) == 0) {
1868 }
1869 }
1870 finally {
1872 continue;
1873 }
1874
1876 }
1877
1880
1881 } else {
1883 }
1884
1885
1886
1887
1888
1891 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1892 try {
1893 try {
1894 if ((Index1 & 0x1) == 0) {
1896 }
1897 }
1898 finally {
1900 continue;
1901 }
1902
1904 }
1906
1908 }
1909
1912
1913 } else {
1915 }
1916
1917
1918
1919
1920
1923 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1924 try {
1925 try {
1926 if ((Index1 & 0x1) == 0) {
1928 }
1929 }
1931
1933 }
1934 finally {
1936 continue;
1937 }
1938
1940 }
1941
1944
1945 } else {
1947 }
1948#endif
1949
1950
1951
1952
1953
1956 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1957 try {
1958 if ((Index1 & 0x1) == 1) {
1959 break;
1960
1961 } else {
1963 }
1964 }
1966
1968 }
1969
1972
1973 } else {
1975 }
1976
1977#if !defined(WIN_CE)
1978
1979
1980
1981
1984 for (Index1 = 0; Index1 < 10; Index1 += 1) {
1985 try {
1986 if ((Index1 & 0x1) == 1) {
1987 break;
1988
1989 } else {
1991 }
1992 }
1994
1996 }
1997
2000
2001 } else {
2003 }
2004#endif
2005
2006
2007
2008
2009
2010
2013 for (Index1 = 0; Index1 < 10; Index1 += 1) {
2014 try {
2015 try {
2016 if ((Index1 & 0x1) == 1) {
2017 break;
2018
2019 } else {
2021 }
2022 }
2024
2026 }
2028
2030 }
2031
2034
2035 } else {
2037 }
2038
2039#if !defined(WIN_CE)
2040
2041
2042
2043
2046 for (Index1 = 0; Index1 < 10; Index1 += 1) {
2047 try {
2048 try {
2049 if ((Index1 & 0x1) == 1) {
2050 break;
2051
2052 } else {
2054 }
2055 }
2057
2059 }
2061
2063 }
2064
2067
2068 } else {
2070 }
2071
2072
2073
2074
2075
2078 for (Index1 = 0; Index1 < 10; Index1 += 1) {
2079 try {
2080 if ((Index1 & 0x1) == 1) {
2082 }
2083 }
2084 finally {
2086 break;
2087 }
2088
2090 }
2091
2094
2095 } else {
2097 }
2098
2099
2100
2101
2102
2105 for (Index1 = 0; Index1 < 10; Index1 += 1) {
2106 try {
2107 try {
2108 if ((Index1 & 0x1) == 1) {
2110 }
2111 }
2112 finally {
2114 break;
2115 }
2116
2118 }
2120
2122 }
2123
2126
2127 } else {
2129 }
2130
2131
2132
2133
2134
2137 for (Index1 = 0; Index1 < 10; Index1 += 1) {
2138 try {
2139 try {
2140 if ((Index1 & 0x1) == 1) {
2142 }
2143 }
2145
2147 }
2148 finally {
2150 break;
2151 }
2152
2154 }
2155
2158
2159 } else {
2161 }
2162#endif
2163
2164
2165
2166
2167
2170 Index1 = 1;
2171 switch (Index2) {
2174 break;
2175
2177 try {
2178 if ((Index1 & 0x1) == 1) {
2179 break;
2180
2181 } else {
2183 }
2184 }
2186
2188 break;
2189 }
2190
2193
2194 } else {
2196 }
2197
2198#if !defined(WIN_CE)
2199
2200
2201
2202
2205 Index1 = 1;
2206 switch (Index2) {
2209 break;
2210
2212 try {
2213 if ((Index1 & 0x1) == 1) {
2214 break;
2215
2216 } else {
2218 }
2219 }
2221
2223 }
2224
2227
2228 } else {
2230 }
2231#endif
2232
2233
2234
2235
2236
2237
2240 Index1 = 1;
2241 switch (Index2) {
2244 break;
2245
2247 try {
2248 try {
2249 if ((Index1 & 0x1) == 1) {
2250 break;
2251
2252 } else {
2254 }
2255 }
2257
2259 }
2261
2263 }
2264
2267
2268 } else {
2270 }
2271
2272#if !defined(WIN_CE)
2273
2274
2275
2276
2279 Index1 = 1;
2280 switch (Index2) {
2283 break;
2284
2286 try {
2287 try {
2288 if ((Index1 & 0x1) == 1) {
2289 break;
2290
2291 } else {
2293 }
2294 }
2296
2298 }
2300
2302 }
2303
2306
2307 } else {
2309 }
2310
2311
2312
2313
2314
2317 Index1 = 1;
2318 switch (Index2) {
2321 break;
2322
2324 try {
2325 if ((Index1 & 0x1) == 1) {
2327 }
2328 }
2329 finally {
2331 break;
2332 }
2333
2335 }
2336
2339
2340 } else {
2342 }
2343
2344
2345
2346
2347
2350 Index1 = 1;
2351 switch (Index2) {
2354 break;
2355
2357 try {
2358 try {
2359 if ((Index1 & 0x1) == 1) {
2361 }
2362 }
2363 finally {
2365 break;
2366 }
2367
2369 }
2371
2373 }
2374
2377
2378 } else {
2380 }
2381
2382
2383
2384
2385
2388 Index1 = 1;
2389 switch (Index2) {
2392 break;
2393
2395 try {
2396 try {
2397 if ((Index1 & 0x1) == 1) {
2399 }
2400 }
2402
2404 }
2405 finally {
2407 break;
2408 }
2409
2411 }
2412
2415
2416 } else {
2418 }
2419#endif
2420
2421
2422
2423
2424
2427 try {
2431
2432 } else {
2434 }
2435 }
2436 finally {
2439 }
2440 }
2441
2444
2445 } else {
2447 }
2448
2449
2450
2451
2452
2455 try {
2456 for (Index1 = 0; Index1 < 10; Index1 += 1) {
2457 if (
Echo(Index1) == Index1) {
2460 }
2461
2463 }
2464 }
2465 finally {
2468 }
2469 }
2470
2473
2474 } else {
2476 }
2477
2478
2479
2480
2481
2484 try {
2485 switch (Index2) {
2487 break;
2488
2492 }
2493
2495 }
2496 finally {
2499 }
2500 }
2501
2504
2505 } else {
2507 }
2508
2509
2510
2511
2512
2513
2516 try {
2517 try {
2521
2522 } else {
2524 }
2525 }
2526 finally {
2529 }
2530 }
2531
2535
2536 } else {
2538 }
2539 }
2540 finally {
2543 }
2544 }
2545
2548
2549 } else {
2551 }
2552
2553#if !defined(WIN_CE)
2554
2555
2556
2557
2558
2561 try {
2562 try {
2566
2567 } else {
2569 }
2570 }
2571 finally {
2575 }
2576 }
2577
2579 }
2580 finally {
2583 }
2584 }
2585
2588
2589 } else {
2591 }
2592#endif
2593
2594
2595
2596
2597
2598
2601 try {
2604 }
2606 try {
2608 }
2609 finally {
2612 }
2613 }
2614 }
2615
2618
2619 } else {
2621 }
2622
2623
2624
2625
2626
2629 try {
2631 }
2632 finally {
2634 try {
2636 }
2637 finally {
2640 }
2641 }
2642 }
2643 }
2644
2647
2648 } else {
2650 }
2651
2652
2653
2654
2655
2657#if !defined(NEST_IN_FINALLY)
2659#else
2661 try {
2663 }
2664 finally {
2665 try {
2668 }
2670 try {
2672 }
2673 finally {
2676 }
2677 }
2678 }
2679 }
2680
2683
2684 } else {
2686 }
2687#endif
2688
2689
2690
2691
2692
2693
2696 try {
2699 }
2701 try {
2704 }
2706 }
2707
2710
2711 } else {
2713 }
2714
2715
2716
2717
2718
2721 try {
2722 try {
2723 goto outside;
2724 }
2726
2727 outside:
2729 }
2731
2734 } else {
2736 }
2737
2738
2739
2740
2741
2742
2744#if !defined(NEST_IN_FINALLY)
2746#else
2748 try {
2750 }
2752
2755
2756 } else {
2758 }
2759#endif
2760
2761
2762
2763
2764
2766
2767#if defined(i386) || defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_AMD64)
2768
2769
2770#if defined(i386)
2772#else
2773
2774
2775
2777#endif
2778
2780 try {
2782
2783 try {
2785 }
2787 }
2789
2792
2793 } else {
2795 }
2796
2797
2798#if defined(i386)
2801#else
2804#endif
2805
2806#else
2808#endif
2809
2810
2811
2812
2813
2814
2817 try {
2818 try {
2820 }
2821 finally {
2824 }
2825 }
2827
2830
2831 } else {
2833 }
2834
2835
2836
2837
2838
2839
2842 try {
2843 try {
2846 }
2847 finally {
2850 }
2851 }
2853
2856
2857 } else {
2859 }
2860
2861
2862
2863
2864
2865
2868 try {
2869 try {
2871 }
2872 finally {
2874 *BlackHole += *BadAddress;
2876 }
2877 }
2879
2882
2883 } else {
2885 }
2886
2887
2888
2889
2890
2891
2894 try {
2895 try {
2897 *BlackHole += *BadAddress;
2899 }
2900 finally {
2902 *BlackHole += *BadAddress;
2904 }
2905 }
2907
2910
2911 } else {
2913 }
2914
2915
2916
2917
2918
2919
2921 try {
2922 try {
2923 *BlackHole += *BadAddress;
2924 }
2925 finally {
2926 try {
2928 }
2929 finally {
2932 }
2933 }
2934
2936 *BlackHole += *BadAddress;
2937 }
2938 }
2940
2943
2944 } else {
2946 }
2947
2948
2949
2950
2951
2952
2954 try {
2955 try {
2957 }
2958 finally {
2959 try {
2961 }
2962 finally {
2965 }
2966 }
2967
2970 }
2971 }
2973
2976
2977 } else {
2979 }
2980
2981
2982
2983
2984
2985#if defined(_AMD64_) || defined(_X86_)
2986
2989 try {
2991 }
2993
2996
2997 } else {
2999 }
3000
3003 try {
3005 }
3007
3010
3011 } else {
3013 }
3014
3017 try {
3019 }
3021
3024
3025 } else {
3027 }
3028
3031 try {
3033 }
3035
3038
3039 } else {
3041 }
3042
3045 try {
3047 }
3049
3052
3053 } else {
3055 }
3056
3059 try {
3061 }
3063
3066
3067 } else {
3069 }
3070
3073 try {
3075 }
3077
3080
3081 } else {
3083 }
3084
3087 try {
3089 }
3091
3094
3095 } else {
3097 }
3098
3101 try {
3103 }
3105
3108
3109 } else {
3111 }
3112
3115 try {
3117 }
3119
3122
3123 } else {
3125 }
3126
3127#else
3128 printf(
" test69...filter entered...succeeded\n");
3129 printf(
" test70...filter entered...succeeded\n");
3130 printf(
" test71...filter entered...succeeded\n");
3131 printf(
" test72...filter entered...succeeded\n");
3132 printf(
" test73...filter entered...succeeded\n");
3133 printf(
" test74...filter entered...succeeded\n");
3134 printf(
" test75...filter entered...succeeded\n");
3135 printf(
" test76...filter entered...succeeded\n");
3136 printf(
" test77...filter entered...succeeded\n");
3137 printf(
" test78...filter entered...succeeded\n");
3138#endif
3139
3142 printf(
"filter 1...filter 2...finally 1...filter 1...filter 2...finally "
3143 "2...passed\n");
3144 } else {
3145
3148 try {
3150 }
3152
3155
3156 } else {
3158 }
3159 }
3160
3164
3165 } else {
3167 }
3168
3174
3175 } else {
3177 }
3178
3184
3185 } else {
3187 }
3188
3192
3193 } else {
3195 }
3196
3202
3203 } else {
3205 }
3206
3212
3213 } else {
3215 }
3216
3222
3223 } else {
3225 }
3226
3232
3233 } else {
3235 }
3236
3242
3243 } else {
3245 }
3246
3247
3248
3249
3250
3251 printf(
"End of exception test\n");
3252 return;
3253}
__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _controlfp(_In_ unsigned int unNew, _In_ unsigned int unMask)
__MINGW_NOTHROW _CRTIMP unsigned int __cdecl _clearfp(void)
unsigned int __cdecl _control87(unsigned int, unsigned int)
NTSYSAPI VOID NTAPI RtlRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord)
#define STATUS_ACCESS_VIOLATION
#define STATUS_DATATYPE_MISALIGNMENT
DWORD WINAPI GetVersion()
VOID Test79(PLONG Counter, PLONG Fault)
VOID PgTest72(IN PLONG State, IN PLONG Fault)
VOID addtwo(IN LONG First, IN LONG Second, IN PLONG Place)
VOID PgTest75(IN PLONG State, IN PLONG Fault)
VOID except1(IN PLONG Counter)
VOID PgTest76(IN PLONG State, IN PLONG Fault)
VOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter)
DECLSPEC_NOINLINE VOID Test86(_Inout_ PLONG Counter)
VOID Test82(__inout PLONG Counter)
VOID eret(IN NTSTATUS Status, IN PLONG Counter)
VOID fret(IN PLONG Counter)
VOID Test87(_Inout_ PLONG Counter)
void Test81(int *pCounter)
VOID PgTest78(IN PLONG State, IN PLONG Fault)
VOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter)
VOID PgTest70(IN PLONG State, IN PLONG Fault)
VOID PgTest74(IN PLONG State, IN PLONG Fault)
VOID PgTest71(IN PLONG State, IN PLONG Fault)
ULONG except2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)
DECLSPEC_NOINLINE VOID Test84(_Inout_ PLONG Counter)
DECLSPEC_NOINLINE LONG Test85(_Inout_ PLONG Counter)
VOID PgTest77(IN PLONG State, IN PLONG Fault)
VOID PgTest73(IN PLONG State, IN PLONG Fault)
VOID bar1(IN NTSTATUS Status, IN PLONG Counter)
VOID Test61Part2(IN OUT PULONG Counter)
VOID Test88(_Inout_ PLONG Counter)
VOID PgTest69(IN PLONG State, IN PLONG Fault)
double SquareDouble(IN double op)