In the old METHODs I'm converting on the pdd17pmc branch, a number of them have a void return signature (now simply no return value), and use void returns to bail out early on exceptional conditions. As in:

  if (!foo)
      return;

But, PCCMETHODs don't currently provide a way of handling explicit void returns. An implicit void return (falling thorough to the end of the method with no explicit return) jumps to the 'no_return:' label at the end of the generated method. So, I've added a feature (in the branch) to lib/Parrot/Pmc2c/PCCMETHOD.pm that parses a PCCRETURN with the signature 'void' and generates the same jump code as an implicit void return.

Allison

Reply via email to