| Index: src/IceASanInstrumentation.h
|
| diff --git a/src/IceASanInstrumentation.h b/src/IceASanInstrumentation.h
|
| index eb75b207f5f3284518fafd2b6141d5869148e928..ef212f5b6713010c16331db28f6e252f623adc52 100644
|
| --- a/src/IceASanInstrumentation.h
|
| +++ b/src/IceASanInstrumentation.h
|
| @@ -25,6 +25,8 @@
|
|
|
| namespace Ice {
|
|
|
| +using VarSizeMap = std::unordered_map<Operand *, SizeT>;
|
| +
|
| class ASanInstrumentation : public Instrumentation {
|
| ASanInstrumentation() = delete;
|
| ASanInstrumentation(const ASanInstrumentation &) = delete;
|
| @@ -32,6 +34,7 @@ class ASanInstrumentation : public Instrumentation {
|
|
|
| public:
|
| ASanInstrumentation(GlobalContext *Ctx) : Instrumentation(Ctx), RzNum(0) {
|
| + ICE_TLS_INIT_FIELD(LocalVars);
|
| ICE_TLS_INIT_FIELD(LocalDtors);
|
| }
|
| void instrumentGlobals(VariableDeclarationList &Globals) override;
|
| @@ -48,6 +51,7 @@ private:
|
| Constant *AccessFunc);
|
| void instrumentStart(Cfg *Func) override;
|
| void finishFunc(Cfg *Func) override;
|
| + ICE_TLS_DECLARE_FIELD(VarSizeMap *, LocalVars);
|
| ICE_TLS_DECLARE_FIELD(std::vector<InstCall *> *, LocalDtors);
|
| std::atomic<uint32_t> RzNum;
|
| bool DidProcessGlobals = false;
|
|
|