Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

gcc -M and -MM options not recognised by ccc-analyser #1607

Closed Quuxplusone closed 14 years ago

Quuxplusone commented 15 years ago
Bugzilla Link PR4644
Status RESOLVED FIXED
Importance P normal
Reported by Mattias Engdegård (mattiase@acm.org)
Reported on 2009-07-29 10:33:06 -0700
Last modified on 2010-02-22 12:41:00 -0800
Version unspecified
Hardware PC Linux
CC kremenek@apple.com, llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also
ccc-analyzer doesn't recognise the gcc -M and -MM options, which imply -E. They
are used for dependency generation, and the analyser should not be run for such
invocations.

Suggested patch:

--- ccc-analyzer    (revision 77453)
+++ ccc-analyzer    (working copy)
@@ -404,7 +404,7 @@
   my ($ArgKey) = split /=/,$Arg,2;

   # Modes ccc-analyzer supports
-  if ($Arg eq '-E') { $Action = 'preprocess'; }
+  if ($Arg =~ /^-(E|MM?)$/) { $Action = 'preprocess'; }
   elsif ($Arg eq '-c') { $Action = 'compile'; }
   elsif ($Arg =~ /^-print-prog-name/) { exit 0; }
Quuxplusone commented 15 years ago
(In reply to comment #0)
> ccc-analyzer doesn't recognise the gcc -M and -MM options, which imply -E.
They
> are used for dependency generation, and the analyser should not be run for
such
> invocations.
>
> Suggested patch:
>
> --- ccc-analyzer        (revision 77453)
> +++ ccc-analyzer        (working copy)
> @@ -404,7 +404,7 @@
>    my ($ArgKey) = split /=/,$Arg,2;
>
>    # Modes ccc-analyzer supports
> -  if ($Arg eq '-E') { $Action = 'preprocess'; }
> +  if ($Arg =~ /^-(E|MM?)$/) { $Action = 'preprocess'; }
>    elsif ($Arg eq '-c') { $Action = 'compile'; }
>    elsif ($Arg =~ /^-print-prog-name/) { exit 0; }
>

Applied!

http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090803/019972.html

Thank you!  This will appear in checker-0.215.(In reply to comment #0)
> ccc-analyzer doesn't recognise the gcc -M and -MM options, which imply -E.
They
> are used for dependency generation, and the analyser should not be run for
such
> invocations.
>
> Suggested patch:
>
> --- ccc-analyzer        (revision 77453)
> +++ ccc-analyzer        (working copy)
> @@ -404,7 +404,7 @@
>    my ($ArgKey) = split /=/,$Arg,2;
>
>    # Modes ccc-analyzer supports
> -  if ($Arg eq '-E') { $Action = 'preprocess'; }
> +  if ($Arg =~ /^-(E|MM?)$/) { $Action = 'preprocess'; }
>    elsif ($Arg eq '-c') { $Action = 'compile'; }
>    elsif ($Arg =~ /^-print-prog-name/) { exit 0; }
>