xref: /openbsd-src/gnu/llvm/libcxxabi/src/cxa_virtual.cpp (revision 8f1d572453a8bab44a2fe956e25efc4124e87e82)
1*8f1d5724Srobert //===----------------------------------------------------------------------===//
279c2e3e6Spatrick //
379c2e3e6Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
479c2e3e6Spatrick // See https://llvm.org/LICENSE.txt for license information.
579c2e3e6Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
679c2e3e6Spatrick //
779c2e3e6Spatrick //===----------------------------------------------------------------------===//
879c2e3e6Spatrick 
979c2e3e6Spatrick #include "cxxabi.h"
1079c2e3e6Spatrick #include "abort_message.h"
1179c2e3e6Spatrick 
1279c2e3e6Spatrick namespace __cxxabiv1 {
1379c2e3e6Spatrick extern "C" {
1479c2e3e6Spatrick _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN
__cxa_pure_virtual(void)1579c2e3e6Spatrick void __cxa_pure_virtual(void) {
1679c2e3e6Spatrick   abort_message("Pure virtual function called!");
1779c2e3e6Spatrick }
1879c2e3e6Spatrick 
1979c2e3e6Spatrick _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN
__cxa_deleted_virtual(void)2079c2e3e6Spatrick void __cxa_deleted_virtual(void) {
2179c2e3e6Spatrick   abort_message("Deleted virtual function called!");
2279c2e3e6Spatrick }
2379c2e3e6Spatrick } // extern "C"
2479c2e3e6Spatrick } // abi
25