Messages in this thread | | | Date | Tue, 25 Jan 2011 09:23:41 +0100 | From | Jiri Slaby <> | Subject | Re: [PATCH] azt3328: repair breakage (Re: [PATCH 1/1] SOUND: azt3328, fix broken AZF_FMT_XLATE macro) |
| |
On 01/25/2011 06:46 AM, Andreas Mohr wrote: > It is also quite interesting to note that this rather uncommon language syntax > (do...while(0) within switch scope) compiled cleanly without issue > (no warnings).
Note that the switch block is the same like the others and case and default and very similar to goto labels. You can even do: switch (x) { int abc; { case 5: abc = 7; break; } do { case 3: abc = 5; break; } while (0); while (1) { printf("%d\n", abc); default: abc = 1; } } And check what it will do for x == 3, 5, and others :).
regards, -- js suse labs
| |