aboutsummaryrefslogtreecommitdiff
path: root/lib/Checker/UnixAPIChecker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Checker/UnixAPIChecker.cpp')
-rw-r--r--lib/Checker/UnixAPIChecker.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Checker/UnixAPIChecker.cpp b/lib/Checker/UnixAPIChecker.cpp
index 0c9a45f06f..213e798005 100644
--- a/lib/Checker/UnixAPIChecker.cpp
+++ b/lib/Checker/UnixAPIChecker.cpp
@@ -15,9 +15,13 @@
#include "GRExprEngineInternalChecks.h"
#include "clang/Checker/PathSensitive/CheckerVisitor.h"
#include "clang/Checker/BugReporter/BugType.h"
+#include "clang/Analysis/Support/Optional.h"
#include "llvm/ADT/StringSwitch.h"
#include <fcntl.h>
+#include "clang/Basic/TargetInfo.h"
+
+
using namespace clang;
namespace {
@@ -57,6 +61,9 @@ static inline void LazyInitialize(BugType *&BT, const char *name) {
//===----------------------------------------------------------------------===//
static void CheckOpen(CheckerContext &C, const CallExpr *CE, BugType *&BT) {
+ if (C.getASTContext().Target.getTriple().getVendor() != llvm::Triple::Apple)
+ return;
+
LazyInitialize(BT, "Improper use of 'open'");
// Look at the 'oflags' argument for the O_CREAT flag.