[PSEH3]
authorPierre Schweitzer <pierre@reactos.org>
Sun, 4 May 2014 18:10:08 +0000 (18:10 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Sun, 4 May 2014 18:10:08 +0000 (18:10 +0000)
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

index 4fe95d4..ef255a9 100644 (file)
@@ -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); \