clang  13.0.0git
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  NoXarchOption = (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  LinkOption = (1 << 13),
37  FlangOption = (1 << 14),
38  FC1Option = (1 << 15),
39  FlangOnlyOption = (1 << 16),
40  Ignored = (1 << 17),
41 };
42 
43 enum ID {
44  OPT_INVALID = 0, // This is not an option ID.
45 #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
46  HELPTEXT, METAVAR, VALUES) \
47  OPT_##ID,
48 #include "clang/Driver/Options.inc"
50 #undef OPTION
51  };
52 }
53 
54 const llvm::opt::OptTable &getDriverOptTable();
55 }
56 }
57 
58 #endif
clang::driver::options::LinkerInput
@ LinkerInput
Definition: Options.h:28
llvm
Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion.
Definition: Dominators.h:30
clang::driver::options::OPT_INVALID
@ OPT_INVALID
Definition: Options.h:44
clang::driver::options::ClangFlags
ClangFlags
Flags specifically for clang options.
Definition: Options.h:26
clang::driver::options::Unsupported
@ Unsupported
Definition: Options.h:30
clang::driver::options::Ignored
@ Ignored
Definition: Options.h:40
clang::driver::options::CC1Option
@ CC1Option
Definition: Options.h:33
clang::driver::getDriverOptTable
const llvm::opt::OptTable & getDriverOptTable()
Definition: DriverOptions.cpp:42
clang::driver::options::NoDriverOption
@ NoDriverOption
Definition: Options.h:35
clang::driver::options::ID
ID
Definition: Options.h:43
clang::driver::options::NoArgumentUnused
@ NoArgumentUnused
Definition: Options.h:29
clang::driver::options::LinkOption
@ LinkOption
Definition: Options.h:36
clang::driver::options::LastOption
@ LastOption
Definition: Options.h:49
clang::driver::options::FC1Option
@ FC1Option
Definition: Options.h:38
clang::driver::options::NoXarchOption
@ NoXarchOption
Definition: Options.h:27
clang::driver::options::FlangOnlyOption
@ FlangOnlyOption
Definition: Options.h:39
clang::driver::options::FlangOption
@ FlangOption
Definition: Options.h:37
clang
Dataflow Directional Tag Classes.
Definition: CalledOnceCheck.h:17
clang::driver::options::CLOption
@ CLOption
Definition: Options.h:32
clang::driver::options::CC1AsOption
@ CC1AsOption
Definition: Options.h:34
clang::driver::options::CoreOption
@ CoreOption
Definition: Options.h:31