aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
-rwxr-xr-xcgcc15
1 files changed, 14 insertions, 1 deletions
diff --git a/cgcc b/cgcc
index e7d79cf8..6eef9692 100755
--- a/cgcc
+++ b/cgcc
@@ -39,7 +39,7 @@ foreach (@ARGV) {
my $this_arg = ' ' . &quote_arg ($_);
$cc .= $this_arg unless &check_only_option ($_);
- $check .= $this_arg;
+ $check .= $this_arg unless &cc_only_option ($_);
}
if ($do_check) {
@@ -69,6 +69,19 @@ sub check_only_option {
}
# -----------------------------------------------------------------------------
+# Check if an option is for "cc" only.
+
+sub cc_only_option {
+ my ($arg) = @_;
+ # -Wall turns on all Sparse warnings, including experimental and noisy
+ # ones. Don't include it just because a project wants to pass -Wall to cc.
+ # If you really want cgcc to run sparse with -Wall, use
+ # CHECK="sparse -Wall".
+ return 1 if $arg =~ /^-Wall$/;
+ return 0;
+}
+
+# -----------------------------------------------------------------------------
# Simple arg-quoting function. Just adds backslashes when needed.
sub quote_arg {