From 1dce7e61b14665fbaaeda1318a60aa4cbb472a87 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 2 Nov 2013 16:48:45 +0000 Subject: [PATCH] [PSEH2_TEST] Add a test that fails with PSEH3 svn path=/trunk/; revision=60836 --- rostests/tests/pseh2/psehtest.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/rostests/tests/pseh2/psehtest.c b/rostests/tests/pseh2/psehtest.c index 3af2639f8de..eb46701e77a 100644 --- a/rostests/tests/pseh2/psehtest.c +++ b/rostests/tests/pseh2/psehtest.c @@ -2616,6 +2616,28 @@ int call_test(int (* func)(void)) return ret; } +DEFINE_TEST(test_PSEH3_bug) +{ + volatile int count = 0; + int dummy = 0; + + _SEH2_TRY + { + if (count++ == 0) + { + *(volatile int*)0x12345678 = 0x12345678; + } + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + dummy = 0; + } + _SEH2_END; + + (void)dummy; + return (count == 1); +} + #define USE_TEST_NAME_(NAME_) # NAME_ #define USE_TEST_NAME(NAME_) USE_TEST_NAME_(NAME_) #define USE_TEST(NAME_) { USE_TEST_NAME(NAME_), NAME_ } @@ -2745,6 +2767,7 @@ void testsuite_syntax(void) USE_TEST(test_unvolatile_2), USE_TEST(test_finally_goto), USE_TEST(test_nested_exception), + USE_TEST(test_PSEH3_bug), }; size_t i; -- 2.17.1