------- Additional Comments From pinskia at gcc dot gnu dot org 2005-03-04 06:30 ------- (In reply to comment #7) > Yeah, it permits, but only in certain circumstances that AFAICT aren't > met. This expression AFAICT is an lvalue that isn't a bit-field, so > it has to bind directly, per the first bullet in 8.5.3/5. Since it > meets the conditions of this first bullet, it doesn't get to use the > `otherwise' portion of that paragraph, that creates a temporary. Or > am I misreading anything? Yes these expressions are lvalues, see again PR 19199 where we get this wrong. Even Mark and RTH commented on it. Again it looks like the C++ parser should be creating a tempary to store the address and have the indirect reference out of the COND_EXPR, this can only happen for non bitfields.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20280