------- Comment #5 from Woebbeking at web dot de 2009-09-21 12:53 ------- Paolo, but std::cout << static_cast<foo>(i); prints 5, so it's not the conversion but the switch statement which is "broken".
Richard, if it's only truncation shouldn't case B be triggered? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41425