Implement ARM static local initialization guards, which are more compact than
Itanium guards and use a slightly different compiled-in API.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113330 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp
index 179716f..3dd5a75 100644
--- a/lib/CodeGen/CGCXX.cpp
+++ b/lib/CodeGen/CGCXX.cpp
@@ -321,7 +321,7 @@
 /// Implementation for CGCXXABI.  Possibly this should be moved into
 /// the incomplete ABI implementations?
 
-CGCXXABI::~CGCXXABI() {}
+void CGCXXABI::_anchor() {}
 
 static void ErrorUnsupportedABI(CodeGenFunction &CGF,
                                 llvm::StringRef S) {
@@ -469,3 +469,9 @@
   AllocPtr = llvm::Constant::getNullValue(CGF.Builder.getInt8PtrTy());
   CookieSize = CharUnits::Zero();
 }
+
+void CGCXXABI::EmitStaticLocalInit(CodeGenFunction &CGF,
+                                   const VarDecl &D,
+                                   llvm::GlobalVariable *GV) {
+  ErrorUnsupportedABI(CGF, "static local variable initialization");
+}