Sparc.h revision 317019
1317019Sdim//===--- Sparc.h - Sparc-specific Tool Helpers ----------------------*- C++ -*-===// 2317019Sdim// 3317019Sdim// The LLVM Compiler Infrastructure 4317019Sdim// 5317019Sdim// This file is distributed under the University of Illinois Open Source 6317019Sdim// License. See LICENSE.TXT for details. 7317019Sdim// 8317019Sdim//===----------------------------------------------------------------------===// 9317019Sdim 10317019Sdim#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H 11317019Sdim#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H 12317019Sdim 13317019Sdim#include "clang/Driver/Driver.h" 14317019Sdim#include "llvm/ADT/StringRef.h" 15317019Sdim#include "llvm/Option/Option.h" 16317019Sdim#include <string> 17317019Sdim#include <vector> 18317019Sdim 19317019Sdimnamespace clang { 20317019Sdimnamespace driver { 21317019Sdimnamespace tools { 22317019Sdimnamespace sparc { 23317019Sdim 24317019Sdimenum class FloatABI { 25317019Sdim Invalid, 26317019Sdim Soft, 27317019Sdim Hard, 28317019Sdim}; 29317019Sdim 30317019SdimFloatABI getSparcFloatABI(const Driver &D, const llvm::opt::ArgList &Args); 31317019Sdim 32317019Sdimvoid getSparcTargetFeatures(const Driver &D, const llvm::opt::ArgList &Args, 33317019Sdim std::vector<llvm::StringRef> &Features); 34317019Sdimconst char *getSparcAsmModeForCPU(llvm::StringRef Name, 35317019Sdim const llvm::Triple &Triple); 36317019Sdim 37317019Sdim} // end namespace sparc 38317019Sdim} // end namespace target 39317019Sdim} // end namespace driver 40317019Sdim} // end namespace clang 41317019Sdim 42317019Sdim#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H 43