32 lines · c
1//===---------------- Implementation of IO utils ----------------*- 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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_LIBC_SRC___SUPPORT_OSUTIL_IO_H10#define LLVM_LIBC_SRC___SUPPORT_OSUTIL_IO_H11 12#include "src/__support/macros/properties/architectures.h"13 14#if defined(LIBC_TARGET_ARCH_IS_GPU)15#include "gpu/io.h"16#elif defined(__APPLE__)17#include "darwin/io.h"18#elif defined(__linux__)19#include "linux/io.h"20#elif defined(__Fuchsia__)21#include "fuchsia/io.h"22#elif defined(_WIN32)23#include "windows/io.h"24#elif defined(__ELF__)25// TODO: Ideally we would have LIBC_TARGET_OS_IS_BAREMETAL.26#include "baremetal/io.h"27#elif defined(__UEFI__)28#include "uefi/io.h"29#endif30 31#endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_IO_H32