diff options
author | Jordan Rose <jordan_rose@apple.com> | 2014-01-07 21:39:51 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2014-01-07 21:39:51 +0000 |
commit | d758e0751730d21aecab91a32999157aa31cff50 (patch) | |
tree | d7db0f07328693a39cc766ce561543381992bd95 /tools/scan-build | |
parent | e5a3d59aded860bf572543561b3fb45d938ba962 (diff) | |
download | clang-d758e0751730d21aecab91a32999157aa31cff50.tar.gz clang-d758e0751730d21aecab91a32999157aa31cff50.tar.bz2 clang-d758e0751730d21aecab91a32999157aa31cff50.tar.xz |
[analyzer] Files with .c extensions are still C++ files if the compiler is CXX.
PR18339
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198711 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/scan-build')
-rwxr-xr-x | tools/scan-build/ccc-analyzer | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/tools/scan-build/ccc-analyzer b/tools/scan-build/ccc-analyzer index ae114dffbb..220452f0d0 100755 --- a/tools/scan-build/ccc-analyzer +++ b/tools/scan-build/ccc-analyzer @@ -29,6 +29,7 @@ my $Compiler; my $Clang; my $DefaultCCompiler; my $DefaultCXXCompiler; +my $IsCXX; if (`uname -a` =~ m/Darwin/) { $DefaultCCompiler = 'clang'; @@ -44,6 +45,8 @@ if ($FindBin::Script =~ /c\+\+-analyzer/) { $Clang = $ENV{'CLANG_CXX'}; if (!defined $Clang) { $Clang = 'clang++'; } + + $IsCXX = 1 } else { $Compiler = $ENV{'CCC_CC'}; @@ -51,6 +54,8 @@ else { $Clang = $ENV{'CLANG'}; if (!defined $Clang) { $Clang = 'clang'; } + + $IsCXX = 0 } ##===----------------------------------------------------------------------===## @@ -377,18 +382,19 @@ my %IgnoredOptionMap = ( ); my %LangMap = ( - 'c' => 'c', + 'c' => $IsCXX ? 'c++' : 'c', 'cp' => 'c++', 'cpp' => 'c++', 'cxx' => 'c++', 'txx' => 'c++', 'cc' => 'c++', 'C' => 'c++', - 'ii' => 'c++', - 'i' => 'c-cpp-output', + 'ii' => 'c++-cpp-output', + 'i' => $IsCXX ? 'c++-cpp-output' : 'c-cpp-output', 'm' => 'objective-c', 'mi' => 'objective-c-cpp-output', - 'mm' => 'objective-c++' + 'mm' => 'objective-c++', + 'mii' => 'objective-c++-cpp-output', ); my %UniqueOptions = ( |