http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55737
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-12-19 00:24:09 UTC --- I think GCC is correct here as for a?b:c to be an integer constant expression, all three (a, b, and c) have to be an integer constant expressions even if a is true or false.