diff --git a/lib/IRGen/GenDecl.cpp b/lib/IRGen/GenDecl.cpp index 5d6c4f720cb8..c3b92f6414c7 100644 --- a/lib/IRGen/GenDecl.cpp +++ b/lib/IRGen/GenDecl.cpp @@ -959,9 +959,9 @@ void IRGenerator::emitEagerClassInitialization() { llvm::FunctionType::get(IGM->VoidTy, false), llvm::GlobalValue::PrivateLinkage, "_swift_eager_class_initialization"); + IGM->Module.getFunctionList().push_back(RegisterFn); IRGenFunction RegisterIGF(*IGM, RegisterFn); RegisterFn->setAttributes(IGM->constructInitialAttributes()); - IGM->Module.getFunctionList().push_back(RegisterFn); RegisterFn->setCallingConv(IGM->DefaultCC); for (ClassDecl *CD : ClassesForEagerInitialization) {