clang  9.0.0svn
Options.h
Go to the documentation of this file.
1 //===--- Options.h - Option info & table ------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_CLANG_DRIVER_OPTIONS_H
10 #define LLVM_CLANG_DRIVER_OPTIONS_H
11 
12 #include <memory>
13 
14 namespace llvm {
15 namespace opt {
16 class OptTable;
17 }
18 }
19 
20 namespace clang {
21 namespace driver {
22 
23 namespace options {
24 /// Flags specifically for clang options. Must not overlap with
25 /// llvm::opt::DriverFlag.
26 enum ClangFlags {
27  DriverOption = (1 << 4),
28  LinkerInput = (1 << 5),
29  NoArgumentUnused = (1 << 6),
30  Unsupported = (1 << 7),
31  CoreOption = (1 << 8),
32  CLOption = (1 << 9),
33  CC1Option = (1 << 10),
34  CC1AsOption = (1 << 11),
35  NoDriverOption = (1 << 12),
36  Ignored = (1 << 13)
37 };
38 
39 enum ID {
40  OPT_INVALID = 0, // This is not an option ID.
41 #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
42  HELPTEXT, METAVAR, VALUES) \
43  OPT_##ID,
44 #include "clang/Driver/Options.inc"
46 #undef OPTION
47  };
48 }
49 
50 std::unique_ptr<llvm::opt::OptTable> createDriverOptTable();
51 }
52 }
53 
54 #endif
DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterat...
Definition: Dominators.h:29
ClangFlags
Flags specifically for clang options.
Definition: Options.h:26
std::unique_ptr< llvm::opt::OptTable > createDriverOptTable()
Dataflow Directional Tag Classes.