| Index: src/IceCfg.h
 | 
| diff --git a/src/IceCfg.h b/src/IceCfg.h
 | 
| index b45a95bec28ee0544d5a817d921c773c3fda595d..0502dc0b93a258dafa0a197fd62e1b930ed7d00c 100644
 | 
| --- a/src/IceCfg.h
 | 
| +++ b/src/IceCfg.h
 | 
| @@ -37,15 +37,17 @@ public:
 | 
|    // destruction requirements more explicit.
 | 
|    static Cfg *create(GlobalContext *Ctx) {
 | 
|      Cfg *Func = new Cfg(Ctx);
 | 
| -    CurrentCfg = Func;
 | 
| +    ICE_TLS_SET_FIELD(CurrentCfg, Func);
 | 
|      return Func;
 | 
|    }
 | 
|    // Gets a pointer to the current thread's Cfg.
 | 
| -  static const Cfg *getCurrentCfg() { return CurrentCfg; }
 | 
| +  static const Cfg *getCurrentCfg() {
 | 
| +    return ICE_TLS_GET_FIELD(const Cfg *, CurrentCfg);
 | 
| +  }
 | 
|    // Gets a pointer to the current thread's Cfg's allocator.
 | 
|    static ArenaAllocator<> *getCurrentCfgAllocator() {
 | 
| -    assert(CurrentCfg);
 | 
| -    return CurrentCfg->Allocator.get();
 | 
| +    assert(ICE_TLS_GET_FIELD(const Cfg *, CurrentCfg));
 | 
| +    return ICE_TLS_GET_FIELD(const Cfg *, CurrentCfg)->Allocator.get();
 | 
|    }
 | 
|  
 | 
|    GlobalContext *getContext() const { return Ctx; }
 | 
| @@ -213,7 +215,7 @@ private:
 | 
|    // Maintain a pointer in TLS to the current Cfg being translated.
 | 
|    // This is primarily for accessing its allocator statelessly, but
 | 
|    // other uses are possible.
 | 
| -  ICE_ATTRIBUTE_TLS static const Cfg *CurrentCfg;
 | 
| +  ICE_TLS_DECLARE_FIELD(const Cfg *, CurrentCfg);
 | 
|  };
 | 
|  
 | 
|  } // end of namespace Ice
 | 
| 
 |