http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57143
Bug #: 57143 Summary: gcc failed to parse try/catch(...) when exception_ptr is involved Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: pichot.fab...@gmail.com Created attachment 29997 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29997 The test emphazing the bug. Gcc fail to parse a try/catch block in a lambda expression. It's very strange, we found a way to get around the problem by taking the exception_ptr by reference explicitly. Bug reproduced on three machines (uname -a): - Linux XXXX 3.7.0-sabayon #1 SMP Wed Jan 23 20:51:11 UTC 2013 x86_64 Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz GenuineIntel GNU/Linux - Linux XXXX 3.2.1-gentoo-r2 #5 SMP Fri Feb 24 16:43:17 CET 2012 x86_64 Intel(R) Xeon(R) CPU X3450 @ 2.67GHz GenuineIntel GNU/Linux - Darwin XXXX 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 I'm compiling with: - g++-4.7.1 - g++-4.7.2 - g++-4.8.0 with the same command line: -v -std=c++11 -save-temps -W -Wall ./try-catch.cc