14c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow//===------------------------ cxa_aux_runtime.cpp -------------------------===// 24c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow// 34c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow// The LLVM Compiler Infrastructure 44c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow// 54c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow// This file is dual licensed under the MIT and the University of Illinois Open 64c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow// Source Licenses. See LICENSE.TXT for details. 74c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow// 825f180797ba296e6cd3aa45e1fef9321b828301aHoward Hinnant// 925f180797ba296e6cd3aa45e1fef9321b828301aHoward Hinnant// This file implements the "Auxiliary Runtime APIs" 10c82e02dd25b36e5d05cd3644499a553709c9395dJonathan Roelofs// http://mentorembedded.github.io/cxx-abi/abi-eh.html#cxx-aux 114c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow//===----------------------------------------------------------------------===// 124c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow 134c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow#include "cxxabi.h" 144c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow#include <typeinfo> 154c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow 164c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clownamespace __cxxabiv1 174c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow{ 184c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow 194c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clowextern "C" 204c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow{ 214c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow 224c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall ClowLIBCXXABI_NORETURN 234c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clowvoid __cxa_bad_cast (void) { 2425f180797ba296e6cd3aa45e1fef9321b828301aHoward Hinnant throw std::bad_cast(); 254c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow} 264c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow 274c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall ClowLIBCXXABI_NORETURN 284c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clowvoid __cxa_bad_typeid(void) { 2925f180797ba296e6cd3aa45e1fef9321b828301aHoward Hinnant throw std::bad_typeid(); 304c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow} 314c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow 324c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow} // extern "C" 334c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow 344c2acbcfc928a7d4f18b2c9202288abdf0131219Marshall Clow} // abi 35