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