New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xsubpp breaks typemap $func_args processing #14000
Comments
From dcd@fluke.comCreated by dcd@fluke.comI have .xs and typemap code that I've been using for 10-plus years Fragments of my typemap include TYPEMAP and INPUT this .xs code take an input fragment like: MODULE = DPC3 PACKAGE = DPC3 void and process it in a way that the function DPCVOID DPC3version( could be called. It's been a while since I dove into perl internals and packages, -- #line 68 "DPC3.c" XS(XS_DPC3_DPC3version); /* prototype to pass -Wmissing-prototypes */ /* 1 */ DPC3version(dllVersionBuf,sizeof dllVersionBuf); --- XS_EUPXS(XS_DPC3_DPC3version); /* prototype to pass -Wmissing-prototypes */ DPC3version(dllVersionBuf); Perl Info
|
From @iabynOn Thu, Jul 24, 2014 at 04:03:37PM -0700, David Dyck wrote:
I'm not a typemap expert - so if anyone wants to chip in to contradict me, -- |
The RT System itself - Status changed from 'new' to 'open' |
From @bulk88On Fri Jul 25 05:03:25 2014, davem wrote:
There are many things that are undocumented but should be documented. Here are my favorites. T_BUF and older version of that which very convenient once you try using it (never updated to deal with parsexs changes) is T_STR_LEN Here we get the sub name, and full sub name, usually as C literals, or optimizeawayable pointer derefs. void -- |
From @jkeenanOn Fri Jul 25 05:03:25 2014, davem wrote:
[snip]
Mostly correct. It was an internal implementation variable. When I tried to make ExtUtils::ParseXS into an object-oriented module as part of the "corehackers" project in 2009-2010. It was one of those entities that, IIRC, got wrapped into the EU::PXS object. If you grep EU-PXS 3.24 -- the latest version released with Perl 5.20.0 -- you will find the string 'func_args', but not $func_args. In any event, ExtUtils::ParseXS::Utilities has a function called 'assign_func_args()' but explicitly advises about its functions: ##### So feel free to explore more recent versions of EU-PXS, but understand that YMMV. Thank you very much. |
From david.dyck@fluke.comSo how do we get it func_args documented ? :-) I was able to patch around the problem (using $self->{func_args} instead of $func_args, but now my code is not backward compatible :-( Index: typemap--- typemap (revision 19222) INPUT -----Original Message----- On Thu, Jul 24, 2014 at 04:03:37PM -0700, David Dyck wrote:
I'm not a typemap expert - so if anyone wants to chip in to contradict me, -- |
From @tseeOn 07/25/2014 06:29 PM, bulk88 via RT wrote:
Sorry, but there is no way (as long as I maintain it) that these things --Steffen |
From @tonycozOn Sun Jul 27 01:30:53 2014, smueller@cpan.org wrote:
I wonder if it would be worthwhile provide "official" mechanisms to do what they're doing in the typemap, so maybe: T_STR_LEN I haven't tried to implement this yet. Tony |
From dcd@fluke.comOn Wed, 22 Oct 2014 19:59:45 -0700, tonyc wrote:
It's been a few years and we are moving from /perl5/5.18.1/ExtUtils/ParseXS.pm $VERSION = '3.18'; My earlier workaround is now harder to do because the older (3.18) ParseXS code our $self = bless {} => __PACKAGE__; right before sub process_file Now process_file prevents me from accessing self the same way since it protects it with Looks like I have some more work ahead of me :-( Any hints on how to proceed with this recent breakage would be appreciated |
From [Unknown Contact. See original ticket]On Wed, 22 Oct 2014 19:59:45 -0700, tonyc wrote:
It's been a few years and we are moving from /perl5/5.18.1/ExtUtils/ParseXS.pm $VERSION = '3.18'; My earlier workaround is now harder to do because the older (3.18) ParseXS code our $self = bless {} => __PACKAGE__; right before sub process_file Now process_file prevents me from accessing self the same way since it protects it with Looks like I have some more work ahead of me :-( Any hints on how to proceed with this recent breakage would be appreciated |
From dcd@fluke.comOn Mon, 26 Jun 2017 16:29:13 -0700, dcd@fluke.com wrote:
Just a background and follow up on some progress I've made so far. 2) I was able to manually build the .xsc file by using the xsubpp, typemap, and modules from the ExtUtils distributed with v5.18.1 It is unfortunate that I can't get the ExtUtils distribute with perl v5.22.1 to work. I wish I could have been running regression tests when perl or ExtUtils was updated |
From [Unknown Contact. See original ticket]On Mon, 26 Jun 2017 16:29:13 -0700, dcd@fluke.com wrote:
Just a background and follow up on some progress I've made so far. 2) I was able to manually build the .xsc file by using the xsubpp, typemap, and modules from the ExtUtils distributed with v5.18.1 It is unfortunate that I can't get the ExtUtils distribute with perl v5.22.1 to work. I wish I could have been running regression tests when perl or ExtUtils was updated |
Migrated from rt.perl.org#122392 (status was 'open')
Searchable as RT122392$
The text was updated successfully, but these errors were encountered: