summaryrefslogtreecommitdiff
path: root/contrib/llvm-project/clang/include/clang/Driver/Options.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/clang/include/clang/Driver/Options.h')
-rw-r--r--contrib/llvm-project/clang/include/clang/Driver/Options.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/contrib/llvm-project/clang/include/clang/Driver/Options.h b/contrib/llvm-project/clang/include/clang/Driver/Options.h
new file mode 100644
index 000000000000..f8963d48112a
--- /dev/null
+++ b/contrib/llvm-project/clang/include/clang/Driver/Options.h
@@ -0,0 +1,54 @@
+//===--- Options.h - Option info & table ------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CLANG_DRIVER_OPTIONS_H
+#define LLVM_CLANG_DRIVER_OPTIONS_H
+
+#include <memory>
+
+namespace llvm {
+namespace opt {
+class OptTable;
+}
+}
+
+namespace clang {
+namespace driver {
+
+namespace options {
+/// Flags specifically for clang options. Must not overlap with
+/// llvm::opt::DriverFlag.
+enum ClangFlags {
+ DriverOption = (1 << 4),
+ LinkerInput = (1 << 5),
+ NoArgumentUnused = (1 << 6),
+ Unsupported = (1 << 7),
+ CoreOption = (1 << 8),
+ CLOption = (1 << 9),
+ CC1Option = (1 << 10),
+ CC1AsOption = (1 << 11),
+ NoDriverOption = (1 << 12),
+ Ignored = (1 << 13)
+};
+
+enum ID {
+ OPT_INVALID = 0, // This is not an option ID.
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
+ HELPTEXT, METAVAR, VALUES) \
+ OPT_##ID,
+#include "clang/Driver/Options.inc"
+ LastOption
+#undef OPTION
+ };
+}
+
+std::unique_ptr<llvm::opt::OptTable> createDriverOptTable();
+}
+}
+
+#endif