diff --git a/llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
index d7c0b74..59ee01f 100644
--- a/llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
+++ b/llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
@@ -26,6 +26,15 @@
                                         public OrcExecutionTest {
 };
 
+class SectionMemoryManagerWrapper : public SectionMemoryManager {
+public:
+  int FinalizationCount = 0;
+  bool finalizeMemory(std::string *ErrMsg = 0) override {
+    ++FinalizationCount;
+    return SectionMemoryManager::finalizeMemory(ErrMsg);
+  }
+};
+
 TEST(ObjectLinkingLayerTest, TestSetProcessAllSections) {
 
   class SectionMemoryManagerWrapper : public SectionMemoryManager {
@@ -102,15 +111,6 @@
   if (!TM)
     return;
 
-  class SectionMemoryManagerWrapper : public SectionMemoryManager {
-  public:
-    int FinalizationCount = 0;
-    bool finalizeMemory(std::string *ErrMsg = 0) override {
-      ++FinalizationCount;
-      return SectionMemoryManager::finalizeMemory(ErrMsg);
-    }
-  };
-
   ObjectLinkingLayer<> ObjLayer;
   SimpleCompiler Compile(*TM);
 
