9#ifndef FORTRAN_RUNTIME_CUDA_ALLOCATABLE_H_ 
   10#define FORTRAN_RUNTIME_CUDA_ALLOCATABLE_H_ 
   12#include "flang/Runtime/descriptor-consts.h" 
   13#include "flang/Runtime/entry-names.h" 
   15namespace Fortran::runtime::cuda {
 
   20int RTDECL(CUFAllocatableAllocate)(Descriptor &, int64_t *stream = 
nullptr,
 
   21    bool *pinned = 
nullptr, 
bool hasStat = 
false,
 
   22    const Descriptor *errMsg = 
nullptr, 
const char *sourceFile = 
nullptr,
 
   27int RTDECL(CUFAllocatableAllocateSync)(Descriptor &, int64_t *stream = 
nullptr,
 
   28    bool *pinned = 
nullptr, 
bool hasStat = 
false,
 
   29    const Descriptor *errMsg = 
nullptr, 
const char *sourceFile = 
nullptr,
 
   34int RTDEF(CUFAllocatableAllocateSource)(Descriptor &alloc,
 
   35    const Descriptor &source, int64_t *stream = 
nullptr, 
bool *pinned = 
nullptr,
 
   36    bool hasStat = 
false, 
const Descriptor *errMsg = 
nullptr,
 
   37    const char *sourceFile = 
nullptr, 
int sourceLine = 0);
 
   41int RTDEF(CUFAllocatableAllocateSourceSync)(Descriptor &alloc,
 
   42    const Descriptor &source, int64_t *stream = 
nullptr, 
bool *pinned = 
nullptr,
 
   43    bool hasStat = 
false, 
const Descriptor *errMsg = 
nullptr,
 
   44    const char *sourceFile = 
nullptr, 
int sourceLine = 0);
 
   48int RTDECL(CUFAllocatableDeallocate)(Descriptor &, 
bool hasStat = 
false,
 
   49    const Descriptor *errMsg = 
nullptr, 
const char *sourceFile = 
nullptr,