c++/822: ICE (fix_lexical_addr)

dougk@tislabs.com dougk@tislabs.com
Thu Nov 16 14:26:00 GMT 2000


>Number:         822
>Category:       c++
>Synopsis:       ICE (fix_lexical_addr)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 16 14:26:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     dougk@tislabs.com
>Release:        gcc-2.96-54
>Organization:
>Environment:
Red Hat Linux 7.0 install, i386
>Description:
[dougk@chief util]$ c++ -v -x c++ -O2 -c -Wall upgrade.ii
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.0)
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cpp0 -lang-c++ -D__GNUG__=2 -v -D__GNUC__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__OPTIMIZE__ -Wall -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -D__tune_i386__ upgrade.ii /home/dougk/.tmp/cc7evz7D.ii
GNU CPP version 2.96 20000731 (Red Hat Linux 7.0) (cpplib)
 (i386 Linux/ELF)
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/g++-3
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cc1plus /home/dougk/.tmp/cc7evz7D.ii -quiet -dumpbase upgrade.ii -O2 -Wall -version -o /home/dougk/.tmp/ccsqJoLa.s
GNU C++ version 2.96 20000731 (Red Hat Linux 7.0) (i386-redhat-linux) compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.0).
upgrade.ii: In function `void bar ()':
upgrade.ii:3: Internal compiler error in fix_lexical_addr, at
function.c:5320
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
>How-To-Repeat:
inline char* baz(void) { return 0; }

void fred(char *message, char *title = baz());

void foo(void) { fred(baz()); } 
void bar(void) { fred(baz()); }

// Deleting either foo or bar keeps it from crashing.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the Gcc-bugs mailing list