This is the mail archive of the gcc@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]

Re: try/finally in GNU C


On Thu, 15 Jun 2006, Andrew Pinski wrote:

| >
| > On Thu, Jun 15, 2006 at 07:21:03PM -0400, Andrew Pinski wrote:
| > > >   while looking into a recent mismatch between GCC-4.x and a C dialect
| > > > EH implemented as setjmp/longjmp, I recalled there was a talk about
| > > > extending GNU C with __try/__finally construct:
| > > >
| > > >   http://gcc.gnu.org/ml/gcc-patches/2002-11/msg00239.html
| > > >
| > > > What happened to that project?  Is it dead for good?
| > >
| > > Doesn't the cleanup attribute to a variable do close to the same thing?
| > > http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html
| >
| > It's not a replacement, because a finally clause, like a C++ catch

that is my sentiment as well.

| > clause, has access to any automatic variable in scope.  You can only
| > pass one argument to a cleanup function, so to port a program that
| > uses try/finally could require a major rewrite.
|
| Nested functions come in handy here really.

I welcome suggestions that do not require major rewrites.

The compiler already has dependencies on GNU C, so GNUism is not a
problem.  However, simplicity of the work-arouond is premium.

Thanks,

-- Gaby


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