This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
void rather than empty parameter for Perl___notused.
authorCraig A. Berry <craigberry@mac.com>
Thu, 25 Aug 2011 22:16:13 +0000 (17:16 -0500)
committerCraig A. Berry <craigberry@mac.com>
Fri, 26 Aug 2011 01:47:59 +0000 (20:47 -0500)
Without this, the VMS compiler, with warnings cranked up to level 4,
emits pages and pages of things like:

    dVAR;
....^
%CC-I-NOPARMLIST, The declaration of the function Perl___notused has
an empty parameter list.  If the function has parameters, they should
be declared here; if it has no parameters, "void" should be specified
in the parameter list.
at line number 100 in file MDA0:[SMOKE.blead]perl.c;1

Over 2,000 of these plus other warnings yields a smoke report of 750K,
which is quite a bit over the 400K limit of the perl.org mailing lists,
not to mention being a slow read.

perl.h

diff --git a/perl.h b/perl.h
index f4bb243..30bee51 100644 (file)
--- a/perl.h
+++ b/perl.h
 /* Rats: if dTHR is just blank then the subsequent ";" throws an error */
 /* Declaring a *function*, instead of a variable, ensures that we don't rely
    on being able to suppress "unused" warnings.  */
-#define dNOOP extern int Perl___notused()
+#define dNOOP extern int Perl___notused(void)
 
 #ifndef pTHX
 /* Don't bother defining tTHX and sTHX; using them outside