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