On Mon, Nov 28, 2005 at 09:47:33AM -0000, Martin J. Evans wrote: > As with Jonathan and Darren I get a number of: > > Perl.c:86: warning: unused parameter `cv' during make.
They're harmless. The cv is from the PERLXS macro. To avoid it I'd need to add something like cv=cv; to each XS function. I could do that but I'm just going to dodge the issue and use the -Wno-unused-parameter option :) > I also get: > > cc -c -W -Wall -Wpointer-arith -Wmissing-noreturn -Wbad-function-cast > -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wdisabled-optimization -O2 > -DVERSION=\"1.49\" -DXS_VERSION=\"1.49\" -fpic > "-I/usr/local/lib/perl5/5.8.0/i686-linux/CORE" -DDBI_NO_THREADS Perl.c > cc1: Invalid option `-Wmissing-noreturn' > cc1: Invalid option `-Wdisabled-optimization' > The -W issue seems to relate to the new section below in the Makefile.PL: > [...] > $opts{CCFLAGS} .= ' -Wdisabled-optimization' if $gccversion ge "3.0"; > [...] > egcs-2.91.66 Umm, the -Wdisabled-optimization flag should only be added for gcc >=3. What does perl -V:gccversion say? Perhaps it has some prefix like 'egcs'. I'll strip $gccversion down to digits and dots and move -Wmissing-noreturn into that condition. Thanks guys. I've attached the current diffs from the release candidate. More testing would be great, but unless I hear anything bad by the end of today I'll probably release tomorrow morning. Tim.
Index: META.yml =================================================================== --- META.yml (revision 2281) +++ META.yml (working copy) @@ -1,10 +1,11 @@ # http://module-build.sourceforge.net/META-spec.html #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: DBI -version: 1.48 +version: 1.49 version_from: DBI.pm installdirs: site requires: + Storable: 1 Test::Simple: 0.4 distribution_type: module Index: Makefile.PL =================================================================== --- Makefile.PL (revision 2281) +++ Makefile.PL (working copy) @@ -141,13 +141,15 @@ if (my $gccversion = $Config{gccversion}) { # ask gcc to be more pedantic warn "WARNING: Your GNU C $gccversion compiler is very old. Please upgrade it and rebuild perl.\n" - if $gccversion =~ m/^(1|2\.[1-8])/; - $opts{CCFLAGS} .= ' -W -Wall -Wpointer-arith -Wmissing-noreturn -Wbad-function-cast'; + if $gccversion =~ m/^\D*(1|2\.[1-8])/; + $gccversion =~ s/[^\d\.]//g; # just a number please + $opts{CCFLAGS} .= ' -W -Wall -Wpointer-arith -Wbad-function-cast'; $opts{CCFLAGS} .= ' -Wno-comment -Wno-sign-compare -Wno-cast-qual'; - $opts{CCFLAGS} .= ' -Wdisabled-optimization' if $gccversion ge "3.0"; - if (0 && $is_developer && $::opt_g) { + $opts{CCFLAGS} .= ' -Wdisabled-optimization -Wmissing-noreturn -Wno-unused-parameter' + if $gccversion ge "3.0"; + if ($is_developer && $::opt_g) { $opts{CCFLAGS} .= ' -DPERL_GCC_PEDANTIC -ansi -pedantic' if $gccversion ge "3.0"; - $opts{CCFLAGS} .= ' -Wmissing-prototypes'; # noisy due to XS_* funcs + $opts{CCFLAGS} .= ' -Wmissing-prototypes'; } } @@ -296,13 +298,13 @@ $(NOECHO) $(NOOP) $(changes_pm): Changes - $(NOECHO) $(MKPATH) $(inst_libdbi) - $(NOECHO) $(RM_F) $(changes_pm) + $(MKPATH) $(inst_libdbi) + $(RM_F) $(changes_pm) $(CP) Changes $(changes_pm) $(roadmap_pm): Roadmap.pod - $(NOECHO) $(MKPATH) $(inst_libdbi) - $(NOECHO) $(RM_F) $(roadmap_pm) + $(MKPATH) $(inst_libdbi) + $(RM_F) $(roadmap_pm) $(CP) Roadmap.pod $(roadmap_pm) '; Index: MANIFEST =================================================================== --- MANIFEST (revision 2281) +++ MANIFEST (working copy) @@ -59,6 +59,7 @@ t/40profile.t t/41prof_dump.t t/42prof_data.t +t/43profenv.t t/50dbm.t t/60preparse.t t/70callbacks.t