This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/10606] uncaught_exception() returns false too early


------- Additional Comments From rth at redhat dot com  2004-02-08 03:49 -------
Subject: Re:  uncaught_exception() returns false too early

Jason, is the analysis in this PR correct?  If so, I guess the IA-64 EH
ABI isn't good enough.  We'd need to add a new entry point to be used
with catch types with non-trivial constructors.  Something like: 

	struct S s;
	T.1 = __cxa_begin_catch_part1 (<<eh object>>);
	try
	  {
	    try
	      {
	        __comp_ctor (&s, T.1)
	      }
	    catch
	      {
	        terminate ();
	      }
	    __cxa_begin_catch_part2 (<<eh object>>);
	    try
	      {
	        // handler
	      }
	    finally
	      {
	        __comp_dtor (&s);
	      }
	  }
	finally
	  {
	    __cxa_end_catch ();
	  }


r~


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]