linux下编程用 编译软件

源代码在线查看: uncaught1.c

软件大小: 49607 K
上传用户: IsABC
关键词: linux 编程 编译 软件
下载地址: 免注册下载 普通下载 VIP

相关代码

				// PR libstdc++/10606				// { dg-do run }								#include 				#include 												struct Check {				  int obj1, obj2;				  bool state;				};								static Check const data[] = {				  { 0, 0, false },	// construct [0]				  { 1, 0, true  },	// [1] = [0]				  { 0, 0, true  },	// destruct [0]				  { 2, 1, true  },	// [2] = [1]				  { 2, 2, true  },      // destruct [2]				  { 3, 1, true  },	// [3] = [1]				  { 3, 3, false },	// destruct [3]				  { 1, 1, false },	// destruct [1]				  { 9, 9, false }	// end-of-data				};								static int pos = 0;								static void test(int obj1, int obj2, bool state)				{				  if (obj1 != data[pos].obj1) abort ();				  if (obj2 != data[pos].obj2) abort ();				  if (state != data[pos].state) abort ();				  pos++;				}												struct S {				  int id;				  S ();				  S (const S &);				  ~S ();				};								static int next_id = 0;								S::S()				  : id (next_id++)				{				  test (id, id, std::uncaught_exception ());				}								S::S(const S &x)				  : id (next_id++)				{				  test (id, x.id, std::uncaught_exception ());				}								S::~S()				{				  test (id, id, std::uncaught_exception ());				}								extern void foo (S *);								int main()				{				  try				    {				      try					{					  S s0;					  throw s0;	// s1 is the exception object					}				      catch (S s2)					{					  throw;					}				    }				  catch (S s3)				    {				    }				 				  return 0;				}							

相关资源