1*0b57cec5SDimitry Andric// -*- C++ -*- 2*0b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 3*0b57cec5SDimitry Andric// 4*0b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*0b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 6*0b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*0b57cec5SDimitry Andric// 8*0b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 9*0b57cec5SDimitry Andric 10*0b57cec5SDimitry Andric/* 11*0b57cec5SDimitry Andric cassert synopsis 12*0b57cec5SDimitry Andric 13*0b57cec5SDimitry AndricMacros: 14*0b57cec5SDimitry Andric 15*0b57cec5SDimitry Andric assert 16*0b57cec5SDimitry Andric 17*0b57cec5SDimitry Andric*/ 18*0b57cec5SDimitry Andric 19*0b57cec5SDimitry Andric#include <__assert> // all public C++ headers provide the assertion handler 20*0b57cec5SDimitry Andric#include <__config> 21*0b57cec5SDimitry Andric 22*0b57cec5SDimitry Andric// <assert.h> is not provided by libc++ 23*0b57cec5SDimitry Andric#if __has_include(<assert.h>) 24*0b57cec5SDimitry Andric# include <assert.h> 25# ifdef _LIBCPP_ASSERT_H 26# error "If libc++ starts defining <assert.h>, the __has_include check should move to libc++'s <assert.h>" 27# endif 28#endif 29 30#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 31# pragma GCC system_header 32#endif 33