From 4a228e1b4c92bb5754724df608f58cddec10ae1f Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sun, 4 May 2014 18:10:08 +0000 Subject: [PATCH] [PSEH3] Kill -Wdeclaration-after-statement when it's required. PSEH tests are still green svn path=/trunk/; revision=63161 --- reactos/include/reactos/libs/pseh/pseh3.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/reactos/include/reactos/libs/pseh/pseh3.h b/reactos/include/reactos/libs/pseh/pseh3.h index 4fe95d45238..ef255a9ebcf 100644 --- a/reactos/include/reactos/libs/pseh/pseh3.h +++ b/reactos/include/reactos/libs/pseh/pseh3.h @@ -345,6 +345,9 @@ _SEH3$_AutoCleanup( (void)&&_SEH3$_l_OnException; \ (void)&&_SEH3$_l_BeforeFilterOrFinally; \ (void)&&_SEH3$_l_FilterOrFinally; \ +\ +_Pragma("GCC diagnostic ignored \"-Wdeclaration-after-statement\"") \ +_Pragma("GCC diagnostic push") \ \ /* Count the try level. Outside of any __try, _SEH3$_TryLevel is 0 */ \ enum { \ @@ -357,6 +360,8 @@ _SEH3$_AutoCleanup( \ /* Allocate a registration frame */ \ volatile SEH3$_REGISTRATION_FRAME _SEH3$_AUTO_CLEANUP _SEH3$_TrylevelFrame; \ +\ +_Pragma("GCC diagnostic pop") \ \ goto _SEH3$_l_BeforeTry; \ /* Silence warning */ goto _SEH3$_l_AfterTry; \ @@ -373,12 +378,17 @@ _SEH3$_AutoCleanup( \ _SEH3$_l_BeforeTry: (void)0; \ _SEH3$_ASM_GOTO(_SEH3$_l_OnException); \ +\ +_Pragma("GCC diagnostic ignored \"-Wdeclaration-after-statement\"") \ +_Pragma("GCC diagnostic push") \ \ /* Forward declaration of the filter function */ \ _SEH3$_DECLARE_FILTER_FUNC(_SEH3$_FilterFunction); \ \ /* Create a static data table that contains the jump target and filter function */ \ static const SEH3$_SCOPE_TABLE _SEH3$_ScopeTable = { &&_SEH3$_l_HandlerTarget, _SEH3$_FILTER(&_SEH3$_FilterFunction, (__VA_ARGS__)), _SEH3$_TryLevel, _SEH3$_HANDLER_TYPE }; \ +\ +_Pragma("GCC diagnostic pop") \ \ /* Register the registration record. */ \ if (_SEH3$_TryLevel == 1) _SEH3$_RegisterFrame_(&_SEH3$_TrylevelFrame, &_SEH3$_ScopeTable); \ @@ -386,9 +396,14 @@ _SEH3$_AutoCleanup( \ /* Define an empty inline finally function */ \ _SEH3$_DEFINE_DUMMY_FINALLY(_SEH3$_FinallyFunction) \ +\ +_Pragma("GCC diagnostic ignored \"-Wdeclaration-after-statement\"") \ +_Pragma("GCC diagnostic push") \ \ /* Allow intrinsics for __except to be used */ \ _SEH3$_DECLARE_EXCEPT_INTRINSICS(); \ +\ +_Pragma("GCC diagnostic pop") \ \ goto _SEH3$_l_DoTry; \ \ @@ -421,12 +436,17 @@ _SEH3$_AutoCleanup( \ _SEH3$_l_BeforeTry: (void)0; \ _SEH3$_ASM_GOTO(_SEH3$_l_OnException); \ +\ +_Pragma("GCC diagnostic ignored \"-Wdeclaration-after-statement\"") \ +_Pragma("GCC diagnostic push") \ \ /* Forward declaration of the finally function */ \ _SEH3$_DECLARE_FILTER_FUNC(_SEH3$_FinallyFunction); \ \ /* Create a static data table that contains the finally function */ \ static const SEH3$_SCOPE_TABLE _SEH3$_ScopeTable = { 0, _SEH3$_FINALLY(&_SEH3$_FinallyFunction), _SEH3$_TryLevel, _SEH3$_HANDLER_TYPE }; \ +\ +_Pragma("GCC diagnostic pop") \ \ /* Register the registration record. */ \ if (_SEH3$_TryLevel == 1) _SEH3$_RegisterFrame_(&_SEH3$_TrylevelFrame, &_SEH3$_ScopeTable); \