1//===-- sanitizer_errno.cpp -------------------------------------*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8// 9// This file is shared between sanitizers run-time libraries. 10// 11// Defines errno to avoid including errno.h and its dependencies into other 12// files (e.g. interceptors are not supposed to include any system headers). 13// 14//===----------------------------------------------------------------------===// 15 16#include "sanitizer_errno_codes.h" 17#include "sanitizer_internal_defs.h" 18 19#include <errno.h> 20 21namespace __sanitizer { 22 23COMPILER_CHECK(errno_ENOMEM == ENOMEM); 24COMPILER_CHECK(errno_EBUSY == EBUSY); 25COMPILER_CHECK(errno_EINVAL == EINVAL); 26 27// EOWNERDEAD is not present in some older platforms. 28#if defined(EOWNERDEAD) 29extern const int errno_EOWNERDEAD = EOWNERDEAD; 30#else 31extern const int errno_EOWNERDEAD = -1; 32#endif 33 34} // namespace __sanitizer 35