Hi, I'm searching for a replacement of do {} while (0) in a macro definition. My problem is the following: #define BREAK_ON_ERROR(i) \ if (1) \ { \ if (i < 0) \ break; \ } \ else do \ { \ } while (0) \ int foo(void) { for (;;) { int bar = 1, buzz = 2; if (bar) BREAK_ON_ERROR(buzz); } } gcc-4.3 will warn with 'warning: suggest explicit braces to avoid ambiguous `else' Any hints for a clever replacement of 'do {} while (0)' in this case? Of course, enclosing the BREAK_ON_ERROR statement like if (bar) { BREAK_ON_ERROR(buzz) } is possible but not what I want :-) Thanks in advance, Frank -- ## Dept. of Computer Science, Dresden University of Technology, Germany ## ## http://os.inf.tu-dresden.de/~fm3 ##
Attachment:
signature.asc
Description: This is a digitally signed message part.