Chromium Code Reviews| Index: src/IceASanInstrumentation.h |
| diff --git a/src/IceASanInstrumentation.h b/src/IceASanInstrumentation.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c77ffaac8d35e7556c33282b45b4bc77c8bd7ea2 |
| --- /dev/null |
| +++ b/src/IceASanInstrumentation.h |
| @@ -0,0 +1,49 @@ |
| +//===- subzero/src/IceASanInstrumentation.h - AddressSanitizer --*- C++ -*-===// |
| +// |
| +// The Subzero Code Generator |
| +// |
| +// This file is distributed under the University of Illinois Open Source |
| +// License. See LICENSE.TXT for details. |
| +// |
| +//===----------------------------------------------------------------------===// |
| +/// |
| +/// \file |
| +/// \brief Declares the AddressSanitizer instrumentation class. |
| +/// |
| +/// This class is responsible for inserting redzones around global and stack |
| +/// variables, inserting code responsible for poisoning those redzones, and |
| +/// performing any other instrumentation necessary to implement |
| +/// AddressSanitizer. |
| +/// |
| +//===----------------------------------------------------------------------===// |
| + |
| +#ifndef SUBZERO_SRC_ICEASANINSTRUMENTATION_H |
| +#define SUBZERO_SRC_ICEASANINSTRUMENTATION_H |
| + |
| +#include "IceGlobalInits.h" |
| +#include "IceInstrumentation.h" |
| + |
| +namespace Ice { |
| + |
| +class ASanInstrumentation : public Instrumentation { |
| + ASanInstrumentation() = delete; |
| + ASanInstrumentation(const ASanInstrumentation &) = delete; |
| + ASanInstrumentation &operator=(const ASanInstrumentation &) = delete; |
| + |
| +public: |
| + ASanInstrumentation(GlobalContext *Ctx) |
| + : Instrumentation(Ctx), DidInsertRedZones(false), RzNum(0) {} |
| + void instrumentGlobals(VariableDeclarationList &Globals) override; |
| + |
| +private: |
| + std::string nextRzName(); |
| + VariableDeclaration *createRz(VariableDeclarationList *List, |
| + VariableDeclaration *RzArray, |
| + SizeT &RzArraySize, |
| + VariableDeclaration *Global); |
| + bool DidInsertRedZones; |
|
Jim Stichnoth
2016/06/10 22:38:33
You should be able to do this:
bool DidInsertRed
tlively
2016/06/10 23:43:32
Done.
|
| + uint32_t RzNum; |
| +}; |
| +} // end of namespace Ice |
| + |
| +#endif // SUBZERO_SRC_ICEASANINSTRUMENTATION_H |