This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[C++ Patch] PR 86546 (" ICE on invalid: tree_class_check_failed()")


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.

Thanks, Paolo.

/////////////////////

Attachment: CL_86546
Description: Text document

Attachment: patch_86546
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]