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