Path: blob/main/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/CSKY.h
35294 views
//===--- CSKY.h - CSKY-specific Tool Helpers ------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_CSKY_H9#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_CSKY_H1011#include "clang/Driver/Driver.h"12#include "llvm/ADT/StringRef.h"13#include "llvm/Option/ArgList.h"14#include "llvm/Option/Option.h"15#include <string>16#include <vector>1718namespace clang {19namespace driver {20namespace tools {21namespace csky {2223enum class FloatABI {24Invalid,25Soft,26SoftFP,27Hard,28};2930FloatABI getCSKYFloatABI(const Driver &D, const llvm::opt::ArgList &Args);3132void getCSKYTargetFeatures(const Driver &D, const llvm::Triple &Triple,33const llvm::opt::ArgList &Args,34llvm::opt::ArgStringList &CmdArgs,35std::vector<llvm::StringRef> &Features);3637std::optional<llvm::StringRef> getCSKYArchName(const Driver &D,38const llvm::opt::ArgList &Args,39const llvm::Triple &Triple);4041} // end namespace csky42} // namespace tools43} // end namespace driver44} // end namespace clang4546#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_CSKY_H474849