164 |
next |
next |
165 |
if /^\s*$/ || /^\s*\#/; |
if /^\s*$/ || /^\s*\#/; |
166 |
|
|
167 |
# '<word> <macro invocation>' or... |
# '<kind>: <word> <macro invocation>' or... |
168 |
# '<word> warn: <message>'. |
# '<kind>: <word> warn: <message>'. |
169 |
if (/^(\S+)\s+(\S.*)$/) |
if (/^(\S+):\s+(\S+)\s+(\S.*)$/) |
170 |
{ |
{ |
171 |
my $word = $1; |
my ($mkind, $word, $macro) = ($1, $2, $3); |
172 |
my $macro = $2; |
die "$mkind:$kind\n" |
173 |
|
unless "${mkind}s" eq $kind; |
174 |
# The default macro must be explicitly listed for words |
# The default macro must be explicitly listed for words |
175 |
# which have a specific macros. This allows to enforce |
# which have a specific macros. This allows to enforce |
176 |
# consistency checks. |
# consistency checks. |
177 |
if (!defined $2 && exists $macro{$kind}{$word}) |
if (!defined $word && exists $macro{$kind}{$word}) |
178 |
{ |
{ |
179 |
warn ("$file:$.: " |
warn ("$file:$.: " |
180 |
. "ignoring implicit call to the generic macro for $word\n"); |
. "ignoring implicit call to the generic macro for $word\n"); |