//===---------------------------- temporary.cpp ---------------------------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#include "abort_message.h"

#pragma GCC visibility push(default)

extern "C"
{

static
void f()
{
    abort_message("this shouldn't be called");
}

void (*__cxa_new_handler)() = f;
void (*__cxa_terminate_handler)() = f;
void (*__cxa_unexpected_handler)() = f;

}

#pragma GCC visibility pop

//===---------------------------- temporary.cpp ---------------------------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#pragma GCC visibility push(default)

extern "C"
{

void (*__cxa_new_handler)() = 0;
void (*__cxa_terminate_handler)() = 0;
void (*__cxa_unexpected_handler)() = 0;

}

#pragma GCC visibility pop

--- 
+++ 
@@ -7,14 +7,22 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "abort_message.h"
+
 #pragma GCC visibility push(default)
 
 extern "C"
 {
 
-void (*__cxa_new_handler)() = 0;
-void (*__cxa_terminate_handler)() = 0;
-void (*__cxa_unexpected_handler)() = 0;
+static
+void f()
+{
+    abort_message("this shouldn't be called");
+}
+
+void (*__cxa_new_handler)() = f;
+void (*__cxa_terminate_handler)() = f;
+void (*__cxa_unexpected_handler)() = f;
 
 }
 
Add a little paranoia for testing purposes.

git-svn-id: 6a9f6578bdee8d959f0ed58970538b4ab6004734@149157 91177308-0d34-0410-b5e6-96231b3b80d8
