1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// The LLVM Compiler Infrastructure 5// 6// This file is dual licensed under the MIT and the University of Illinois Open 7// Source Licenses. See LICENSE.TXT for details. 8// 9//===----------------------------------------------------------------------===// 10 11// MODULES_DEFINES: _LIBCPP_DEBUG=0 12 13// Test that the default debug handler aborts the program. 14 15#define _LIBCPP_DEBUG 0 16 17#include <csignal> 18#include <cstdlib> 19#include <__debug> 20 21void signal_handler(int signal) 22{ 23 if (signal == SIGABRT) 24 std::_Exit(EXIT_SUCCESS); 25 std::_Exit(EXIT_FAILURE); 26} 27 28int main() 29{ 30 if (std::signal(SIGABRT, signal_handler) != SIG_ERR) 31 _LIBCPP_ASSERT(false, "foo"); 32 return EXIT_FAILURE; 33} 34