From mboxrd@z Thu Jan 1 00:00:00 1970 From: mike stump To: zack@codesourcery.com Cc: gcc@gcc.gnu.org, gdr@codesourcery.com, mark@codesourcery.com, neil@daikokuya.demon.co.uk Subject: Re: ICE in change_address at emit_rtl.c Date: Mon, 26 Nov 2001 12:54:00 -0000 Message-ID: <200111262054.MAA16593@kankakee.wrs.com> X-SW-Source: 2001-11/msg01284.html Message-ID: <20011126125400.hZ61Q5TWLa2fmmrQ4t11dQ07dJhheDyH0zBK3dtBwhE@z> > Date: Sat, 24 Nov 2001 23:05:30 -0800 > From: Zack Weinberg > To: mike stump > int main(argc, argv) > int argc; > string argv[]; > { > int i; > for(i=1; i puts(argv[i]); > return 0; > } > $ gcc -S test.c > test.c: In function `main': > test.c:3: parse error before `string' > test.c:7: subscripted value is neither array nor pointer > Here, we have no clue what the type of an element of argv is, but we > ought to be able to call it "array of " instead of > just "". unknown type is fine, this is a trivial little bug that should be able to be fixed with 2 lines of change. It might be marginally better with EMN[], but, the cost is once EMN is inside of `things' (such as []), the code that has to check stuff as you rip apart stuff increases. And without the checks in place before you begin, you increase the faulting before you improve the diagnostics, which, isn't an improvement.