Home | History | Annotate | Download | only in Driver
      1 //===--- Options.h - Option info & table ------------------------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 #ifndef LLVM_CLANG_DRIVER_OPTIONS_H
     11 #define LLVM_CLANG_DRIVER_OPTIONS_H
     12 
     13 namespace llvm {
     14 namespace opt {
     15 class OptTable;
     16 }
     17 }
     18 
     19 namespace clang {
     20 namespace driver {
     21 
     22 namespace options {
     23 /// Flags specifically for clang options.  Must not overlap with
     24 /// llvm::opt::DriverFlag.
     25 enum ClangFlags {
     26   DriverOption = (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 };
     36 
     37 enum ID {
     38     OPT_INVALID = 0, // This is not an option ID.
     39 #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
     40                HELPTEXT, METAVAR) OPT_##ID,
     41 #include "clang/Driver/Options.inc"
     42     LastOption
     43 #undef OPTION
     44   };
     45 }
     46 
     47 llvm::opt::OptTable *createDriverOptTable();
     48 }
     49 }
     50 
     51 #endif
     52