diff options
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntime.cpp | 4 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntime.h | 1 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 2 | 
3 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp index 9d33b16fab7..25755838013 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp +++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp @@ -211,6 +211,10 @@ CGOpenMPRuntime::CGOpenMPRuntime(CodeGenModule &CGM)    KmpCriticalNameTy = llvm::ArrayType::get(CGM.Int32Ty, /*NumElements*/ 8);  } +void CGOpenMPRuntime::clear() { +  InternalVars.clear(); +} +  llvm::Value *  CGOpenMPRuntime::emitOutlinedFunction(const OMPExecutableDirective &D,                                        const VarDecl *ThreadIDVar) { diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.h b/clang/lib/CodeGen/CGOpenMPRuntime.h index e9f389de3ff..a3f957045d7 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntime.h +++ b/clang/lib/CodeGen/CGOpenMPRuntime.h @@ -278,6 +278,7 @@ class CGOpenMPRuntime {  public:    explicit CGOpenMPRuntime(CodeGenModule &CGM);    virtual ~CGOpenMPRuntime() {} +  virtual void clear();    /// \brief Emits outlined function for the specified OpenMP directive \a D.    /// This outlined function has type void(*)(kmp_int32 *ThreadID, kmp_int32 diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index c91de6df9e9..b25f315709e 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -323,6 +323,8 @@ void CodeGenModule::checkAliases() {  void CodeGenModule::clear() {    DeferredDeclsToEmit.clear(); +  if (OpenMPRuntime) +    OpenMPRuntime->clear();  }  void InstrProfStats::reportDiagnostics(DiagnosticsEngine &Diags,  | 

