From 404452ead774dbc9162150cbb9f285509da0c296 Mon Sep 17 00:00:00 2001 From: Steffen Mueller Date: Mon, 12 Sep 2011 08:25:31 +0200 Subject: [PATCH] perldelta galore for ExtUtils::ParseXS changes This also rephrases the "XSUBs are now static" section since the exact behaviour has changed since 5.15.2. --- pod/perldelta.pod | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 4b60d1c..2adf110 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -81,10 +81,12 @@ L can be -used in place of C. C (C) -can be made to declare XSUBs with C using the +outside the compilation unit. Users can use the new C +and C macros to pick the desired linking behaviour. +The ordinary C declaration for XSUBs will continue to declare +non-'static' XSUBs for compatibility, but the XS compiler, +C (C) will emit 'static' XSUBs by default. +C's behaviour can be reconfigured from XS using the C keyword, see L for details. =head1 Deprecations @@ -179,10 +181,41 @@ The XS code for sorting hash keys has been simplified slightly. =item * -L has been upgraded from version 3.04_03 to version 3.04_04. +L has been upgraded from version 3.03_01 to version 3.04_04. The handling of C in the generated XS code has been simplified. +The previously broken "INCLUDE: ... |" functionality has been repaired +(CPAN RT #70213). + +A compatibility-workaround for modules that cannot +live with the new XSUB staticness (see I above) +has been implemented with the C and +C preprocessor defines. + +The compiler warnings when -except option is used with F +have been fixed. + +The XSUB.h changes to make C use C +by default (which were in the 5.15.2 dev release of perl) +have been reverted since too many CPAN modules expect to +be able to refer to XSUBs declared with C. +Instead, C will define a copy of the +C/C macros as necessary going back to +perl 5.10.0. By default, ExtUtils::ParseXS will use +C instead of C. + +Fixed regression for input-typemap override in XS argument +list (CPAN RT #70448). + +C now properly strips trailing semicolons +from inputmaps. These could previously trigger warnings (errors +in strict C89 compilers) due to additional semicolons being +interpreted as empty statements. + +Now detects and throws a warning if there is a C section using +C, but no C section (CPAN RT #69536). + =item * L has been upgraded from version 3.17 to version 3.18. -- 1.8.3.1