Options.h revision 263508
1//===--- Options.h - Option info & table ------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef CLANG_DRIVER_OPTIONS_H
11#define CLANG_DRIVER_OPTIONS_H
12
13namespace llvm {
14namespace opt {
15class OptTable;
16}
17}
18
19namespace clang {
20namespace driver {
21
22namespace options {
23/// Flags specifically for clang options.  Must not overlap with
24/// llvm::opt::DriverFlag.
25enum ClangFlags {
26  DriverOption = (1 << 4),
27  LinkerInput = (1 << 5),
28  NoArgumentUnused = (1 << 6),
29  Unsupported = (1 << 7),
30  CoreOption = (1 << 8),
31  CLOption = (1 << 9),
32  CC1Option = (1 << 10),
33  NoDriverOption = (1 << 11)
34};
35
36enum ID {
37    OPT_INVALID = 0, // This is not an option ID.
38#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
39               HELPTEXT, METAVAR) OPT_##ID,
40#include "clang/Driver/Options.inc"
41    LastOption
42#undef OPTION
43  };
44}
45
46llvm::opt::OptTable *createDriverOptTable();
47}
48}
49
50#endif
51