This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ICE in change_address at emit_rtl.c
- From: mike stump <mrs at windriver dot com>
- To: neil at daikokuya dot demon dot co dot uk
- Cc: gcc at gcc dot gnu dot org, gdr at codesourcery dot com, pfeifer at dbai dot tuwien dot ac dot at, rodrigc at mediaone dot net, zack at codesourcery dot com
- Date: Sat, 24 Nov 2001 20:16:53 -0800 (PST)
- Subject: Re: ICE in change_address at emit_rtl.c
> Date: Sat, 24 Nov 2001 11:30:47 +0000
> From: Neil Booth <neil@daikokuya.demon.co.uk>
> Do other compilers written in C have something equivalent?
You can tell if they do, even if you don't have source code, by
compiling something like:
struct A {
char int j;
} a;
const int * ip;
main() {
*ip = 1;
a = a;
a.i = 1;
a.j = a.j;
}
and get messages like:
terr.c:2: two or more data types in declaration of `j'
terr.c: In function `main':
terr.c:8: warning: assignment of read-only location
terr.c:10: structure has no member named `i'
If you fail to get at least all of these, or if you get extra ones,
then the compiler is inferior and doesn't have anything like
error_mark_node (in this context). If you get roughly exactly these
messages, then the compiler must.
This is a fundemental feature of the compilers.