summaryrefslogtreecommitdiffstats
path: root/unwind.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-07-26 08:42:21 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-07-26 08:42:21 -0700
commit6afe9ab25e2cda942d8e67513081fbe25c217601 (patch)
treea93db6ff725e99f3ae1011cce7c3cbf92edb4515 /unwind.h
parentd77c03faa5783b77b4973015f485086567ba09f3 (diff)
downloadtxr-6afe9ab25e2cda942d8e67513081fbe25c217601.tar.gz
txr-6afe9ab25e2cda942d8e67513081fbe25c217601.tar.bz2
txr-6afe9ab25e2cda942d8e67513081fbe25c217601.zip
* unwind.h (uw_block_begin): Get rid of the unused typedef trick,
replace with do { } while (0), since we don't have any instances of a uw_block_begin followed by declarations. (uw_catch_begin): Move SYMVAR and EXCVAR inside the do/while block, so that the expansion doesn't begin with a declaration.
Diffstat (limited to 'unwind.h')
-rw-r--r--unwind.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/unwind.h b/unwind.h
index 9f929827..a7ef572a 100644
--- a/unwind.h
+++ b/unwind.h
@@ -134,7 +134,7 @@ noreturn val type_mismatch(val, ...);
if (extended_setjmp(uw_blk.bl.jb)) { \
RESULTVAR = uw_blk.bl.result; \
} else { \
- typedef int uw_d_u_m_m_y
+ do { } while (0)
#define uw_block_end \
} \
@@ -159,9 +159,9 @@ noreturn val type_mismatch(val, ...);
#define uw_catch_begin(MATCHES, SYMVAR, \
EXCVAR) \
- obj_t *SYMVAR = nil; \
- obj_t *EXCVAR = nil; \
do { \
+ obj_t *SYMVAR = nil; \
+ obj_t *EXCVAR = nil; \
uw_frame_t uw_catch; \
uw_push_catch(&uw_catch, MATCHES); \
switch (extended_setjmp(uw_catch.ca.jb)) { \