Cannot catch luabind:error with gcc 4.8 and C++11
Benjamin Kloster <[email protected]> Wed, 8 May 2013 08:32:43 +0000 (UTC)
| Newsgroups | gmane.comp.lang.lua.bind.user |
|---|---|
| Message-ID | <[email protected]> |
Hi everyone, I've ran into a strange problem with exceptions that took me several days to narrow down, but now I'm stuck. For ease of reproduction, I've created a repository at git://github.com/Nimbal/luabind_error.git that includes lua, luabind (as submodule to rpavlik's fork) and a minimal sample program along with a CMakeLists.txt to plug it all together. The problem is that when compiling with gcc 4.8 and the std=c++11 flag, the luabind::error exception thrown by the library cannot be caught. Not even with a catch(...). This causes the program to terminate with an uncaught exception. Some notes from my experiments: * I tried it on Ubuntu 12.04 and 13.04 (64 bits each) * It doesn't make a difference if Lua is compiled as C or C++ * Leaving out std=c++11 makes the sample program work as expected (the exception is actually caught) * gcc 4.7.3 makes it work as expected, regardless of std=c++11 flag * Linking everything statically doesn't make a difference, so I don't think it's a problem with exceptions crossing shared library boundaries * Compiling for 32/64 bit doesn't make a difference * The problem also occurs when cross-compiling from Linux to Windows with mingw-w64. I've tried both the gcc 4.7 variant (works) and the new gcc 4.8 builds (doesn't work) I suspect it might be a compiler bug (*gasp!*), but before I go knocking on that door, I'd like to boil it down to a sample that reproduces this error without luabind involved, which I haven't managed so far. If anyone could help me in either solving this or creating a minimal example (preferrably without luabind, using only the standard library) for the gcc developers, I'd be very grateful. Best Regards, Benjamin Kloster ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may