1193326Sed//===--- Options.h - Option info & table ------------------------*- C++ -*-===// 2193326Sed// 3193326Sed// The LLVM Compiler Infrastructure 4193326Sed// 5193326Sed// This file is distributed under the University of Illinois Open Source 6193326Sed// License. See LICENSE.TXT for details. 7193326Sed// 8193326Sed//===----------------------------------------------------------------------===// 9193326Sed 10199512Srdivacky#ifndef CLANG_DRIVER_OPTIONS_H 11199512Srdivacky#define CLANG_DRIVER_OPTIONS_H 12193326Sed 13263508Sdimnamespace llvm { 14263508Sdimnamespace opt { 15263508Sdimclass OptTable; 16263508Sdim} 17263508Sdim} 18263508Sdim 19193326Sednamespace clang { 20193326Sednamespace driver { 21199512Srdivacky 22193326Sednamespace options { 23263508Sdim/// Flags specifically for clang options. Must not overlap with 24263508Sdim/// llvm::opt::DriverFlag. 25263508Sdimenum ClangFlags { 26263508Sdim DriverOption = (1 << 4), 27263508Sdim LinkerInput = (1 << 5), 28263508Sdim NoArgumentUnused = (1 << 6), 29263508Sdim Unsupported = (1 << 7), 30263508Sdim CoreOption = (1 << 8), 31263508Sdim CLOption = (1 << 9), 32263508Sdim CC1Option = (1 << 10), 33263508Sdim NoDriverOption = (1 << 11) 34263508Sdim}; 35263508Sdim 36263508Sdimenum ID { 37193326Sed OPT_INVALID = 0, // This is not an option ID. 38263508Sdim#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ 39193326Sed HELPTEXT, METAVAR) OPT_##ID, 40199512Srdivacky#include "clang/Driver/Options.inc" 41193326Sed LastOption 42193326Sed#undef OPTION 43193326Sed }; 44193326Sed} 45198092Srdivacky 46263508Sdimllvm::opt::OptTable *createDriverOptTable(); 47193326Sed} 48193326Sed} 49193326Sed 50193326Sed#endif 51