summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmcon/man/mlint.SH4
-rw-r--r--mcon/pl/lint.pl9
2 files changed, 11 insertions, 2 deletions
diff --git a/mcon/man/mlint.SH b/mcon/man/mlint.SH
index 58dc389..c46ded2 100755
--- a/mcon/man/mlint.SH
+++ b/mcon/man/mlint.SH
@@ -270,6 +270,10 @@ The listed file 'xxx' is already reported exported (listed likewise) in
the other unit yyy.U and is conflicting. An exported file is a generated
file above the UU directory.
.TP
+"(?F) UU file 'xxx' already created by yyy.U."
+The listed file 'xxx' is already created in the UU directory by the other
+unit yyy.U. A created file is listed as ./xxx on the ?F: line.
+.TP
"(?T) temporary symbol '\$xxx' multiply declared."
Self explanatory.
.TP
diff --git a/mcon/pl/lint.pl b/mcon/pl/lint.pl
index 3f212af..e73f0fd 100644
--- a/mcon/pl/lint.pl
+++ b/mcon/pl/lint.pl
@@ -640,8 +640,13 @@ sub p_file {
next;
}
delete $lintcreated{$uufile} if !$is_special; # Detect spurious LINT
- $filemaster{$uufile} = $unit unless defined $filemaster{$uufile};
- $filecreated{$uufile} = 'a'; # Will be automagically incremented
+ if (exists $filemaster{$uufile}) {
+ my $other = $filemaster{$uufile};
+ warn "$where: UU file '$uufile' already created by $other.U.\n";
+ } else {
+ $filemaster{$uufile} = $unit;
+ $filecreated{$uufile} = 'a'; # Will be automagically incremented
+ }
}
}