https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61392
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-invalid-code --- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> --- The use of ddx without reference to a B object is only allowed if it is the whole unevaluated operand, i.e. decltype(ddx). Here it's used in an expression, which is ill-formed. So, ice on invalid.