This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
d40da36053e17baebc472dcfc766c893895d45c1
[perl5.git] / lib / warnings / register.pm
1 package warnings::register ;
2
3 our $VERSION = '1.00';
4
5 =pod
6
7 =head1 NAME
8
9 warnings::register - warnings import function
10
11 =cut
12
13 require warnings ;
14
15 sub mkMask
16 {
17     my ($bit) = @_ ;
18     my $mask = "" ;
19
20     vec($mask, $bit, 1) = 1 ;
21     return $mask ;
22 }
23
24 sub import
25 {
26     shift ;
27     my $package = (caller(0))[0] ;
28     if (! defined $warnings::Bits{$package}) {
29         $warnings::Bits{$package}     = mkMask($warnings::LAST_BIT) ;
30         vec($warnings::Bits{'all'}, $warnings::LAST_BIT, 1) = 1 ;
31         $warnings::Offsets{$package}  = $warnings::LAST_BIT ++ ;
32         foreach my $k (keys %warnings::Bits) {
33             vec($warnings::Bits{$k}, $warnings::LAST_BIT, 1) = 0 ;
34         }
35         $warnings::DeadBits{$package} = mkMask($warnings::LAST_BIT);
36         vec($warnings::DeadBits{'all'}, $warnings::LAST_BIT++, 1) = 1 ;
37     }
38 }
39
40 1 ;