chiark / gitweb /
Warnings: Sort occurrences properly in local+global warnings
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 28 Dec 2019 12:52:01 +0000 (12:52 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 30 Dec 2019 11:35:16 +0000 (11:35 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
generate

index c9ade62..1380918 100755 (executable)
--- a/generate
+++ b/generate
@@ -474,6 +474,8 @@ sub process_tree() {
     oraw "include \$(SUBDIRMK_MAKEFILES)\n";
 }
 
+sub flmap ($) { local ($_) = @_; s{:(\d+)$}{ sprintf ":%10d", $1 }e; $_; }
+
 sub print_varref_warnings () {
     foreach my $vn (sort keys %varref) {
        my $vv = $varref{$vn};
@@ -482,7 +484,9 @@ sub print_varref_warnings () {
        foreach my $amp ('', 1) {
            printf STDERR " saw %s%s at %s\n",
                ($amp ? '&' : ''), $vn, $_
-               foreach sort keys %{ $vv->{$amp} };
+               foreach
+               sort { flmap($a) cmp flmap($b) }
+               keys %{ $vv->{$amp} };
        }
     }
 }