The program below crashes with illegal instruction when rethrowing the
previously caught exception.
GCC version:
$ powerpc-ibm-aix5.2.0.0-gcc-4.0.2 -v
Using built-in specs.
Target: powerpc-ibm-aix5.2.0.0
Configured with: ../gcc-4.0.2/configure --disable-nls --enable-threads=posix
--enable-languages=c,c++ --disable-shared
--enable-version-specific-runtime-libs
Thread model: aix
gcc version 4.0.2
$ powerpc-ibm-aix5.2.0.0-gcc-4.0.2 exctest.cpp -lstdc++ -o exctest
#include <string>
struct FzException
{
const char *what()
{
mWhat = std::string("a") + std::string("b");
return mWhat.c_str();
}
std::string mWhat;
};
int main(int, char **argv)
{
try
{
try
{
throw FzException();
}
catch(FzException & e)
{
e.what();
throw;
}
}
catch(...)
{
exit(1);
}
}
--
Summary: Program crashes when rethrowing exception
Product: gcc
Version: 4.0.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: michael dot klein at fazi dot de
GCC build triplet: powerpc-ibm-aix5.2.0.0
GCC host triplet: powerpc-ibm-aix5.2.0.0
GCC target triplet: powerpc-ibm-aix5.2.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26397