clang 22.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_OPTIONS_OPTIONS_H
10#define LLVM_CLANG_OPTIONS_OPTIONS_H
11
12#include "llvm/Option/OptTable.h"
13#include "llvm/Option/Option.h"
14
15namespace clang {
16
17namespace options {
18/// Flags specifically for clang options. Must not overlap with
19/// llvm::opt::DriverFlag.
21 NoXarchOption = (1 << 4),
22 LinkerInput = (1 << 5),
23 NoArgumentUnused = (1 << 6),
24 Unsupported = (1 << 7),
25 LinkOption = (1 << 8),
26 Ignored = (1 << 9),
27 TargetSpecific = (1 << 10),
28};
29
30// Flags specifically for clang option visibility. We alias DefaultVis to
31// ClangOption, because "DefaultVis" is confusing in Options.td, which is used
32// for multiple drivers (clang, cl, flang, etc).
34 ClangOption = llvm::opt::DefaultVis,
35 CLOption = (1 << 1),
36 CC1Option = (1 << 2),
37 CC1AsOption = (1 << 3),
38 FlangOption = (1 << 4),
39 FC1Option = (1 << 5),
40 DXCOption = (1 << 6),
41};
42
43enum ID {
44 OPT_INVALID = 0, // This is not an option ID.
45#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
46#include "clang/Options/Options.inc"
48#undef OPTION
49};
50} // namespace options
51
52const llvm::opt::OptTable &getDriverOptTable();
53} // namespace clang
54
55#endif // LLVM_CLANG_OPTIONS_OPTIONS_H
ClangFlags
Flags specifically for clang options.
Definition Options.h:20
The JSON file list parser is used to communicate input to InstallAPI.
const llvm::opt::OptTable & getDriverOptTable()