diff --git a/scripts/checksrc.pl b/scripts/checksrc.pl index 651b4b7007..54cd30cd97 100755 --- a/scripts/checksrc.pl +++ b/scripts/checksrc.pl @@ -380,6 +380,7 @@ sub scanfile { my $incomment=0; my @copyright=(); + my %includes; checksrc_clear(); # for file based ignores accept_violations(); @@ -472,6 +473,15 @@ sub scanfile { $line, length($1), $file, $l, "\/\/ comment"); } + if($l =~ /^(\#\s*include\s+)([\">].*[>}"])/) { + my ($pre, $path) = ($1, $2); + if($includes{$path}) { + checkwarn("INCLUDEDUP", + $line, length($1), $file, $l, "duplicated include"); + } + $includes{$path} = $l; + } + # detect and strip preprocessor directives if($l =~ /^[ \t]*\#/) { # preprocessor line