9#ifndef __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
10#define __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
12#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
13#error "This file is for GPU offloading compilation only"
16#include_next <stdio.h>
18#if defined(__HIP__) || defined(__CUDA__)
19#define __LIBC_ATTRS __attribute__((device))
27#pragma push_macro("stdout")
28#pragma push_macro("stdin")
29#pragma push_macro("stderr")
35#pragma omp begin declare target
41#pragma omp end declare target
44#if !defined(__NVPTX__) && !defined(__AMDGPU__)
45#pragma pop_macro("stderr")
46#pragma pop_macro("stdin")
47#pragma pop_macro("stdout")
__LIBC_ATTRS FILE * stdin
__LIBC_ATTRS FILE * stderr
__LIBC_ATTRS FILE * stdout