Options.h revision 321369
11541Srgrimes//===--- Options.h - Option info & table ------------------------*- C++ -*-===// 21541Srgrimes// 31541Srgrimes// The LLVM Compiler Infrastructure 41541Srgrimes// 51541Srgrimes// This file is distributed under the University of Illinois Open Source 61541Srgrimes// License. See LICENSE.TXT for details. 71541Srgrimes// 81541Srgrimes//===----------------------------------------------------------------------===// 91541Srgrimes 101541Srgrimes#ifndef LLVM_CLANG_DRIVER_OPTIONS_H 111541Srgrimes#define LLVM_CLANG_DRIVER_OPTIONS_H 121541Srgrimes 131541Srgrimes#include <memory> 141541Srgrimes 151541Srgrimesnamespace llvm { 161541Srgrimesnamespace opt { 171541Srgrimesclass OptTable; 181541Srgrimes} 191541Srgrimes} 201541Srgrimes 211541Srgrimesnamespace clang { 221541Srgrimesnamespace driver { 231541Srgrimes 241541Srgrimesnamespace options { 251541Srgrimes/// Flags specifically for clang options. Must not overlap with 261541Srgrimes/// llvm::opt::DriverFlag. 271541Srgrimesenum ClangFlags { 281541Srgrimes DriverOption = (1 << 4), 291541Srgrimes LinkerInput = (1 << 5), 301541Srgrimes NoArgumentUnused = (1 << 6), 311541Srgrimes Unsupported = (1 << 7), 321541Srgrimes CoreOption = (1 << 8), 3314489Shsu CLOption = (1 << 9), 3450477Speter CC1Option = (1 << 10), 351541Srgrimes CC1AsOption = (1 << 11), 361541Srgrimes NoDriverOption = (1 << 12), 372165Spaul Ignored = (1 << 13) 382165Spaul}; 392165Spaul 4095100Smikeenum ID { 4195100Smike OPT_INVALID = 0, // This is not an option ID. 4295100Smike#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ 43102227Smike HELPTEXT, METAVAR, VALUES) \ 44102227Smike OPT_##ID, 45102227Smike#include "clang/Driver/Options.inc" 4695100Smike LastOption 4795100Smike#undef OPTION 481541Srgrimes }; 491541Srgrimes} 501541Srgrimes 5183045Sobrienstd::unique_ptr<llvm::opt::OptTable> createDriverOptTable(); 5298445Smike} 5395100Smike} 541541Srgrimes 551541Srgrimes#endif 561541Srgrimes