Options.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #pragma once
  2. #ifdef __GNUC__
  3. #pragma GCC diagnostic push
  4. #pragma GCC diagnostic ignored "-Wunused-parameter"
  5. #endif
  6. //===--- Options.h - Option info & table ------------------------*- C++ -*-===//
  7. //
  8. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  9. // See https://llvm.org/LICENSE.txt for license information.
  10. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #ifndef LLVM_CLANG_DRIVER_OPTIONS_H
  14. #define LLVM_CLANG_DRIVER_OPTIONS_H
  15. namespace llvm {
  16. namespace opt {
  17. class OptTable;
  18. }
  19. }
  20. namespace clang {
  21. namespace driver {
  22. namespace options {
  23. /// Flags specifically for clang options. Must not overlap with
  24. /// llvm::opt::DriverFlag.
  25. enum ClangFlags {
  26. NoXarchOption = (1 << 4),
  27. LinkerInput = (1 << 5),
  28. NoArgumentUnused = (1 << 6),
  29. Unsupported = (1 << 7),
  30. CoreOption = (1 << 8),
  31. CLOption = (1 << 9),
  32. CC1Option = (1 << 10),
  33. CC1AsOption = (1 << 11),
  34. NoDriverOption = (1 << 12),
  35. LinkOption = (1 << 13),
  36. FlangOption = (1 << 14),
  37. FC1Option = (1 << 15),
  38. FlangOnlyOption = (1 << 16),
  39. DXCOption = (1 << 17),
  40. CLDXCOption = (1 << 18),
  41. Ignored = (1 << 19),
  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"
  49. LastOption
  50. #undef OPTION
  51. };
  52. }
  53. const llvm::opt::OptTable &getDriverOptTable();
  54. }
  55. }
  56. #endif
  57. #ifdef __GNUC__
  58. #pragma GCC diagnostic pop
  59. #endif