Skip Menu |

This queue is for tickets about the Future-AsyncAwait CPAN distribution.

Report information
The Basics
Id: 121569
Status: resolved
Priority: 0/
Queue: Future-AsyncAwait

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 0.03



Subject: Does not compile (0.02)
I see the following compilation failures on all my smoker systems (various Linux and FreeBSD systems): Either: cc -I/usr/perl5.16.3t/lib/5.16.3/amd64-freebsd-thread-multi/CORE -DVERSION="0.02" -DXS_VERSION="0.02" -DPIC -fPIC -c -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -O -o lib/Future/AsyncAwait.o lib/Future/AsyncAwait.c lib/Future/AsyncAwait.xs: In function 'Perl_suspendedstate_suspend': lib/Future/AsyncAwait.xs:86: error: 'PERL_CONTEXT' has no member named 'blk_oldsaveix' lib/Future/AsyncAwait.xs: In function 'Perl_suspendedstate_resume': lib/Future/AsyncAwait.xs:129: error: 'for' loop initial declaration used outside C99 mode lib/Future/AsyncAwait.xs:137: warning: assignment makes pointer from integer without a cast lib/Future/AsyncAwait.xs: In function 'future_done_from_stack': lib/Future/AsyncAwait.xs:172: error: 'for' loop initial declaration used outside C99 mode lib/Future/AsyncAwait.xs: In function 'pp_await': lib/Future/AsyncAwait.xs:355: error: invalid type argument of '->' lib/Future/AsyncAwait.xs: In function 'async_keyword_plugin': lib/Future/AsyncAwait.xs:501: warning: assignment makes pointer from integer without a cast error building lib/Future/AsyncAwait.o from 'lib/Future/AsyncAwait.c' at /usr/perl5.16.3t/lib/site_perl/5.16.3/ExtUtils/CBuilder/Base.pm line 173. Or: cc -I/opt/perl-5.24.1/lib/5.24.1/x86_64-linux/CORE -DVERSION="0.02" -DXS_VERSION="0.02" -fPIC -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -o lib/Future/AsyncAwait.o lib/Future/AsyncAwait.c lib/Future/AsyncAwait.xs: In function ‘Perl_suspendedstate_resume’: lib/Future/AsyncAwait.xs:129:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode for(SuspendedFrame *frame = state->frames, *next; frame; frame = next) { ^ lib/Future/AsyncAwait.xs:129:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code lib/Future/AsyncAwait.xs: In function ‘future_done_from_stack’: lib/Future/AsyncAwait.xs:172:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode for (SV **svp = SP; svp >= bottom; svp--) { ^ error building lib/Future/AsyncAwait.o from 'lib/Future/AsyncAwait.c' at /opt/perl-5.24.1/lib/5.24.1/ExtUtils/CBuilder/Base.pm line 174.
The latter part (the one about non-C89 comments or for loop declarations) should now be solved by 0.03. The former part, about perls older than 5.24 not supporting blk_oldsaveix, is a rather fundamental limit of the current code, which I haven't yet bothered trying to backport to older perls. I shall leave it as it is for now, and see how far I can backport to older versions once it actually works and is useful on 5.24+ -- Paul Evans
On Wed May 10 08:34:33 2017, PEVANS wrote: Show quoted text
> The former part, about perls older than 5.24 not supporting > blk_oldsaveix, is a rather fundamental limit of the current code, > which I haven't yet bothered trying to backport to older perls. I > shall leave it as it is for now, and see how far I can backport to > older versions once it actually works and is useful on 5.24+
That part is now split out into a new bug - https://rt.cpan.org/Ticket/Display.html?id=122252 This one can now be closed. -- Paul Evans