[Bug c++/57143] New: gcc failed to parse try/catch(...) when exception_ptr is involved

2013-05-02 Thread pichot.fabien at gmail dot com


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  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  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  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


[Bug c++/57143] gcc failed to parse try/catch(...) when exception_ptr is involved

2013-05-02 Thread pichot.fabien at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57143



--- Comment #1 from Fabien Pichot  2013-05-02 
11:52:39 UTC ---

Created attachment 29998

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29998

g++-4.8.0 -v output


[Bug c++/57143] gcc failed to parse try/catch(...) when exception_ptr is involved

2013-05-02 Thread pichot.fabien at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57143



--- Comment #2 from Fabien Pichot  2013-05-02 
11:53:39 UTC ---

Created attachment 2

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=2

preprocessed file