Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  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. namespace llvm {
  13. namespace opt {
  14. class OptTable;
  15. }
  16. }
  17.  
  18. namespace clang {
  19. namespace driver {
  20.  
  21. namespace options {
  22. /// Flags specifically for clang options.  Must not overlap with
  23. /// llvm::opt::DriverFlag.
  24. enum ClangFlags {
  25.   NoXarchOption = (1 << 4),
  26.   LinkerInput = (1 << 5),
  27.   NoArgumentUnused = (1 << 6),
  28.   Unsupported = (1 << 7),
  29.   CoreOption = (1 << 8),
  30.   CLOption = (1 << 9),
  31.   CC1Option = (1 << 10),
  32.   CC1AsOption = (1 << 11),
  33.   NoDriverOption = (1 << 12),
  34.   LinkOption = (1 << 13),
  35.   FlangOption = (1 << 14),
  36.   FC1Option = (1 << 15),
  37.   FlangOnlyOption = (1 << 16),
  38.   DXCOption = (1 << 17),
  39.   CLDXCOption = (1 << 18),
  40.   Ignored = (1 << 19),
  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"
  49.     LastOption
  50. #undef OPTION
  51.   };
  52. }
  53.  
  54. const llvm::opt::OptTable &getDriverOptTable();
  55. }
  56. }
  57.  
  58. #endif
  59.