------- Comment #6 from rguenth at gcc dot gnu dot org 2005-10-19 20:40 ------- Unfortunately we call into the middle-ends invert_truthvalue right in cp/typeck.c:build_unary_op as we build the TRUTH_NOT_EXPR, so at the time we reach the gimplifier we already crashed.
So the other solution is to not use the middle-ends invert_truthvalue here, but unconditionally build a TRUTH_NOT_EXPR. And then fix it at gimplification time. But the solution with (T*)0 or *(T*)0 sounds nice ;) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24439