xref: /freebsd/contrib/llvm-project/libcxx/include/cassert (revision 700637cbb5e582861067a11aaca4d053546871d2)
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
19*700637cbSDimitry Andric#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
20*700637cbSDimitry Andric#  include <__cxx03/cassert>
21*700637cbSDimitry Andric#else
220b57cec5SDimitry Andric#  include <__config>
23bdd1243dSDimitry Andric
24bdd1243dSDimitry Andric// <assert.h> is not provided by libc++
25bdd1243dSDimitry Andric#  if __has_include(<assert.h>)
260b57cec5SDimitry Andric#    include <assert.h>
27bdd1243dSDimitry Andric#    ifdef _LIBCPP_ASSERT_H
28bdd1243dSDimitry Andric#      error "If libc++ starts defining <assert.h>, the __has_include check should move to libc++'s <assert.h>"
29bdd1243dSDimitry Andric#    endif
30bdd1243dSDimitry Andric#  endif
310b57cec5SDimitry Andric
320b57cec5SDimitry Andric#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
330b57cec5SDimitry Andric#    pragma GCC system_header
340b57cec5SDimitry Andric#  endif
35*700637cbSDimitry Andric#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
36