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 CLANG_DRIVER_OPTIONS_H 11 #define 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 NoDriverOption = (1 << 11) 34 }; 35 36 enum ID { 37 OPT_INVALID = 0, // This is not an option ID. 38 #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ 39 HELPTEXT, METAVAR) OPT_##ID, 40 #include "clang/Driver/Options.inc" 41 LastOption 42 #undef OPTION 43 }; 44 } 45 46 llvm::opt::OptTable *createDriverOptTable(); 47 } 48 } 49 50 #endif 51