1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- //===--- DriverOptions.cpp - Driver Options Table -------------------------===//
- //
- // The LLVM Compiler Infrastructure
- //
- // This file is distributed under the University of Illinois Open Source
- // License. See LICENSE.TXT for details.
- //
- //===----------------------------------------------------------------------===//
- #include "clang/Driver/Options.h"
- #include "llvm/ADT/STLExtras.h"
- #include "llvm/Option/OptTable.h"
- #include "llvm/Option/Option.h"
- using namespace clang::driver;
- using namespace clang::driver::options;
- using namespace llvm::opt;
- #define PREFIX(NAME, VALUE) static const char *const NAME[] = VALUE;
- #include "clang/Driver/Options.inc"
- #undef PREFIX
- static const OptTable::Info InfoTable[] = {
- #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
- HELPTEXT, METAVAR) \
- { PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, PARAM, \
- FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS },
- #include "clang/Driver/Options.inc"
- #undef OPTION
- };
- namespace {
- class DriverOptTable : public OptTable {
- public:
- DriverOptTable()
- : OptTable(InfoTable, llvm::array_lengthof(InfoTable)) {}
- };
- }
- OptTable *clang::driver::createDriverOptTable() {
- return new DriverOptTable();
- }
|