[PATCH] include: Discourage use of 'break' or 'continue' inside __TRY/__EXCEPT

Alex Henrie alexhenrie24 at gmail.com
Thu Dec 14 00:23:28 CST 2017


Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
As Stefan discovered earlier this year, the meaning of 'break' and
'continue' is different when compiling with native exceptions:
https://www.winehq.org/pipermail/wine-patches/2017-February/158152.html
---
 include/wine/exception.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/include/wine/exception.h b/include/wine/exception.h
index 5bc4d1c692..8e3f48182f 100644
--- a/include/wine/exception.h
+++ b/include/wine/exception.h
@@ -61,10 +61,12 @@ extern "C" {
  * use GetExceptionInformation() and GetExceptionCode() to retrieve the
  * exception info.
  *
- * Warning: inside a __TRY or __EXCEPT block, 'break' or 'continue' statements
- *          break out of the current block. You cannot use 'return', 'goto'
- *          or 'longjmp' to leave a __TRY block, as this will surely crash.
- *          You can use them to leave a __EXCEPT block though.
+ * Warning: Inside a __TRY or __EXCEPT block, 'break' or 'continue' statements
+ *          break out of the current block, but avoid using them because they
+ *          won't work when compiling with native exceptions. You cannot use
+ *          'return', 'goto', or 'longjmp' to leave a __TRY block either, as
+ *          this will surely crash. You can use 'return', 'goto', or 'longjmp'
+ *          to leave an __EXCEPT block though.
  *
  * -- AJ
  */
-- 
2.15.1




More information about the wine-devel mailing list