This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/9211: Compiler segfault upon use of __noreturn__ function in static initializer
- From: kendall at abinitio dot com
- To: gcc-gnats at gcc dot gnu dot org
- Date: 7 Jan 2003 01:24:15 -0000
- Subject: c++/9211: Compiler segfault upon use of __noreturn__ function in static initializer
- Reply-to: kendall at abinitio dot com
>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: