blob: 672fe0401e482997b33d1a8bf5cb90c929bea0eb [file] [log] [blame]
Daniel Dunbarbe6ef382009-11-19 07:19:04 +00001//===--- CC1Options.cpp - Clang CC1 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/CC1Options.h"
11#include "clang/Driver/OptTable.h"
12#include "clang/Driver/Option.h"
13
14using namespace clang::driver;
15using namespace clang::driver::options;
16using namespace clang::driver::cc1options;
17
18static OptTable::Info CC1InfoTable[] = {
19 // The InputOption info
20 { "<input>", 0, 0, Option::InputClass, DriverOption, 0, OPT_INVALID, OPT_INVALID },
21 // The UnknownOption info
22 { "<unknown>", 0, 0, Option::UnknownClass, 0, 0, OPT_INVALID, OPT_INVALID },
23
24#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
25 HELPTEXT, METAVAR) \
26 { NAME, HELPTEXT, METAVAR, Option::KIND##Class, FLAGS, PARAM, \
27 OPT_##GROUP, OPT_##ALIAS },
28#include "clang/Driver/CC1Options.inc"
29};
30
31namespace {
32
33class CC1OptTable : public OptTable {
34public:
35 CC1OptTable()
36 : OptTable(CC1InfoTable, sizeof(CC1InfoTable) / sizeof(CC1InfoTable[0])) {}
37};
38
39}
40
41OptTable *clang::driver::createCC1OptTable() {
42 return new CC1OptTable();
43}