This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ Patch] PR 86546 (" ICE on invalid: tree_class_check_failed()")
- From: Nathan Sidwell <nathan at acm dot org>
- To: Paolo Carlini <paolo dot carlini at oracle dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Jason Merrill <jason at redhat dot com>
- Date: Tue, 28 Aug 2018 09:28:52 -0400
- Subject: Re: [C++ Patch] PR 86546 (" ICE on invalid: tree_class_check_failed()")
- References: <68d72058-5ecc-ec06-f5a4-4578592ac905@oracle.com>
On 08/28/2018 08:43 AM, Paolo Carlini wrote:
Hi,
this low priority ICE on invalid happens only in c++98 mode but I think
we can as well avoid it and have consistent error recovery across std
modes. Essentially, the VAR_DECL for 'b' with erroneous TREE_TYPE (the
type is incomplete) reaches cxx_eval_constant_expression and we ICE when
we use COMPLETE_TYPE_P on the TREE_TYPE itself. I think we can -
consistently across std modes - catch the erroneous type quite a bit
earlier, midway in finish_case_label, thus before the case_conversion
call which eventually leads to the ICE. Tested x86_64-linux.
ok
--
Nathan Sidwell