10b57cec5SDimitry Andric// -*- C++ -*- 2349cc55cSDimitry Andric//===----------------------------------------------------------------------===// 30b57cec5SDimitry Andric// 40b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 50b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 60b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 70b57cec5SDimitry Andric// 80b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 90b57cec5SDimitry Andric 100b57cec5SDimitry Andric/* 110b57cec5SDimitry Andric cassert synopsis 120b57cec5SDimitry Andric 130b57cec5SDimitry AndricMacros: 140b57cec5SDimitry Andric 150b57cec5SDimitry Andric assert 160b57cec5SDimitry Andric 170b57cec5SDimitry Andric*/ 180b57cec5SDimitry Andric 190b57cec5SDimitry Andric#include <__config> 20*bdd1243dSDimitry Andric 21*bdd1243dSDimitry Andric// <assert.h> is not provided by libc++ 22*bdd1243dSDimitry Andric#if __has_include(<assert.h>) 230b57cec5SDimitry Andric# include <assert.h> 24*bdd1243dSDimitry Andric# ifdef _LIBCPP_ASSERT_H 25*bdd1243dSDimitry Andric# error "If libc++ starts defining <assert.h>, the __has_include check should move to libc++'s <assert.h>" 26*bdd1243dSDimitry Andric# endif 27*bdd1243dSDimitry Andric#endif 280b57cec5SDimitry Andric 290b57cec5SDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 300b57cec5SDimitry Andric# pragma GCC system_header 310b57cec5SDimitry Andric#endif 32