From 63aa828ced9add480a0d974d20d93b0d0abc00fa Mon Sep 17 00:00:00 2001 From: comex Date: Fri, 30 Jan 2015 03:45:56 -0500 Subject: remove GNU-isms from cbit --- lib/cbit/misc.h | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) (limited to 'lib/cbit/misc.h') diff --git a/lib/cbit/misc.h b/lib/cbit/misc.h index 45876f9..52835b1 100644 --- a/lib/cbit/misc.h +++ b/lib/cbit/misc.h @@ -1,22 +1,41 @@ #pragma once #define LET_LOOP__(expr, ctr) \ - if (0) \ - __done_##ctr: continue; \ - else if (0) \ - __break_##ctr: break; \ - else \ - for (; ; ({ goto __break_##ctr; })) \ - for (expr; ; ({ goto __done_##ctr; })) + if (0) \ + __done_##ctr: continue; \ + else if (0) \ + __break_##ctr: break; \ + else \ + for (expr; ;) \ + if (1) \ + goto __body_##ctr; \ + else \ + for (;;) \ + if (1) \ + goto __break_##ctr; \ + else \ + for (;;) \ + if (1) \ + goto __done_##ctr; \ + else \ + __body_##ctr: #define LET_LOOP_(expr, ctr) LET_LOOP__(expr, ctr) #define LET_LOOP(expr) LET_LOOP_(expr, __COUNTER__) #define LET__(expr, ctr) \ - if (0) \ - __done_##ctr: ; \ - else \ - for (expr; ; ({ goto __done_##ctr; })) + if (0) \ + __done_##ctr:; \ + else \ + for (expr; ;) \ + if (1) \ + goto __body_##ctr; \ + else \ + for (;;) \ + if (1) \ + goto __done_##ctr; \ + else \ + __body_##ctr: #define LET_(expr, ctr) LET__(expr, ctr) #define LET(expr) LET_(expr, __COUNTER__) -- cgit v1.2.3