Home | History | Annotate | Download | only in Driver
      1 //===--- CC1AsOptions.cpp - Clang Assembler 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/CC1AsOptions.h"
     11 #include "clang/Driver/OptTable.h"
     12 #include "clang/Driver/Option.h"
     13 using namespace clang;
     14 using namespace clang::driver;
     15 using namespace clang::driver::options;
     16 using namespace clang::driver::cc1asoptions;
     17 
     18 #define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE;
     19 #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
     20                HELPTEXT, METAVAR)
     21 #include "clang/Driver/CC1AsOptions.inc"
     22 #undef OPTION
     23 #undef PREFIX
     24 
     25 static const OptTable::Info CC1AsInfoTable[] = {
     26 #define PREFIX(NAME, VALUE)
     27 #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
     28                HELPTEXT, METAVAR)   \
     29   { PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, PARAM, \
     30     FLAGS, OPT_##GROUP, OPT_##ALIAS },
     31 #include "clang/Driver/CC1AsOptions.inc"
     32 };
     33 
     34 namespace {
     35 
     36 class CC1AsOptTable : public OptTable {
     37 public:
     38   CC1AsOptTable()
     39     : OptTable(CC1AsInfoTable,
     40                sizeof(CC1AsInfoTable) / sizeof(CC1AsInfoTable[0])) {}
     41 };
     42 
     43 }
     44 
     45 OptTable *clang::driver::createCC1AsOptTable() {
     46   return new CC1AsOptTable();
     47 }
     48