From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20568 invoked by alias); 4 Dec 2002 20:56:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 20553 invoked by uid 71); 4 Dec 2002 20:56:02 -0000 Date: Wed, 04 Dec 2002 12:56:00 -0000 Message-ID: <20021204205602.20548.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Jonathan Wakely Subject: Re: c/7741: ICE on conflicting types Reply-To: Jonathan Wakely X-SW-Source: 2002-12/txt/msg00237.txt.bz2 List-Id: The following reply was made to PR c/7741; it has been noted by GNATS. From: Jonathan Wakely To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Cc: Subject: Re: c/7741: ICE on conflicting types Date: Wed, 4 Dec 2002 20:44:01 +0000 > I cannot reproduce this with recent 3.3 CVS. Could you > please double check whether this still happens? Hmm, it still happens with 20021127 and 20021203 CVS. I suspect I've got something wrong with my system. I've reduced the test case, so it causes an ICE without the #include int f(int); int main() { char c; /* any type except int causes ICE */ int i; int c = f(i); } This produces: $ gcc3x -v ice2.c Reading specs from /home/redi/lib/gcc-lib/i586-pc-linux-gnu/3.3/specs Configured with: ../gcc/configure --prefix=/home/redi --enable-languages=c,c++ --program-suffix=3x --disable-nls --enable-threads=posix Thread model: posix gcc version 3.3 20021203 (experimental) /home/redi/lib/gcc-lib/i586-pc-linux-gnu/3.3/cc1 -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 ice2.c -quiet -dumpbase ice2.c -auxbase ice2 -version -o /tmp/ccW0MxMe.s GNU C version 3.3 20021203 (experimental) (i586-pc-linux-gnu) compiled by GNU C version 3.3 20021203 (experimental). ignoring nonexistent directory "/home/redi/i586-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /home/redi/include /home/redi/lib/gcc-lib/i586-pc-linux-gnu/3.3/include /usr/include End of search list. ice2.c: In function `main': ice2.c:7: error: conflicting types for `c' ice2.c:5: error: previous declaration of `c' ice2.c:5: internal compiler error: in make_decl_rtl, at varasm.c:797 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. If the two declarations of "c" aren't of the same type, I get an ICE. If the declarations are of the same type, it correctly fails to compile, without an ICE. If I replace the variable "i" with a literal integer, there's no ICE. If I make f() take no arguments, there's no ICE. This was after updating from cvs, deleting my entire build directory, configuring and bootstrapping. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7741