PERL PERL5 PORTERS 45 PROTOTYPE WARNING CHANGED 5 6 5 8
Subject: prototype warning changed 5.6/5.8
Date: Mon, 21 Feb 2005 15:25:29 +0100

From: Peter.Dintelmann@no-spam (Peter Dintelmann)

In Perl 5.6.1 we have
$ perl561 -MPOSIX -e 'require "unistd.ph"'
Prototype mismatch: sub main::_LARGEFILE_SOURCE vs () at (eval 26) line 1.
Prototype mismatch: sub main::NULL vs () at (eval 75) line 1.
Prototype mismatch: sub main::CLOCKS_PER_SEC vs () at (eval 76) line 1.
... ... ...
$

(The first line of output seems to be due to a redefinition of _LARGEFILE_SOURCE in "sys/feature_tests.ph").

In 5.8.6 no warnings are issued
$ perl586 -MPOSIX -e 'require "unistd.ph"'
$

though the symbols from POSIX are redefined with a different prototype.

$ perl586 -MPOSIX -le 'print defined prototype \&NULL ? 1 : 0'
0

$ perl586 -MPOSIX -le 'require "unistd.ph"; \

> print defined prototype \&NULL ? 1 : 0'
1

I haven't found a hint on this in the delta files (maybe I was not reading carefully enough?).

Is this changed behaviour a fixed old bug, a new one, or not a bug at all?
Peter
-------------------

Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=solaris, osvers=2.6, archname=sun4-solaris-thread-multi uname='sunos sparky 5.6 generic_105181-05 sun4u sparc sunw,ultra-5_10 '
config_args='-des -Dcc=gcc -Dcf_by=ActiveState -Dcf_email=ActivePerl@no-spam -Uinstallusrbinperl -Dusethreads -Duseithreads -Dinc_version_list=5.6.0/$archname 5.6.0
-Dprefix=/usr/local/ActivePerl-5.6'
hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler:
cc='gcc', ccflags ='-D_REENTRANT -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-D_REENTRANT -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='2.95.2 19991024 (release)',
gccosandvers='solaris2.6'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldl -lm -lposix4 -lpthread -lc perllibs=-lsocket -lnsl -ldl -lm -lposix4 -lpthread -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'

Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Locally applied patches:
ActivePerl Build 626
Built under solaris Compiled at May 2 2001 00:16:50
@no-spam /usr/local/ActivePerl-5.6/lib/5.6.1/sun4-solaris-thread-multi /usr/local/ActivePerl-5.6/lib/5.6.1
/usr/local/ActivePerl-5.6/lib/site_perl/5.6.1/sun4-solaris-thread-multi /usr/local/ActivePerl-5.6/lib/site_perl/5.6.1
/usr/local/ActivePerl-5.6/lib/site_perl .

-------------------

Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
Platform:
osname=solaris, osvers=2.9, archname=sun4-solaris-thread-multi-64int uname='sunos oikbm03 5.9 generic_112233-01 sun4u sparc sunw,ultra-5_10 '
config_args='-Dprefix=/opt/perl -Uinstallusrbinperl -Dcc=gcc -Doptimize=-O2 -Aldflags=-R/usr/local/lib -Duseshrplib -Duseperlio -Dusethreads -Duselargefiles -Duse64bitint -des'
hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler:
cc='gcc', ccflags ='-D_REENTRANT -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-D_REENTRANT -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='3.3.2', gccosandvers='solaris2.9'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define Linker and Libraries:
ld='gcc', ldflags =' -R/usr/local/lib -L/usr/local/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -lgdbm -ldl -lm -lpthread -lc perllibs=-lsocket -lnsl -ldl -lm -lpthread -lc libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -R /opt/perl/lib/5.8.6/sun4-solaris-thread-multi-64int/CORE'
cccdlflags='-fPIC', lddlflags='-G -R/usr/local/lib -L/usr/local/lib'

Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_64_BIT_INT USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under solaris Compiled at Dec 7 2004 10:20:15
@no-spam /opt/perl/lib/5.8.6/sun4-solaris-thread-multi-64int /opt/perl/lib/5.8.6
/opt/perl/lib/site_perl/5.8.6/sun4-solaris-thread-multi-64int /opt/perl/lib/site_perl/5.8.6
/opt/perl/lib/site_perl .


Date: Mon, 21 Feb 2005 15:42:50 +0100

Subject: Re: prototype warning changed 5.6/5.8
From: rgarciasuarez@no-spam (Rafael Garcia-Suarez)
Dintelmann, Peter wrote:
> In Perl 5.6.1 we have > > $ perl561 -MPOSIX -e 'require "unistd.ph"'

Are your unistd.ph files the same ?
can you reproduce this without POSIX and/or unistd.ph ?