https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107065

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mpolacek at gcc dot gnu.org

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Even GCC 4.8 rejects #c4, so doesn't look like a regression.

We deduce bool& in the first decltype: finish_decltype_type gets a VAR_DECL 'b'
(that's wrong I think), id_expression_or_member_access_p is false (that is
correct).  lvalue_kind then of course reports that the VAR_DECL is an ordinary
lvalue, and we deduce to bool&, just like it were decltype((b)).  So the
problem must be that we strip both NEGATE_EXPRs.

Reply via email to