based on the grammar snippet posted earlier, it looks as though the compiler is correct. a case label in C is not so different from a label (thus duff's device is allowed), and as i understood the snippet, declarations can't be labelled. might make you wonder why they bothered, and indeed, i do wonder. i think they should leave the language alone. (and if they were going to do more than tinker, they might have added something significant, such as tuples.)