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