On Wed, Mar 20, 2013 at 08:42:25PM +1300, Ralph Versteegen wrote:
> On 20 March 2013 20:04,  <[email protected]> wrote:
> > teeemcee
> > 2013-03-20 00:04:10 -0700 (Wed, 20 Mar 2013)
> > 818
> > Fix Mac port; was broken by work for -gen gcc support.
> >
> > I mistakenly thought __FB_GCC__ is only defined when compiling with -gen gcc
> > but actually it's always defined to either 0 or 1.
> >
> > This caused the setjmp GOSUB hack to be used (on all platforms) instead of 
> > the
> > call/ret hack which we had been using. I hadn't realised it before, but the
> > setjmp GOSUB hack doesn't work on Mac because the tricky saving of the esp
> > register which the Mac port of FB's stack alignment hack uses is interfered
> > with by setjmp's register saving/loading.
> >
> > This patch goes back to using the call/ret hack as intended.
> >
> > I also made the same mistake with __FB_GCC__ in vector.bi, so the 
> > alternative
> > function declarations were always being used. And it turns out that the 
> > 'main'
> > declarations didn't work with a recent testcase, so I fixed that.
> > ---
> > U   wip/config.bi
> > U   wip/vector.bi
> > U   wip/vectortest.bas
> 
> Changing which GOSUB implementation we are using right before a stable
> release concerns me a little, but really we're going back to the well
> tested (minus various reports of data corruption in the map editor
> which we've had over the years) implementation. And at least the
> setjmp hack got some testing (not sure if we've ever had it enabled
> before) and aside from the Mac port no one has complained.

Interesting bug!
I feel safe about switching back to the more-tested gosub hack.

> I want to switch from the fork of Mac port fork of FB 0.21 that we are
> using to FB 0.25 with -gen gcc. (FB 0.21 is getting quite old; this
> will allow us to use inheritance and polymorphism!) Now we know that
> we have to completely eradicate GOSUBs from the source to do that.
>
> We've got lots of GOSUBs remaining in the sprite editor, but I feel
> that cleaning those up is a waste of time, since I want to see the
> sprite editor rewritten for Chalcedony* anyway.

Awesome! I am excited about subifying gosubs! After release, I will 
tackle the handfull of remaining non-sprite-editor ones.

> *Because we've got lots of good names but only one release to make, I
> am going to cycle through codenames

Cucaracha? Cryptonomicon? Capicola?

---
James
_______________________________________________
Ohrrpgce mailing list
[email protected]
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

Reply via email to