# -*- buffer-read-only: t -*-
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file was created by warnings.pl
+# This file was created by regen/warnings.pl
# Any changes made here will be lost.
#
package warnings;
-our $VERSION = '1.10';
+our $VERSION = '1.11';
# Verify that we're called correctly so that warnings will work.
# see also strict.pm.
if (warnings::enabled($object))
{ warnings::warn($object, $message) }
+=item warnings::register_categories(@names)
+
+This registers warning categories for the given names and is primarily for
+use by the warnings::register pragma, for which see L<perllexwarn>.
+
=back
See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
Carp::carp($message);
}
+sub _mkMask
+{
+ my ($bit) = @_;
+ my $mask = "";
+
+ vec($mask, $bit, 1) = 1;
+ return $mask;
+}
+
+sub register_categories
+{
+ my @names = @_;
+
+ for my $name (@names) {
+ if (! defined $Bits{$name}) {
+ $Bits{$name} = _mkMask($LAST_BIT);
+ vec($Bits{'all'}, $LAST_BIT, 1) = 1;
+ $Offsets{$name} = $LAST_BIT ++;
+ foreach my $k (keys %Bits) {
+ vec($Bits{$k}, $LAST_BIT, 1) = 0;
+ }
+ $DeadBits{$name} = _mkMask($LAST_BIT);
+ vec($DeadBits{'all'}, $LAST_BIT++, 1) = 1;
+ }
+ }
+}
+
sub _error_loc {
require Carp;
goto &Carp::short_error_loc; # don't introduce another stack frame
-}
+}
sub enabled
{