summaryrefslogtreecommitdiff
path: root/tools/scan-build
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2014-01-07 21:39:51 +0000
committerJordan Rose <jordan_rose@apple.com>2014-01-07 21:39:51 +0000
commitd758e0751730d21aecab91a32999157aa31cff50 (patch)
treed7db0f07328693a39cc766ce561543381992bd95 /tools/scan-build
parente5a3d59aded860bf572543561b3fb45d938ba962 (diff)
downloadclang-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-xtools/scan-build/ccc-analyzer14
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 = (