in reply to Re^6: GIMME_V==G_ARRAY anomaly on win32 (5.10 only)
in thread GIMME_V==G_ARRAY anomaly on win32 (5.10 only)
The macro does expand the same for me
perl 5.10.1 void foo() { printf("%x\n", ((((*Perl_Iop_ptr(((PerlInterpreter *)Perl_get_cont +ext()))))->op_flags & 3) == 1 ? 128 : (((*Perl_Iop_ptr(((PerlInterpre +ter *)Perl_get_context()))))->op_flags & 3) == 2 ? 0 : (((*Perl_Iop_p +tr(((PerlInterpreter *)Perl_get_context()))))->op_flags & 3) == 3 ? 1 + : Perl_block_gimme(((PerlInterpreter *)Perl_get_context())))); printf("%x\n", 1); printf("%d\n", ((((*Perl_Iop_ptr(((PerlInterpreter *)Perl_get_cont +ext()))))->op_flags & 3) == 1 ? 128 : (((*Perl_Iop_ptr(((PerlInterpre +ter *)Perl_get_context()))))->op_flags & 3) == 2 ? 0 : (((*Perl_Iop_p +tr(((PerlInterpreter *)Perl_get_context()))))->op_flags & 3) == 3 ? 1 + : Perl_block_gimme(((PerlInterpreter *)Perl_get_context()))) == 1); } strawbery 5.10.0 void foo() { printf("%x\n", ((((*Perl_Iop_ptr(((PerlInterpreter *)Perl_get_cont +ext()))))->op_flags & 3) == 1 ? 128 : (((*Perl_Iop_ptr(((PerlInterpre +ter *)Perl_get_context()))))->op_flags & 3) == 2 ? 0 : (((*Perl_Iop_p +tr(((PerlInterpreter *)Perl_get_context()))))->op_flags & 3) == 3 ? 1 + : Perl_block_gimme(((PerlInterpreter *)Perl_get_context())))); printf("%x\n", 1); printf("%d\n", ((((*Perl_Iop_ptr(((PerlInterpreter *)Perl_get_cont +ext()))))->op_flags & 3) == 1 ? 128 : (((*Perl_Iop_ptr(((PerlInterpre +ter *)Perl_get_context()))))->op_flags & 3) == 2 ? 0 : (((*Perl_Iop_p +tr(((PerlInterpreter *)Perl_get_context()))))->op_flags & 3) == 3 ? 1 + : Perl_block_gimme(((PerlInterpreter *)Perl_get_context()))) == 1); } activeperl v5.8.9 build 825 [288577] void foo() { printf("%x\n", ((((*Perl_Top_ptr(((PerlInterpreter *)Perl_get_cont +ext()))))->op_flags & 3) == 1 ? 128 : (((*Perl_Top_ptr(((PerlInterpre +ter *)Perl_get_context()))))->op_flags & 3) == 2 ? 0 : (((*Perl_Top_p +tr(((PerlInterpreter *)Perl_get_context()))))->op_flags & 3) == 3 ? 1 + : Perl_block_gimme(((PerlInterpreter *)Perl_get_context())))); printf("%x\n", 1); printf("%d\n", ((((*Perl_Top_ptr(((PerlInterpreter *)Perl_get_cont +ext()))))->op_flags & 3) == 1 ? 128 : (((*Perl_Top_ptr(((PerlInterpre +ter *)Perl_get_context()))))->op_flags & 3) == 2 ? 0 : (((*Perl_Top_p +tr(((PerlInterpreter *)Perl_get_context()))))->op_flags & 3) == 3 ? 1 + : Perl_block_gimme(((PerlInterpreter *)Perl_get_context()))) == 1); }
|
|---|