Go patch committed: Fix defer

2011-09-15 Thread Ian Lance Taylor
The Go frontend had a bug when a function with named result parameter called defer on a function which did not call recover. The caller would execute a return statement to return the updated values of the named result parameters. This was wrong when the deferred function did not call recover and

Go patch committed: Fix defer/recover at high optimization levels

2011-09-14 Thread Ian Lance Taylor
The Go defer/panic/recover handling works through a little dance that includes comparing return addresses to see if a particular call to recover should pick up a particular call to panic. This dance only works if the appropriate functions are not inlined. I messed up the condition for whether the