This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/12709] New: crash on __noreturn__ in ?: in try block
- From: "gcc-bugzilla at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Oct 2003 14:52:33 -0000
- Subject: [Bug c++/12709] New: crash on __noreturn__ in ?: in try block
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12709
Summary: crash on __noreturn__ in ?: in try block
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ncm-nospam at cantrip dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
ICE on an assertion in a function-try-block.
Environment:
System: Linux ipc 2.4.21-rc1-ac2 #3 SMP Mon Apr 28 18:55:42 EDT 2003 i686 unknown unknown GNU/Linux
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc-main/configure --enable-languages=c,c++ --enable-threads=posix --prefix=/gnu/gcc-3.4 --enable-concept-checks
How-To-Repeat:
$ cat >bug.cc <<'EOF'
extern "C" {
extern void __assert_fail (__const char *__assertion, __const char *__file,
unsigned int __line, __const char *__function)
throw () __attribute__ ((__noreturn__));
}
extern void abort (void) throw () __attribute__ ((__noreturn__));
extern "C" char*
fun(char* connection, int* length, int* status, int* error_code)
try
{
char *reply = 0;
(static_cast<void> ((0) ? 0 : (__assert_fail ("0", "bleah.cc", 115, __PRETTY_FUNCTION__), 0)));
return reply;
}
catch (...) {
return 0;
}
'EOF'
$ g++ -v -O0 -c bug.cc
Reading specs from /gnu/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4/specs
Configured with: ../gcc-main/configure --enable-languages=c,c++ --enable-threads=posix --prefix=/gnu/gcc-3.4 --enable-concept-checks
Thread model: posix
gcc version 3.4 20031020 (experimental)
/gnu/gcc-3.4/libexec/gcc/i686-pc-linux-gnu/3.4/cc1plus -quiet -v -D_GNU_SOURCE bug.cc -quiet -dumpbase bug.cc -mtune=pentiumpro -auxbase bug -O0 -version -o /tmp/ccxYu7Ya.s
ignoring nonexistent directory "/gnu/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/gnu/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4/../../../../include/c++/3.4
/gnu/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4/../../../../include/c++/3.4/i686-pc-linux-gnu
/gnu/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4/../../../../include/c++/3.4/backward
/usr/local/include
/gnu/gcc-3.4/include
/gnu/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4/include
/usr/include
End of search list.
GNU C++ version 3.4 20031020 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 3.3.2 20030812 (Debian prerelease).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
bug.cc: In function `char* fun(char*, int*, int*, int*)':
bug.cc:22: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.