#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_CUDA_H
#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_CUDA_H
#include "clang/Basic/Cuda.h"
#include "clang/Driver/Action.h"
#include "clang/Driver/Multilib.h"
#include "clang/Driver/Tool.h"
#include "clang/Driver/ToolChain.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/VersionTuple.h"
#include <bitset>
#include <set>
#include <vector>
namespace clang {
namespace driver {
class CudaInstallationDetector { … };
namespace tools {
namespace NVPTX {
class LLVM_LIBRARY_VISIBILITY Assembler final : public Tool { … };
class LLVM_LIBRARY_VISIBILITY FatBinary : public Tool { … };
class LLVM_LIBRARY_VISIBILITY Linker final : public Tool { … };
void getNVPTXTargetFeatures(const Driver &D, const llvm::Triple &Triple,
const llvm::opt::ArgList &Args,
std::vector<StringRef> &Features);
}
}
namespace toolchains {
class LLVM_LIBRARY_VISIBILITY NVPTXToolChain : public ToolChain { … };
class LLVM_LIBRARY_VISIBILITY CudaToolChain : public NVPTXToolChain { … };
}
}
}
#endif