OLD | NEW |
---|---|
(Empty) | |
1 //===- subzero/src/IceASanInstrumentation.h - AddressSanitizer --*- C++ -*-===// | |
2 // | |
3 // The Subzero Code Generator | |
4 // | |
5 // This file is distributed under the University of Illinois Open Source | |
6 // License. See LICENSE.TXT for details. | |
7 // | |
8 //===----------------------------------------------------------------------===// | |
9 /// | |
10 /// \file | |
11 /// \brief Declares the AddressSanitizer instrumentation class. | |
12 /// | |
13 /// This class is responsible for inserting redzones around global and stack | |
14 /// variables, inserting code responsible for poisoning those redzones, and | |
15 /// performing any other instrumentation necessary to implement | |
16 /// AddressSanitizer. | |
17 /// | |
18 //===----------------------------------------------------------------------===// | |
19 | |
20 #ifndef SUBZERO_SRC_ICEASANINSTRUMENTATION_H | |
21 #define SUBZERO_SRC_ICEASANINSTRUMENTATION_H | |
22 | |
23 | |
24 #include "IceInstrumentation.h" | |
25 | |
26 namespace Ice { | |
27 | |
28 class ASanInstrumentation : public Instrumentation { | |
29 ASanInstrumentation() = delete; | |
30 ASanInstrumentation(const ASanInstrumentation &) = delete; | |
31 ASanInstrumentation &operator=(const ASanInstrumentation &) = delete; | |
32 | |
33 public: | |
34 ASanInstrumentation(GlobalContext *Ctx) : Instrumentation(Ctx), | |
35 didInsertRedZones(false) {} | |
36 void instrumentGlobals(VariableDeclarationList &Globals) override; | |
37 | |
38 private: | |
39 static constexpr uint32_t RzSize = 32; | |
40 static const std::string RzPrefix; | |
41 bool didInsertRedZones; | |
Jim Stichnoth
2016/06/09 22:27:39
capitalize field name per LLVM convention
tlively
2016/06/09 23:30:10
Done.
| |
42 }; | |
43 } // end of namespace Ice | |
44 | |
45 #endif // SUBZERO_SRC_ICEASANINSTRUMENTATION_H | |
OLD | NEW |