c++/9211: Compiler segfault upon use of __noreturn__ function in static initializer
kendall@abinitio.com
kendall@abinitio.com
Tue Jan 7 01:26:00 GMT 2003
>Number: 9211
>Category: c++
>Synopsis: Compiler segfault upon use of __noreturn__ function in static initializer
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Jan 06 17:26:00 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: kendall@abinitio.com
>Release: 3.2.1
>Organization:
>Environment:
Red Hat Linux release 6.2
>Description:
The code we found the bug looked like
#include <assert.h>
int dummy = (assert(blah), 0);
See how-to-repeat for the preprocessed+simplified case.
$ /usr/local/gcc/3.2.1/bin/gcc -v
Reading specs from /usr/local/gcc/3.2.1/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/specs
Configured with: ./configure --prefix=/usr/local/gcc/3.2.1
Thread model: posix
gcc version 3.2.1
>How-To-Repeat:
$ cat t.cpp
int f() __attribute__ ((__noreturn__));
static int i = f();
$ /usr/local/gcc/3.2.1/bin/g++ -c t.cpp
t.cpp:2: internal error: Segmentation fault
[...]
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-prs
mailing list