This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/12709] New: crash on __noreturn__ in ?: in try block


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]