From a746657faf6972c46d86c7dc317f45a1cf28b2e3 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 1 Aug 2016 08:04:45 +0000 Subject: [PATCH] scan-build: Add an option to show the description in the list of defect Summary: This patch adds an option //--show-description// to add the defect description to the list of defect. This helps to get a better understanding of the defect without opening the page. For example, this is used for Firefox: https://people.mozilla.org/~sledru/reports/fx-scan-build/ Reviewers: rizsotto.mailinglist, zaks.anna Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D22810 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@277328 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/scan-build/bin/scan-build | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/tools/scan-build/bin/scan-build b/tools/scan-build/bin/scan-build index 3182a29767..cbf3bf3d6f 100755 --- a/tools/scan-build/bin/scan-build +++ b/tools/scan-build/bin/scan-build @@ -53,6 +53,7 @@ my %Options = ( IgnoreErrors => 0, # Ignore build errors. ViewResults => 0, # View results when the build terminates. ExitStatusFoundBugs => 0, # Exit status reflects whether bugs were found + ShowDescription => 0, # Display the description of the defect in the list KeepEmpty => 0, # Don't remove output directory even with 0 results. EnableCheckers => {}, DisableCheckers => {}, @@ -453,6 +454,10 @@ sub ScanFile { push @$Index,[ $FName, $BugCategory, $BugType, $BugFile, $BugFunction, $BugLine, $BugPathLength ]; + + if ($Options{ShowDescription}) { + push @{ $Index->[-1] }, $BugDescription + } } ##----------------------------------------------------------------------------## @@ -746,6 +751,15 @@ print OUT <Function/Method Line Path Length +ENDTEXT + +if ($Options{ShowDescription}) { +print OUT <Description +ENDTEXT +} + +print OUT < @@ -771,10 +785,10 @@ ENDTEXT print OUT ""; print OUT ""; - print OUT $row->[1]; + print OUT $row->[1]; # $BugCategory print OUT ""; print OUT ""; - print OUT $row->[2]; + print OUT $row->[2]; # $BugType print OUT ""; # Update the file prefix. @@ -802,11 +816,11 @@ ENDTEXT print OUT ""; print OUT ""; - print OUT $row->[4]; + print OUT $row->[4]; # Function print OUT ""; # Print out the quantities. - for my $j ( 5 .. 6 ) { + for my $j ( 5 .. 6 ) { # Line & Path length print OUT "$row->[$j]"; } @@ -1150,6 +1164,10 @@ OPTIONS: Specify the title used on generated HTML pages. If not specified, a default title will be used. + --show-description + + Display the description of defects in the list + -plist By default the output of scan-build is a set of HTML files. This option @@ -1586,6 +1604,12 @@ sub ProcessArgs { next; } + if ($arg eq "--show-description") { + shift @$Args; + $Options{ShowDescription} = 1; + next; + } + if ($arg eq "-store") { shift @$Args; $Options{StoreModel} = shift @$Args; -- 2.40.0