Add Configure -Duselongdouble and add a missing semicolon.
[p5sagit/p5-mst-13.2.git] / pod / perldiag.pod
index 7a7b129..a068427 100644 (file)
@@ -18,11 +18,8 @@ desperation):
 Optional warnings are enabled by using the B<-w> switch.  Warnings may
 be captured by setting C<$SIG{__WARN__}> to a reference to a routine that
 will be called on each warning instead of printing it.  See L<perlvar>.
-
 Trappable errors may be trapped using the eval operator.  See
-L<perlfunc/eval>.  In almost all cases, warnings may be selectively
-disabled or promoted to fatal errors using the C<warning> pragma.
-See L<warning>.
+L<perlfunc/eval>.
 
 Some of these messages are generic.  Spots that vary are denoted with a %s,
 just as in a printf format.  Note that some messages start with a %s!
@@ -90,6 +87,16 @@ See L<perlfunc/pack>.
 checksumming process loses information, and you can't go the other
 way.  See L<perlfunc/unpack>.
 
+=item Repeat count in pack overflows
+
+(F) You can't specify a repeat count so large that it overflows
+your signed integers.  See L<perlfunc/pack>.
+
+=item Repeat count in unpack overflows
+
+(F) You can't specify a repeat count so large that it overflows
+your signed integers.  See L<perlfunc/unpack>.
+
 =item /%s/: Unrecognized escape \\%c passed through
 
 (W) You used a backslash-character combination which is not recognized
@@ -472,9 +479,9 @@ likely depends on its correct operation, Perl just gave up.
 
 =item Binary number > 0b11111111111111111111111111111111 non-portable
 
-(W) The binary number you specified is larger than 2**32-1 and therefore
-generally non-portable between systems.  See L<perlport> for more on
-portability concerns.
+(W) The binary number you specified is larger than 2**32-1
+(4294967295) and therefore non-portable between systems.  See
+L<perlport> for more on portability concerns.
 
 =item bind() on closed fd
 
@@ -1133,6 +1140,16 @@ workarounds.
 inlining.  See L<perlsub/"Constant Functions"> for commentary and
 workarounds.
 
+=item constant(%s): %%^H is not localized
+
+(F) When setting compile-time-lexicalized hash %^H one should set the 
+corresponding bit of $^H as well.
+
+=item constant(%s): %s
+
+(F) Compile-time-substitutions (such as overloaded constants and
+character names) were not correctly set up.
+
 =item Copy method did not return a reference
 
 (F) The method which overloads "=" is buggy. See L<overload/Copy Constructor>.
@@ -1350,8 +1367,7 @@ the name.
 
 =item Format %s redefined
 
-(W) You redefined a format, perhaps accidentally.  To suppress this warning,
-say
+(W) You redefined a format.  To suppress this warning, say
 
     {
        no warning;
@@ -1426,9 +1442,9 @@ is now heavily deprecated.
 
 =item Hexadecimal number > 0xffffffff non-portable
 
-(W) The hexadecimal number you specified is larger than 2**32-1 and
-therefore non-portable between systems.  See L<perlport> for more on
-portability concerns.
+(W) The hexadecimal number you specified is larger than 2**32-1
+(4294967295) and therefore non-portable between systems.  See
+L<perlport> for more on portability concerns.
 
 =item Identifier too long
 
@@ -1544,18 +1560,15 @@ known value, using trustworthy data.  See L<perlsec>.
 
 =item Integer overflow in %s number
 
-(F,X) The hexadecimal, octal or binary number you have specified
-either as a literal in your code or as a scalar is too big for your
-architecture. On a 32-bit architecture the largest literal hex, octal
-or binary number representable without overflow is 0xFFFFFFFF,
-037777777777, or 0b11111111111111111111111111111111 respectively.
-Note that Perl transparently promotes decimal literals to a floating
-point representation internally--subject to loss of precision errors
-in subsequent operations--so this limit usually doesn't apply to
-decimal literals.  If the overflow is in a literal of your code, the
-error is untrappable (there is no way the code could work safely in
-your system), if the overflow happens in hex() or oct() the error is
-trappable.
+(W) The hexadecimal, octal or binary number you have specified either
+as a literal in your code or as a scalar is too big for your
+architecture, and has been converted to a floating point number.  On a
+32-bit architecture the largest hexadecimal, octal or binary number
+representable without overflow is 0xFFFFFFFF, 037777777777, or
+0b11111111111111111111111111111111 respectively.  Note that Perl
+transparently promotes all numbers to a floating point representation
+internally--subject to loss of precision errors in subsequent
+operations.
 
 =item Internal inconsistency in tracking vforks
 
@@ -1592,7 +1605,8 @@ rebuild Perl.
 =item invalid [] range in regexp
 
 (F) The range specified in a character class had a minimum character
-greater than the maximum character.  See L<perlre>.
+greater than the maximum character, or the range didn't start/end with
+a literal character.  See L<perlre>.
 
 =item Invalid conversion in %s: "%s"
 
@@ -1669,6 +1683,11 @@ ended earlier on the current line.
 mentioned with the $ in Perl, unlike in the shells, where it can vary from
 one line to the next.
 
+=item Missing %sbrace%s on \C{}
+
+(F) Wrong syntax of character name literal C<\C{charname}> within
+double-quotish context.
+
 =item Missing comma after first argument to %s function
 
 (F) While certain functions allow you to specify a filehandle or an
@@ -1982,9 +2001,11 @@ try using scientific notation (e.g. "1e6" instead of "1_000_000").
 
 =item Octal number > 037777777777 non-portable
 
-(W) The octal number you specified is larger than 2**32-1 and
-therefore non-portable between systems.  See L<perlport> for more on
-portability concerns.
+(W) The octal number you specified is larger than 2**32-1 (4294967295)
+and therefore non-portable between systems.  See L<perlport> for more
+on portability concerns.
+
+See also L<perlport> for writing portable code.
 
 =item Odd number of elements in hash assignment
 
@@ -2584,6 +2605,10 @@ See L<perlfunc/sort>.
 (F) A sort comparison subroutine may not return a list value with more
 or less than one element.  See L<perlfunc/sort>.
 
+=item split /^/ better written as split /^/m
+
+(W) Implicit translation of /^/ to mean /^/m in split is deprecated.
+
 =item Split loop
 
 (P) The split was looping infinitely.  (Obviously, a split shouldn't iterate
@@ -2619,8 +2644,7 @@ may break this.
 
 =item Subroutine %s redefined
 
-(W) You redefined a subroutine, perhaps accidentally.  To suppress this
-warning, say
+(W) You redefined a subroutine.  To suppress this warning, say
 
     {
        no warning;