6 months agoAdd new release to perlhist v5.21.1
Matthew Horsfall (alh) [Fri, 20 Jun 2014 12:21:52 +0000]
Add new release to perlhist

6 months agoFinalize perldelta
Matthew Horsfall (alh) [Fri, 20 Jun 2014 12:18:59 +0000]
Finalize perldelta

6 months agoUpdate Module::CoreList for 5.21.1
Matthew Horsfall (alh) [Fri, 20 Jun 2014 11:52:56 +0000]
Update Module::CoreList for 5.21.1

6 months agoUpdate perldelta acknowledgements
Matthew Horsfall (alh) [Fri, 20 Jun 2014 11:32:28 +0000]
Update perldelta acknowledgements

6 months agoBegin to finalize perldelta for release
Matthew Horsfall (alh) [Fri, 20 Jun 2014 11:29:07 +0000]
Begin to finalize perldelta for release

6 months agoGCC_DIAG_IGNORE/RESTORE whine in non-gcc if at file level.
Jarkko Hietaniemi [Fri, 20 Jun 2014 02:03:25 +0000]
GCC_DIAG_IGNORE/RESTORE whine in non-gcc if at file level.

6 months agoCouple more (optionally) unused contexts.
Jarkko Hietaniemi [Thu, 19 Jun 2014 18:40:36 +0000]
Couple more (optionally) unused contexts.

6 months agoAvoid blank lines in backslash warnings test.
Craig A. Berry [Thu, 19 Jun 2014 23:29:35 +0000]
Avoid blank lines in backslash warnings test.

This is a follow-up to 12f55bbce575aecc, which fell victim to a
bug workaround. Because the broken pipes on VMS sometimes put
multiple blank lines in test output, we collapse multiple newlines
into one.  Which breaks tests that genuinely have multiple blank
lines in the output.

So don't leave the output blank, which coincidentally makes it a
lot easier to see which print statement produces which line of
output.

6 months agofix a typo in perl520delta
Ricardo Signes [Thu, 19 Jun 2014 23:22:27 +0000]
fix a typo in perl520delta

6 months agoRemove x2p remnants
Matthew Horsfall (alh) [Thu, 19 Jun 2014 23:19:44 +0000]
Remove x2p remnants

6 months agoRemove old file from @writables; was taken out in autodie 2.24
Matthew Horsfall (alh) [Thu, 19 Jun 2014 22:54:57 +0000]
Remove old file from @writables; was taken out in autodie 2.24

6 months agoIn case someone manages to call g++ with -Wc++-compat.
Jarkko Hietaniemi [Thu, 19 Jun 2014 21:55:34 +0000]
In case someone manages to call g++ with -Wc++-compat.

6 months agoNote the open RT ticket.
Jarkko Hietaniemi [Thu, 19 Jun 2014 19:08:25 +0000]
Note the open RT ticket.

6 months agoDisable ODBM (via i_dbm) in HP-UX, seems to be buggy.
Jarkko Hietaniemi [Thu, 19 Jun 2014 16:07:26 +0000]
Disable ODBM (via i_dbm) in HP-UX, seems to be buggy.

6 months agoLower the optimization on Digest-SHA for HP-UX cc.
Jarkko Hietaniemi [Thu, 19 Jun 2014 15:33:32 +0000]
Lower the optimization on Digest-SHA for HP-UX cc.

Upstream, but we are adding a platform specific hints file.

6 months agoHP-UX cc in PA-RISC2.0 optimizer crashes with some files.
Jarkko Hietaniemi [Thu, 19 Jun 2014 15:13:00 +0000]
HP-UX cc in PA-RISC2.0 optimizer crashes with some files.

6 months agoThe g++ flags removal was not right.
Jarkko Hietaniemi [Thu, 19 Jun 2014 13:44:59 +0000]
The g++ flags removal was not right.

6 months agoSilence -Wunused-parameter my_perl under threads.
Jarkko Hietaniemi [Wed, 18 Jun 2014 22:56:45 +0000]
Silence -Wunused-parameter my_perl under threads.

For S_ functions, remove the context.
For Perl_ functions, add PERL_UNUSED_CONTEXT.

Tricky because sometimes depends on DEBUGGING, and sometimes
on whether we are have PERL_IMPLICIT_SYS.

(Why all the mathoms Perl_is_uni_... and Perl_is_utf8_...
functions are not being whined about is a mystery.)

vutil.c (included via util.c) has one of these, but it's cpan/,
and a known problem: https://rt.cpan.org/Ticket/Display.html?id=96100

6 months agoRevert "/* NOTREACHED */ belongs *before* the unreachable."
Jarkko Hietaniemi [Thu, 19 Jun 2014 15:19:54 +0000]
Revert "/* NOTREACHED */ belongs *before* the unreachable."

This reverts commit 148f39b7de6eae9ddd59e0b0aff691d6abea7aca.

(Still needs more work, but wanted to see how well this passed with Jenkins.)

6 months ago/* NOTREACHED */ belongs *before* the unreachable.
Jarkko Hietaniemi [Thu, 19 Jun 2014 10:43:08 +0000]
/* NOTREACHED */ belongs *before* the unreachable.

Definitely not *after* it.  It marks the start of the unreachable,
not the first unrechable line.  And if they are in that order,
it looks better to linebreak after the lint hint.

6 months agoRevert the perl.h part of a3ccabc.
Jarkko Hietaniemi [Wed, 18 Jun 2014 21:53:48 +0000]
Revert the perl.h part of a3ccabc.

(Worked in smokes, bombed under Jenkins.)

6 months agoGCC_DIAG_IGNORE needs to end with semicolon (inline.h).
Jarkko Hietaniemi [Wed, 18 Jun 2014 19:36:17 +0000]
GCC_DIAG_IGNORE needs to end with semicolon (inline.h).

Furthermore, make the GCC_DIAG_IGNORE and _RESTORE to be dNOOPs,
so that they can be at any level of the code, including global, even
when the compiler is not gcc (or lookalike).  If they are just empty,
";" will be left at the call site.

6 months agoRegenerate podcheck.t db for new too-long verbatim lines
Karl Williamson [Wed, 18 Jun 2014 19:33:59 +0000]
Regenerate podcheck.t db for new too-long verbatim lines

6 months agoPATCH: [perl #122126] BBC DBD::SQLite
Karl Williamson [Wed, 18 Jun 2014 19:01:41 +0000]
PATCH: [perl #122126] BBC DBD::SQLite

This problem turns out to be a misspelling in two places of a compiler
definition.  Since the definition didn't exist (as it was misspelled),
the #ifdef failed.

I don't know how really to test this as it is locale collation, which
varies by locale, and we would be relying on vendor-supplied locales
which may be inconsistent between platforms.  I intend to tackle
improvements to collaction later this release cycle, and should come up
with tests at that time.  The failing tests in the module were comparing
the Perl sort results with those of the module, and finding they differ.

6 months agoAdd a note about the HP-UX "internal linkage" warning.
Jarkko Hietaniemi [Wed, 18 Jun 2014 18:58:03 +0000]
Add a note about the HP-UX "internal linkage" warning.

6 months agoTry silencing the infamous PerlSIO_set_ptr in perlio.c.
Jarkko Hietaniemi [Wed, 18 Jun 2014 15:10:22 +0000]
Try silencing the infamous PerlSIO_set_ptr in perlio.c.

6 months ago__clang__ seems to be thing, but leave also __clang.
Jarkko Hietaniemi [Wed, 18 Jun 2014 15:09:05 +0000]
__clang__ seems to be thing, but leave also __clang.

This fixes the GCC_DIAG_IGNORE() + GCC_DIAG_RESTORE with clang.

6 months agoAdd note about the -std=c89 needing -pedantic.
Jarkko Hietaniemi [Wed, 18 Jun 2014 15:49:40 +0000]
Add note about the -std=c89 needing -pedantic.

6 months agoEcho also these added options.
Jarkko Hietaniemi [Wed, 18 Jun 2014 13:20:18 +0000]
Echo also these added options.

6 months ago-Wextra is the new -W, do not use both.
Jarkko Hietaniemi [Wed, 18 Jun 2014 13:12:18 +0000]
-Wextra is the new -W, do not use both.

6 months ago-Wendif-labels is actually the default.
Jarkko Hietaniemi [Wed, 18 Jun 2014 13:06:26 +0000]
-Wendif-labels is actually the default.

Has been AFAICT for years / always, the documentation just
had it wrong in pre-4.0 gccs.

6 months agoEnable -Werror=declaration-after-statement.
Jarkko Hietaniemi [Wed, 18 Jun 2014 13:04:24 +0000]
Enable -Werror=declaration-after-statement.

For C89 compliancy, this is the most common thinko people make.
While waiting for -pedantic -std=c89, which will catch the same.

6 months agoComment tweaking.
Jarkko Hietaniemi [Wed, 18 Jun 2014 12:44:52 +0000]
Comment tweaking.

6 months agoMake also cflags.SH clean with g++ -Wunused-*
Jarkko Hietaniemi [Wed, 18 Jun 2014 12:43:37 +0000]
Make also cflags.SH clean with g++ -Wunused-*

"clean" as in "not needed anymore".

6 months agoWith this we are g++ -Wunused-* clean.
Jarkko Hietaniemi [Wed, 18 Jun 2014 12:52:17 +0000]
With this we are g++ -Wunused-* clean.

6 months agoLooks like the core is now -Wunused-value clean with clang.
Jarkko Hietaniemi [Wed, 18 Jun 2014 12:27:54 +0000]
Looks like the core is now -Wunused-value clean with clang.

Another possibility is that clang has become smarter,
and that needs to be made dependent on clang version.
But for now, let's opt for simplicity and less logic.

6 months agoAvoid missing return warning in pp_die.
Craig A. Berry [Wed, 18 Jun 2014 16:40:28 +0000]
Avoid missing return warning in pp_die.

Even though it can't be reached, the absence of a return statement
makes the VMS C compiler warn that it's missing.

6 months agocflags.SH: Whitespace only.
Jarkko Hietaniemi [Wed, 18 Jun 2014 12:04:22 +0000]
cflags.SH: Whitespace only.

6 months agoMove ccflags edits to extraction time.
Jarkko Hietaniemi [Mon, 16 Jun 2014 12:49:13 +0000]
Move ccflags edits to extraction time.

(Except for the possible toke_cflags customizations.)

Do the -Wno-unused-... edits only if -Wall.

Echo the edits done during extraction time, to make the magic more visible.

6 months agoAllow cflags.SH edits to ccflags to stick.
Jarkko Hietaniemi [Mon, 16 Jun 2014 12:32:48 +0000]
Allow cflags.SH edits to ccflags to stick.

6 months agolib/locale.t: White space only
Karl Williamson [Tue, 17 Jun 2014 19:11:46 +0000]
lib/locale.t: White space only

Indent inside a newly-formed block

6 months agolib/locale.t: Skip testing $! unless LC_MESSAGES exists
Karl Williamson [Tue, 17 Jun 2014 19:10:04 +0000]
lib/locale.t: Skip testing $! unless LC_MESSAGES exists

Some platforms don't have LC_MESSAGES for some or all locales, so skip
these tests on them.

6 months agoPATCH:[perl #12202] locale fails on OS X
Karl Williamson [Tue, 17 Jun 2014 18:26:05 +0000]
PATCH:[perl #12202] locale fails on OS X

It turns out that the bug is in OS X for this Chinese Big5 locale.  So
this patch just makes the failing test one that we don't fail the whole
.t for unless too many locales fail.

6 months agolib/locale.t: Don't test strftime without LC_TIME
Karl Williamson [Tue, 17 Jun 2014 18:20:39 +0000]
lib/locale.t: Don't test strftime without LC_TIME

On netbsd, not all locales have an LC_TIME, and so they are all failing
the tests for that.  This is true even though they have LC_ALL.  I don't
know if that is legal or not, but Perl can't do anything about it, so
this skips the LC_TIME tests for locales that don't have it.

6 months agolib/locale.t: Add %p to strftime test
Karl Williamson [Tue, 17 Jun 2014 18:19:23 +0000]
lib/locale.t: Add %p to strftime test

This can also output alpha text, so should be included in the alpha
tests for strftime.

6 months agolib/locale.t: Add debugging statement
Karl Williamson [Tue, 17 Jun 2014 18:10:40 +0000]
lib/locale.t: Add debugging statement

This will aid in debugging on platforms where strftime has problems

6 months agolib/locale.t: Add debugging subroutine
Karl Williamson [Tue, 17 Jun 2014 18:07:51 +0000]
lib/locale.t: Add debugging subroutine

This prints out a string unambiguously, both well and ill-formed UTF-8.
The next commit will use it.

6 months agolib/locale.t: Modify debug statements
Karl Williamson [Tue, 17 Jun 2014 17:52:59 +0000]
lib/locale.t: Modify debug statements

The debugging statements should begin with a '#' so TAP ignores them.
It's easier to do this in the subroutine that prints them, rather than
remember to do so in each call to it.  This doesn't change the few
debugf() calls, because one doesn't want a # (it just outputs an empty
line)

6 months agolib/locale.t: Don't test locales without LC_NUMERIC
Karl Williamson [Tue, 17 Jun 2014 17:50:48 +0000]
lib/locale.t: Don't test locales without LC_NUMERIC

There are quite a few tests that depend on LC_NUMERIC.  Some platforms
will say they have LC_ALL, but that doesn't include all the official
categories, so check that does include LC_NUMERIC

6 months agolib/locale.t: Refactor some tests common to 2 branches
Karl Williamson [Mon, 16 Jun 2014 15:55:42 +0000]
lib/locale.t: Refactor some tests common to 2 branches

These tests can go in the same straight-line code as they are the same
in both branches they were previously in.

6 months agolib/locale.t: Add debugging statement
Karl Williamson [Mon, 16 Jun 2014 03:57:19 +0000]
lib/locale.t: Add debugging statement

This prints only during debugging the percentage of locales that fail
tests that exceed the permissible failure rate..

6 months agoperldelta for fatalizing defined(@), hash as ref
Karl Williamson [Wed, 18 Jun 2014 01:54:42 +0000]
perldelta for fatalizing defined(@), hash as ref

I forgot to include these in the initial commits

6 months agoperldelta: Move MAD notice to "Config" section
Karl Williamson [Wed, 18 Jun 2014 01:53:59 +0000]
perldelta: Move MAD notice to "Config" section

6 months agot/re/pat_advanced.t: Remove a 'use encoding'
Karl Williamson [Wed, 18 Jun 2014 01:02:05 +0000]
t/re/pat_advanced.t: Remove a 'use encoding'

'use encoding "latin1"' has the effect of causing \x80 - \xFF to be
treated as Unicode characters in a regular expression, which is the same
thing as the /u modifier does.  The pragma may eventually be removed, so
replace it by the more modern way to get the same effect

6 months agoOptimize regen/regcharclass.pl
Tony Cook [Wed, 18 Jun 2014 00:48:04 +0000]
Optimize regen/regcharclass.pl

This became noticably slower recently, these changes don't return us
to the previous runtimes, but they do improve things.

6 months agoavoid copying the while ebcidic mapping to the stack calling get_a2n()
Tony Cook [Tue, 10 Jun 2014 06:18:34 +0000]
avoid copying the while ebcidic mapping to the stack calling get_a2n()

from 41.6sec to 34.1sec

get_a2n() is called 181540 times by __uni_latin1() which in most cases
doesn't use the whole table.  Other callers tend to use the whole
table, so make a copy.

6 months agoavoid copying the whole map to the stack on each call to get_I8_2_utf()
Tony Cook [Tue, 10 Jun 2014 06:07:12 +0000]
avoid copying the whole map to the stack on each call to get_I8_2_utf()

took run time from 51.6 sec to 41.6 sec

get_I8_2_utf() is called 147000 times by cp_2_utfbytes() which
typically doesn't use the whole table, so return a reference instead to.

6 months agoRevert the removal of 'use encoding'
Karl Williamson [Wed, 18 Jun 2014 00:00:13 +0000]
Revert the removal of 'use encoding'

We've decided to not remove 'use encoding' in v5.20.

This reverts commits b017fe877ad78f04afaa3c1327fc46391f572bfb,
7053d92917f7cb46452de86dc4c6d8644cae849c, and
b06e47f717f77453fbdaef628efc2b9c83898a8b

6 months agoperl.h: White-space only
Karl Williamson [Thu, 12 Jun 2014 21:11:43 +0000]
perl.h: White-space only

6 months agoUpdate INSTALL
Matthew Horsfall (alh) [Tue, 17 Jun 2014 23:42:33 +0000]
Update INSTALL

6 months agoUpdate perldelta for new/changed diagnostics
Matthew Horsfall (alh) [Tue, 17 Jun 2014 23:29:30 +0000]
Update perldelta for new/changed diagnostics

6 months agoperldelta for d0a29c3
Matthew Horsfall (alh) [Tue, 17 Jun 2014 22:48:28 +0000]
perldelta for d0a29c3

6 months agoperldelta for f31006c
Matthew Horsfall (alh) [Tue, 17 Jun 2014 22:38:49 +0000]
perldelta for f31006c

6 months agoCorrect two subtle typos.
Michael Bunk [Tue, 17 Jun 2014 22:35:33 +0000]
Correct two subtle typos.

Add Michael Bunk to Perl AUTHORS.

For: https://rt.perl.org/Ticket/Display.html?id=122120

6 months agoepigraphs: add the v5.20.0-RC1 epigraph
Ricardo Signes [Tue, 17 Jun 2014 21:11:29 +0000]
epigraphs: add the v5.20.0-RC1 epigraph

6 months agoPATCH: [perl #121816] Add warning for repetition x < 0
Karl Williamson [Tue, 17 Jun 2014 15:39:51 +0000]
PATCH: [perl #121816] Add warning for repetition x < 0

I consider this experimental, so that if code breaks as a result, we
will remove it.

I chose the numeric warnings category.  But misc or a new subcategory of
numeric might be better choices.

There is also the issue if someone is calculating the repeat count in
floating point and gets something that would be 0 if there were infinite
precision, but ends up being a very small negative number.  The current
implementation will warn on that, but probably shouldn't.  I suspect that
this would be extremely rare in practice.

6 months agoClosing comments is hard.
Jarkko Hietaniemi [Tue, 17 Jun 2014 12:27:50 +0000]
Closing comments is hard.

6 months agoDo not declare victory over d632a2c.
Jarkko Hietaniemi [Tue, 17 Jun 2014 12:23:04 +0000]
Do not declare victory over d632a2c.

The same warning seems to pop in Android.  Needs more study.

6 months agoBump B::Deparse version
Matthew Horsfall (alh) [Thu, 12 Jun 2014 23:13:53 +0000]
Bump B::Deparse version

6 months agoPreserve explicit 'm' when deparsing m?PATTERN?
Dagfinn Ilmari Mannsåker [Thu, 2 Jan 2014 13:18:18 +0000]
Preserve explicit 'm' when deparsing m?PATTERN?

Bare ?PATTERN? is no longer allowed

6 months agoRemove "ternary operator parsed as search pattern" warning
Dagfinn Ilmari Mannsåker [Thu, 2 Jan 2014 13:06:51 +0000]
Remove "ternary operator parsed as search pattern" warning

Since ?PATTERN? without 'm' is no longer supported, there is no
ambiguity any more.

6 months agoRemove support for ?PATTERN? without explicit 'm' operator
Dagfinn Ilmari Mannsåker [Wed, 1 Jan 2014 02:41:25 +0000]
Remove support for ?PATTERN? without explicit 'm' operator

This has issued a deprecation warning since v5.14 (commit 725a61d70),
and precludes using ? as an operator after a unary operator that
defaults to $_, such as:

   ref ? $_ : [$_]

6 months agoperldiag: Add details about variable length lookbehind
Karl Williamson [Tue, 17 Jun 2014 02:00:39 +0000]
perldiag: Add details about variable length lookbehind

See http://nntp.perl.org/group/perl.perl5.porters/215685

6 months agoperldiag: Remove obsolete entries.
Karl Williamson [Tue, 17 Jun 2014 01:58:04 +0000]
perldiag: Remove obsolete entries.

These entries about \b{} are obsolete, as it no longer is deprecated,
but forbidden.

6 months agoUse Unicode 7.0
Karl Williamson [Fri, 21 Feb 2014 04:59:00 +0000]
Use Unicode 7.0

6 months agoFatalize defined(@) and defined{%)
Karl Williamson [Tue, 17 Jun 2014 00:56:44 +0000]
Fatalize defined(@) and defined{%)

Calling defined on an array or hash has been deprecated and scheduled
for removal in v5.22.  This commit does that, removing the tests that
assumed they were defined.

In order to get the line numbers of the errors to display, I combined
the first and second lines of the message, omitting the \n

6 months agobe explicit that SvSetSV() doesn't do set magic
Tony Cook [Tue, 17 Jun 2014 00:49:06 +0000]
be explicit that SvSetSV() doesn't do set magic

6 months agoDisable and document xop_name gcc warning seen in HP-UX.
Jarkko Hietaniemi [Mon, 16 Jun 2014 18:52:37 +0000]
Disable and document xop_name gcc warning seen in HP-UX.

6 months agoUse of the Uid_t_sign and casting instead of Uid_t_f.
Jarkko Hietaniemi [Mon, 16 Jun 2014 16:27:35 +0000]
Use of the Uid_t_sign and casting instead of Uid_t_f.

HP-UX B.11.31/64 gcc 4.7.2 with -DDEBUGGING:
taint.c:38:2: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'uid_t' [-Wformat]

This removes the sole use of Uid_t_f (and there are none of Gid_t_f)
from the core.

6 months agod_namlen can be signed.
Jarkko Hietaniemi [Mon, 16 Jun 2014 16:19:22 +0000]
d_namlen can be signed.

In HP-UX, it is either short or char (which can be either signed or unsigned),
depending on the compiler flags.

6 months agoDo not printf U32 and I32 (both) as %i.
Jarkko Hietaniemi [Mon, 16 Jun 2014 16:09:56 +0000]
Do not printf U32 and I32 (both) as %i.

(Detected in HP-UX.)

6 months agoFor HP-UX, do not potentially deref NULL CopFILESV.
Jarkko Hietaniemi [Mon, 16 Jun 2014 16:06:48 +0000]
For HP-UX, do not potentially deref NULL CopFILESV.

(HP-UX and other ARG_ZERO_IS_SCRIPT platforms)

6 months agoFatalize using hash|array as reference
Karl Williamson [Mon, 16 Jun 2014 19:08:29 +0000]
Fatalize using hash|array as reference

This has been deprecated, scheduled to come out in 5.22

6 months agoop.c: Fix typo in comment
Karl Williamson [Mon, 16 Jun 2014 19:04:14 +0000]
op.c: Fix typo in comment

6 months agoregcomp.c: White-space only
Karl Williamson [Mon, 16 Jun 2014 18:38:58 +0000]
regcomp.c: White-space only

Indent because of newly-formed block

6 months agoPATCH: [perl #122029] BBC KAWASAKI/Encode-JP-Emoji
Karl Williamson [Mon, 16 Jun 2014 18:28:52 +0000]
PATCH: [perl #122029] BBC KAWASAKI/Encode-JP-Emoji

This turns out to be that the code was only getting the compile-time
package name, and it needs to be expanded to get the correct run-time
name.

6 months agot/re/pat_advanced.t: Add comment
Karl Williamson [Mon, 16 Jun 2014 18:27:56 +0000]
t/re/pat_advanced.t: Add comment

6 months agoPATCH: [perl #122084] BBC KARMAN/Search-Tools
Karl Williamson [Mon, 16 Jun 2014 18:16:40 +0000]
PATCH: [perl #122084] BBC KARMAN/Search-Tools

The problem was that a function was defined only in PERL_CORE, and
embed.fnc just needed to change to grant access outside that.

6 months agoExtUtils::ParseXS: doc typo fix
Steffen Mueller [Mon, 16 Jun 2014 13:17:16 +0000]
ExtUtils::ParseXS: doc typo fix

Includes version bump.

6 months ago[perl #122110] [PATCH] Remove left-over mad cruft
Dagfinn Ilmari Mannsåker [Mon, 16 Jun 2014 11:53:35 +0000]
[perl #122110] [PATCH] Remove left-over mad cruft

The great MADectomy left some cruft behind:

    - no_index in META.{yml,json}
    - $Config{mad} checks in tests
    - Porting/perlhist_calculate.pl
    - symbian/config.pl
    - PERL_XMLDUMP error in perldiag
    - madly{h,obj,src} in win32/config.{gc,vc}

6 months agotweak type for picky compilers
Yves Orton [Mon, 16 Jun 2014 11:38:50 +0000]
tweak type for picky compilers

6 months agoMore (void*) for %p.
Jarkko Hietaniemi [Mon, 16 Jun 2014 10:52:37 +0000]
More (void*) for %p.

(Note: looks like char* "decay" into void* without casting needed?)

6 months agoFollow-up to b84edbf2; (IV) the IVdf.
Jarkko Hietaniemi [Mon, 16 Jun 2014 10:48:24 +0000]
Follow-up to b84edbf2; (IV) the IVdf.

Since there could be platforms where sizeof(SSize_t) < sizeof(IV).
(E.g. IRIX n32 model: 64-bit integers but 32-bit pointers.)

(Note: in addition to %zd being a C99 thing,
 googling says %zd is not well supported in VC).

6 months agoMake hash_value() accept an optional seed
Yves Orton [Fri, 13 Jun 2014 13:51:00 +0000]
Make hash_value() accept an optional seed

6 months ago%p really wants void*.
Jarkko Hietaniemi [Mon, 16 Jun 2014 01:51:21 +0000]
%p really wants void*.

6 months agoUse %"IVdf" instead of %zd.
Jarkko Hietaniemi [Mon, 16 Jun 2014 01:46:57 +0000]
Use %"IVdf" instead of %zd.

6 months agoSome low-hanging -Wunreachable-code fruits.
Jarkko Hietaniemi [Sun, 15 Jun 2014 13:41:30 +0000]
Some low-hanging -Wunreachable-code fruits.

- after return/croak/die/exit, return/break are pointless
  (break is not a terminator/separator, it's a goto)
- after goto, another goto (!) is pointless
- in some cases (usually function ends) introduce explicit NOT_REACHED
  to make the noreturn nature clearer (do not do this everywhere, though,
  since that would mean adding NOT_REACHED after every croak)
- for the added NOT_REACHED also add /* NOTREACHED */ since
  NOT_REACHED is for gcc (and VC), while the comment is for linters
- declaring variables in switch blocks is just too fragile:
  it kind of works for narrowing the scope (which is nice),
  but breaks the moment there are initializations for the variables
  (the initializations will be skipped since the flow will bypass
  the start of the block); in some easy cases simply hoist the declarations
  out of the block and move them earlier

Note 1: Since after this patch the core is not yet -Wunreachable-code
clean, not enabling that via cflags.SH, one needs to -Accflags=... it.

Note 2: At least with the older gcc 4.4.7 there are far too many
"unreachable code" warnings, which seem to go away with gcc 4.8,
maybe better flow control analysis.  Therefore, the warning should
eventually be enabled only for modernish gccs (what about clang and
Intel cc?)

6 months agoThe clang frontend says "unknown" for -Wunknown.
Jarkko Hietaniemi [Sun, 15 Jun 2014 19:19:42 +0000]
The clang frontend says "unknown" for -Wunknown.

"unknown warning option" (for -W...) or "unknown argument" (for -...).

6 months agoUpdate Archive-Tar to CPAN version 2.00
Chris 'BinGOs' Williams [Sun, 15 Jun 2014 15:00:59 +0000]
Update Archive-Tar to CPAN version 2.00

  [DELTA]

2.00  15/06/2014 (TINITA)
- Fix ptargrep for problems on MSWin32

6 months agoRun porting/podcheck.t --regen to undo manual changes.
James E Keenan [Sun, 15 Jun 2014 02:32:56 +0000]
Run porting/podcheck.t --regen to undo manual changes.

Files like dist/Math-BigInt/lib/Math/BigInt.pm are probably going to remain in
known_pod_issues.dat for eternity, given that in POD the cumulative effect of
'=over' markings will always result in linelengths > recommended 79 or 80.