Section 6.8.4.2, item 5 of http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf (page 134)
(Pedantic note: It's technically incorrect to say that the switch statement does nothing.
switch(FunctionThatDoesSomethingAndReturns1()) { case 2: // foo }
Section 6.8.4.2, item 5 of http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf (page 134)