blob: eddaee0546cc9483e93d23f6cf6d35f542655b88 [file] [log] [blame]
Daniel Dunbar27e738d2009-11-19 00:15:11 +00001//===--- DriverOptions.cpp - Driver Options Table -----------------------*-===//
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#include "clang/Driver/Options.h"
11#include "clang/Driver/OptTable.h"
12#include "clang/Driver/Option.h"
13
14using namespace clang::driver;
15using namespace clang::driver::options;
16
17static OptTable::Info InfoTable[] = {
18 // The InputOption info
19 { "<input>", 0, 0, Option::InputClass, DriverOption, 0, OPT_INVALID, OPT_INVALID },
20 // The UnknownOption info
21 { "<unknown>", 0, 0, Option::UnknownClass, 0, 0, OPT_INVALID, OPT_INVALID },
22
23#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
24 HELPTEXT, METAVAR) \
25 { NAME, HELPTEXT, METAVAR, Option::KIND##Class, FLAGS, PARAM, \
26 OPT_##GROUP, OPT_##ALIAS },
Daniel Dunbar64bdce32009-11-19 01:03:50 +000027#include "clang/Driver/Options.inc"
Daniel Dunbar27e738d2009-11-19 00:15:11 +000028};
29
30namespace {
31
32class DriverOptTable : public OptTable {
33public:
34 DriverOptTable()
35 : OptTable(InfoTable, sizeof(InfoTable) / sizeof(InfoTable[0])) {}
36};
37
38}
39
40OptTable *clang::driver::createDriverOptTable() {
41 return new DriverOptTable();
42}