in reply to Re^3: Error ... at (eval 75) line 7974.
in thread Error ... at (eval 75) line 7974.
Have you tried enabling trace?
I just tried the -d:Trace and that did give me the line number in P::RD where the eval is called. It was indeed line 7974 (which comes from Inline/CPP/grammar.pm) of that string that was causing the problem:
Unfortunately, that's not the whole solution, as the grammar is still broken. From the first inline::CPP test script (during 'make test') I now get:
I'm just glad that Inline::C hasn't similarly been destroyed by the latest versions of P::RD.
Cheers,
Rob
I just tried the -d:Trace and that did give me the line number in P::RD where the eval is called. It was indeed line 7974 (which comes from Inline/CPP/grammar.pm) of that string that was causing the problem:
So I made the excution of that line of code conditional upon $item{$Inline::CPP::grammar::star} being defined, and the problem went away.$return .= join '',' ',@{$item{$Inline::CPP::grammar::star}} if @{$ite +m{$Inline::CPP::grammar::star}};
Unfortunately, that's not the whole solution, as the grammar is still broken. From the first inline::CPP test script (during 'make test') I now get:
Given that Inline::CPP is no longer maintained, I see little point in digging further ... though, of course, pointlessness does not necessarily deter me :-)_01basic_t_5cd2.c: In function `void XS_main__Soldier_new(PerlInterpre +ter*, CV*) ': _01basic_t_5cd2.c:79: error: no matching function for call to `Soldier +::Soldier( )' _01basic_t_5cd2.xs:16: note: candidates are: Soldier::Soldier(const So +ldier&) _01basic_t_5cd2.xs:30: note: Soldier::Soldier(char*, c +har*, int) dmake: Error code 129, while making '_01basic_t_5cd2.o'
I'm just glad that Inline::C hasn't similarly been destroyed by the latest versions of P::RD.
Cheers,
Rob
In Section
Seekers of Perl Wisdom