http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59838
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- With the patch cc1plus says: ee.C:1:32: error: conversion to incomplete type enum E { a, b = true ? 1 : ((E)a, 0) }; ^ ee.C:1:33: error: a comma operator cannot appear in a constant-expression enum E { a, b = true ? 1 : ((E)a, 0) }; ^