clang API Documentation

TargetOptions.h
Go to the documentation of this file.
00001 //===--- TargetOptions.h ----------------------------------------*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 
00010 #ifndef LLVM_CLANG_FRONTEND_TARGETOPTIONS_H
00011 #define LLVM_CLANG_FRONTEND_TARGETOPTIONS_H
00012 
00013 #include <string>
00014 #include <vector>
00015 
00016 namespace clang {
00017 
00018 /// TargetOptions - Options for controlling the target.
00019 class TargetOptions {
00020 public:
00021   /// If given, the name of the target triple to compile for. If not given the
00022   /// target will be selected to match the host.
00023   std::string Triple;
00024 
00025   /// If given, the name of the target CPU to generate code for.
00026   std::string CPU;
00027 
00028   /// If given, the name of the target ABI to use.
00029   std::string ABI;
00030 
00031   /// If given, the name of the target C++ ABI to use. If not given, defaults
00032   /// to "itanium".
00033   std::string CXXABI;
00034 
00035   /// If given, the version string of the linker in use.
00036   std::string LinkerVersion;
00037 
00038   /// The list of target specific features to enable or disable -- this should
00039   /// be a list of strings starting with by '+' or '-'.
00040   std::vector<std::string> Features;
00041 };
00042 
00043 }  // end namespace clang
00044 
00045 #endif