/* * Copyright (c) 2018 Oticon A/S * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_ARCH_POSIX_INCLUDE_POSIX_ARCH_INTERNAL_H_ #define ZEPHYR_ARCH_POSIX_INCLUDE_POSIX_ARCH_INTERNAL_H_ #include "toolchain.h" #define PC_SAFE_CALL(a) pc_safe_call(a, #a) #ifdef __cplusplus extern "C" { #endif static inline void pc_safe_call(int test, const char *test_str) { /* LCOV_EXCL_START */ /* See Note1 */ if (unlikely(test)) { posix_print_error_and_exit("POSIX arch: Error on: %s\n", test_str); } /* LCOV_EXCL_STOP */ } #ifdef __cplusplus } #endif #endif /* ZEPHYR_ARCH_POSIX_INCLUDE_POSIX_ARCH_INTERNAL_H_ */ /* * Note 1: * * All checks for the host pthreads functions which are wrapped by PC_SAFE_CALL * are meant to never fail, and therefore will not be covered. */