From mboxrd@z Thu Jan 1 00:00:00 1970 From: wilson@gcc.gnu.org To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, jreiser@BitWagon.com, jsm28@cam.ac.uk, nobody@gcc.gnu.org, wilson@gcc.gnu.org Subject: Re: c/2047: Internal compiler error in `require_complete_type', at c-typeck.c:96 Date: Mon, 10 Sep 2001 18:39:00 -0000 Message-id: <20010911013944.20535.qmail@sourceware.cygnus.com> X-SW-Source: 2001-09/msg00225.html List-Id: Synopsis: Internal compiler error in `require_complete_type', at c-typeck.c:96 Responsible-Changed-From-To: unassigned->wilson Responsible-Changed-By: wilson Responsible-Changed-When: Mon Sep 10 18:39:44 2001 Responsible-Changed-Why: IA-64 maintainer State-Changed-From-To: open->closed State-Changed-By: wilson State-Changed-When: Mon Sep 10 18:39:44 2001 State-Changed-Why: I reproduced the problem with the old obsolete 000717 release. It is a problem with cascading errors, resulting in a type tree that is invalid. The internal consistency checking code detects the problem and triggers an abort. With current gcc sources, when we detect an inconsistency, if there were prior errors in the source code, then instead of aborting, we emit an error message "confused by earlier errors" and exit cleanly. This seems like a reasonable solution to me. We could add more code to handle this case, but it doesn't seem worthwhile, since we would just get even more useless error messages than we already do. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2047&database=gcc