On Tue, Mar 27, 2007 at 05:42:12AM -0700, Steve Peters via RT wrote:

> > Anyway, it's worth noting that although one of functions actually
> > doesn't
> > return anything, it is documented as returning a PMC *.  So either the
> > documentation or the function is wrong in parrotobject.pmc and should
> > be
> > fixed.
> 
> Unfortunately, I can't find a gcc warning flag that would seem to catch this 
> sort of situation 
> either.

$ gcc -ansi -pedantic -Wall -o void void.c 
void.c: In function `uggh':
void.c:9: warning: `return' with a value, in function returning void

where my test program is

#include <stdio.h>

void thwape() {
  puts("here!");
}

void uggh() {
  puts("no, here!");
  return thwape();
}

int
main () {
  uggh();
  return 0;
}


I don't think that it's possible to make this non-conformity a fatal heresy :-(
(gcc --spanish-inquisition)

Getting parrot to build under -ansi -pedantic is left as an exercise to the
reader. Likely to a reader on *BSD who wants to apply for a microgrant.
(Even Solaris doesn't have headers that are clean with -ansi -pedantic. Which
surprises me. Solaris is usually very clean and well engineered throughout)

Can Intel or Sun's compilers be coaxed into being suitably grumpy about this?
If so, do we have a machine capable of smoking them?
And is it viable (or good) for parrot smoke failures to reach this list, much
like most people configure their Perl 5 smokers to send the black smoke to
p5p?

Nicholas Clark

Reply via email to