aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/libsupc++/pure.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/libsupc++/pure.cc')
-rw-r--r--libstdc++-v3/libsupc++/pure.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/libstdc++-v3/libsupc++/pure.cc b/libstdc++-v3/libsupc++/pure.cc
index 2e75492e705..82011dbc1e8 100644
--- a/libstdc++-v3/libsupc++/pure.cc
+++ b/libstdc++-v3/libsupc++/pure.cc
@@ -27,9 +27,13 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/* APPLE LOCAL begin libcc_kext */
+#ifndef LIBCC_KEXT /* Kludge: easier than identifying correct -Ipath, and unnecessary for kext */
#include <bits/c++config.h>
#include <cxxabi.h>
#include "unwind-cxx.h"
+#endif
+/* APPLE LOCAL end libcc_kext */
#if _GLIBCXX_HOSTED
#ifdef _GLIBCXX_HAVE_UNISTD_H
@@ -51,6 +55,14 @@
extern "C" void
__cxxabiv1::__cxa_pure_virtual (void)
{
+
+/* APPLE LOCAL begin libcc_kext */
+#ifndef LIBCC_KEXT
writestr ("pure virtual method called\n");
std::terminate ();
+#else
+ extern void panic (void);
+ panic ();
+#endif
+/* APPLE LOCAL end libcc_kext */
}