clang API Documentation
00001 //===--- Options.h - Option info & table ------------------------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 00010 #ifndef LLVM_CLANG_DRIVER_OPTIONS_H 00011 #define LLVM_CLANG_DRIVER_OPTIONS_H 00012 00013 namespace llvm { 00014 namespace opt { 00015 class OptTable; 00016 } 00017 } 00018 00019 namespace clang { 00020 namespace driver { 00021 00022 namespace options { 00023 /// Flags specifically for clang options. Must not overlap with 00024 /// llvm::opt::DriverFlag. 00025 enum ClangFlags { 00026 DriverOption = (1 << 4), 00027 LinkerInput = (1 << 5), 00028 NoArgumentUnused = (1 << 6), 00029 Unsupported = (1 << 7), 00030 CoreOption = (1 << 8), 00031 CLOption = (1 << 9), 00032 CC1Option = (1 << 10), 00033 CC1AsOption = (1 << 11), 00034 NoDriverOption = (1 << 12) 00035 }; 00036 00037 enum ID { 00038 OPT_INVALID = 0, // This is not an option ID. 00039 #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ 00040 HELPTEXT, METAVAR) OPT_##ID, 00041 #include "clang/Driver/Options.inc" 00042 LastOption 00043 #undef OPTION 00044 }; 00045 } 00046 00047 llvm::opt::OptTable *createDriverOptTable(); 00048 } 00049 } 00050 00051 #endif