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 66ccb7d12dd..fb31d54c2ca 100644
--- a/libstdc++-v3/libsupc++/pure.cc
+++ b/libstdc++-v3/libsupc++/pure.cc
@@ -27,8 +27,12 @@
// 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 "unwind-cxx.h"
+#endif
+/* APPLE LOCAL end libcc_kext */
#ifdef _GLIBCXX_HAVE_UNISTD_H
# include <unistd.h>
@@ -46,6 +50,14 @@
extern "C" void
__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 */
}