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