note
syphilis
<i>Have you tried enabling trace?</i><br><br>I just tried the <c>-d:Trace</c> 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:
<c>
$return .= join '',' ',@{$item{$Inline::CPP::grammar::star}} if @{$item{$Inline::CPP::grammar::star}};
</c>
So I made the excution of that line of code conditional upon <c>$item{$Inline::CPP::grammar::star}</c> being defined, and the problem went away.<br><br>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:
<c>
_01basic_t_5cd2.c: In function `void XS_main__Soldier_new(PerlInterpreter*, 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 Soldier&)
_01basic_t_5cd2.xs:30: note: Soldier::Soldier(char*, char*, int)
dmake: Error code 129, while making '_01basic_t_5cd2.o'
</c>
Given that Inline::CPP is no longer maintained, I see little point in digging further ... though, of course, pointlessness does not necessarily deter me :-) <br><br>I'm just glad that Inline::C hasn't similarly been destroyed by the latest versions of P::RD.<br><br>Cheers,<br>Rob
757187
757377