On 2 March 2016 at 15:35, Klaus S. Madsen <k...@jobindex.dk> wrote: > Sorry, > > A small correction. The test works with a "home compiled" perl 5.16.3 > without ithreads support. With 5.22.1 without ithreads support I run into > the same issue that r1702395 should have solved with sprintf warnings. > > While I'm no expert in this, I believe that the comment in r1702395 is > wrong. It's not because of the thread context that the number of arguments > is wrong, it's because of the way WrapXS.pm handles functions with variable > parameter length (i.e. ... functions). > > In the .xs code items is the number of elements in the MARK array. However > when WrapXS.pm generates code for a ... function, it will increment MARK, so > that it points to the second argument to the function. It will not, however > decrement items, which means that items and MARK now are out of sync. I > suspect that MARK is incremented to skip the object that the function is > called on. > > I've attached a simple patch that updates the comment and removes the ifdef > around the decrementation of items, which solves the test-failures for > non-threaded perl 5.22. >
Thanks, committed in r1733564. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org For additional commands, e-mail: dev-h...@perl.apache.org