This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU Libtool".
The branch, master has been updated via c4901206cff33e5e1eae76684a9d8f416df29af5 (commit) from 80333a915ca8aafa980e4d284ad9bf2d85c8b59f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c4901206cff33e5e1eae76684a9d8f416df29af5 Author: Charles Wilson <libt...@cwilson.fastmail.fm> Date: Sat Jun 19 16:29:45 2010 -0400 [cygwin] Fix segfault in C++ exception handling test * tests/exceptions.at (main.cpp:exceptions_in_module): Move dlclose outside catch block; otherwise __cxa_end_catch (part of the cygwin g++ ABI) accesses pointers to data inside unloaded DLL. This is a platform ABI-specific bug, but is likely common to many platforms' g++ and/or other C++ compilers. Signed-off-by: Charles Wilson <libt...@cwilson.fastmail.fm> ----------------------------------------------------------------------- Summary of changes: ChangeLog | 10 ++++++++++ tests/exceptions.at | 6 ++++++ 2 files changed, 16 insertions(+), 0 deletions(-) diff --git a/ChangeLog b/ChangeLog index ae37906..17a1406 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2010-06-19 Charles Wilson <libt...@cwilson.fastmail.fm> + + [cygwin] Fix segfault in C++ exception handling test + * tests/exceptions.at (main.cpp:exceptions_in_module): + Move dlclose outside catch block; otherwise __cxa_end_catch + (part of the cygwin g++ ABI) accesses pointers to data inside + unloaded DLL. This is a platform ABI-specific bug, but is + likely common to many platforms' g++ and/or other C++ + compilers. + 2010-06-19 Ralf Wildenhues <ralf.wildenh...@gmx.de> Fix srcdir computation for manual runs of old tests. diff --git a/tests/exceptions.at b/tests/exceptions.at index 293723c..23442a3 100644 --- a/tests/exceptions.at +++ b/tests/exceptions.at @@ -202,11 +202,17 @@ int exceptions_in_module (void) return 1; } + bool exception_caught = false; try { (*pf) (); } catch (modexc e) { std::cerr << "caught: " << e.what () << '\n'; + exception_caught = true; + } + + if (exception_caught) + { if (lt_dlclose (handle)) { std::cerr << "dlclose failed: " << lt_dlerror () << '\n'; hooks/post-receive -- GNU Libtool