+sub flmap ($) { local ($_) = @_; s{:(\d+)$}{ sprintf ":%10d", $1 }e; $_; }
+
+sub print_varref_warnings () {
+ foreach my $vn (sort keys %varref) {
+ my $vv = $varref{$vn};
+ next unless $vv->{''} && $vv->{1};
+ wrncore 'local+global', "saw both $vn and &$vn" or return;
+ foreach my $amp ('', 1) {
+ printf STDERR " saw %s%s at %s\n",
+ ($amp ? '&' : ''), $vn, $_
+ foreach
+ sort { flmap($a) cmp flmap($b) }
+ keys %{ $vv->{$amp} };
+ }
+ }
+}
+
+sub print_warning_warnings () {
+ return unless $warned;
+ foreach my $wk (sort keys %warn_unk) {
+ wrncore 'unknown-warning',
+ "$warn_unk{$wk}: attempt to suppress unknown warning(s) \`$wk'";
+ }
+}
+