Warning: That file was not part of the compilation database. It may have many parsing errors.
1 | //===--- SanitizerBlacklist.h - Blacklist for sanitizers --------*- C++ -*-===// |
---|---|
2 | // |
3 | // The LLVM Compiler Infrastructure |
4 | // |
5 | // This file is distributed under the University of Illinois Open Source |
6 | // License. See LICENSE.TXT for details. |
7 | // |
8 | //===----------------------------------------------------------------------===// |
9 | // |
10 | // User-provided blacklist used to disable/alter instrumentation done in |
11 | // sanitizers. |
12 | // |
13 | //===----------------------------------------------------------------------===// |
14 | #ifndef LLVM_CLANG_BASIC_SANITIZERBLACKLIST_H |
15 | #define LLVM_CLANG_BASIC_SANITIZERBLACKLIST_H |
16 | |
17 | #include "clang/Basic/LLVM.h" |
18 | #include "clang/Basic/SanitizerSpecialCaseList.h" |
19 | #include "clang/Basic/Sanitizers.h" |
20 | #include "clang/Basic/SourceLocation.h" |
21 | #include "clang/Basic/SourceManager.h" |
22 | #include "llvm/ADT/StringRef.h" |
23 | #include <memory> |
24 | |
25 | namespace clang { |
26 | |
27 | class SanitizerBlacklist { |
28 | std::unique_ptr<SanitizerSpecialCaseList> SSCL; |
29 | SourceManager &SM; |
30 | |
31 | public: |
32 | SanitizerBlacklist(const std::vector<std::string> &BlacklistPaths, |
33 | SourceManager &SM); |
34 | bool isBlacklistedGlobal(SanitizerMask Mask, StringRef GlobalName, |
35 | StringRef Category = StringRef()) const; |
36 | bool isBlacklistedType(SanitizerMask Mask, StringRef MangledTypeName, |
37 | StringRef Category = StringRef()) const; |
38 | bool isBlacklistedFunction(SanitizerMask Mask, StringRef FunctionName) const; |
39 | bool isBlacklistedFile(SanitizerMask Mask, StringRef FileName, |
40 | StringRef Category = StringRef()) const; |
41 | bool isBlacklistedLocation(SanitizerMask Mask, SourceLocation Loc, |
42 | StringRef Category = StringRef()) const; |
43 | }; |
44 | |
45 | } // end namespace clang |
46 | |
47 | #endif |
48 |
Warning: That file was not part of the compilation database. It may have many parsing errors.