components/llvm/patches/018-solaris-LLVM-utils-tablegen.patch
changeset 6512 92717ce71105
equal deleted inserted replaced
6511:d283aa33e131 6512:92717ce71105
       
     1 # 24314638 LLVM CommandLine subsystem is busted
       
     2 # 3.9.X for upstream.
       
     3 --- utils/TableGen/AsmMatcherEmitter.cpp	2016-01-03 02:33:39.000000000 -0500
       
     4 +++ utils/TableGen/AsmMatcherEmitter.cpp	2016-05-08 23:19:20.581431944 -0400
       
     5 @@ -121,7 +121,7 @@
       
     6  #define DEBUG_TYPE "asm-matcher-emitter"
       
     7  
       
     8  static cl::opt<std::string>
       
     9 -MatchPrefix("match-prefix", cl::init(""),
       
    10 +MatchPrefix("match-prefix", cl::init(std::string("")),
       
    11              cl::desc("Only match instructions with the given prefix"));
       
    12  
       
    13  namespace {
       
    14 --- utils/TableGen/TableGen.cpp	2016-01-03 23:51:51.000000000 -0500
       
    15 +++ utils/TableGen/TableGen.cpp	2016-05-08 23:19:20.582431969 -0400
       
    16 @@ -46,55 +46,55 @@
       
    17    GenAttributes
       
    18  };
       
    19  
       
    20 -namespace {
       
    21 -  cl::opt<ActionType>
       
    22 -  Action(cl::desc("Action to perform:"),
       
    23 -         cl::values(clEnumValN(PrintRecords, "print-records",
       
    24 -                               "Print all records to stdout (default)"),
       
    25 -                    clEnumValN(GenEmitter, "gen-emitter",
       
    26 -                               "Generate machine code emitter"),
       
    27 -                    clEnumValN(GenRegisterInfo, "gen-register-info",
       
    28 -                               "Generate registers and register classes info"),
       
    29 -                    clEnumValN(GenInstrInfo, "gen-instr-info",
       
    30 -                               "Generate instruction descriptions"),
       
    31 -                    clEnumValN(GenCallingConv, "gen-callingconv",
       
    32 -                               "Generate calling convention descriptions"),
       
    33 -                    clEnumValN(GenAsmWriter, "gen-asm-writer",
       
    34 -                               "Generate assembly writer"),
       
    35 -                    clEnumValN(GenDisassembler, "gen-disassembler",
       
    36 -                               "Generate disassembler"),
       
    37 -                    clEnumValN(GenPseudoLowering, "gen-pseudo-lowering",
       
    38 -                               "Generate pseudo instruction lowering"),
       
    39 -                    clEnumValN(GenAsmMatcher, "gen-asm-matcher",
       
    40 -                               "Generate assembly instruction matcher"),
       
    41 -                    clEnumValN(GenDAGISel, "gen-dag-isel",
       
    42 -                               "Generate a DAG instruction selector"),
       
    43 -                    clEnumValN(GenDFAPacketizer, "gen-dfa-packetizer",
       
    44 -                               "Generate DFA Packetizer for VLIW targets"),
       
    45 -                    clEnumValN(GenFastISel, "gen-fast-isel",
       
    46 -                               "Generate a \"fast\" instruction selector"),
       
    47 -                    clEnumValN(GenSubtarget, "gen-subtarget",
       
    48 -                               "Generate subtarget enumerations"),
       
    49 -                    clEnumValN(GenIntrinsic, "gen-intrinsic",
       
    50 -                               "Generate intrinsic information"),
       
    51 -                    clEnumValN(GenTgtIntrinsic, "gen-tgt-intrinsic",
       
    52 -                               "Generate target intrinsic information"),
       
    53 -                    clEnumValN(PrintEnums, "print-enums",
       
    54 -                               "Print enum values for a class"),
       
    55 -                    clEnumValN(PrintSets, "print-sets",
       
    56 -                               "Print expanded sets for testing DAG exprs"),
       
    57 -                    clEnumValN(GenOptParserDefs, "gen-opt-parser-defs",
       
    58 -                               "Generate option definitions"),
       
    59 -                    clEnumValN(GenCTags, "gen-ctags",
       
    60 -                               "Generate ctags-compatible index"),
       
    61 -                    clEnumValN(GenAttributes, "gen-attrs",
       
    62 -                               "Generate attributes"),
       
    63 -                    clEnumValEnd));
       
    64 +static cl::opt<ActionType>
       
    65 +Action(cl::desc("Action to perform:"),
       
    66 +       cl::values(clEnumValN(PrintRecords, "print-records",
       
    67 +                             "Print all records to stdout (default)"),
       
    68 +                  clEnumValN(GenEmitter, "gen-emitter",
       
    69 +                             "Generate machine code emitter"),
       
    70 +                  clEnumValN(GenRegisterInfo, "gen-register-info",
       
    71 +                             "Generate registers and register classes info"),
       
    72 +                  clEnumValN(GenInstrInfo, "gen-instr-info",
       
    73 +                             "Generate instruction descriptions"),
       
    74 +                  clEnumValN(GenCallingConv, "gen-callingconv",
       
    75 +                             "Generate calling convention descriptions"),
       
    76 +                  clEnumValN(GenAsmWriter, "gen-asm-writer",
       
    77 +                             "Generate assembly writer"),
       
    78 +                  clEnumValN(GenDisassembler, "gen-disassembler",
       
    79 +                             "Generate disassembler"),
       
    80 +                  clEnumValN(GenPseudoLowering, "gen-pseudo-lowering",
       
    81 +                             "Generate pseudo instruction lowering"),
       
    82 +                  clEnumValN(GenAsmMatcher, "gen-asm-matcher",
       
    83 +                             "Generate assembly instruction matcher"),
       
    84 +                  clEnumValN(GenDAGISel, "gen-dag-isel",
       
    85 +                             "Generate a DAG instruction selector"),
       
    86 +                  clEnumValN(GenDFAPacketizer, "gen-dfa-packetizer",
       
    87 +                             "Generate DFA Packetizer for VLIW targets"),
       
    88 +                  clEnumValN(GenFastISel, "gen-fast-isel",
       
    89 +                             "Generate a \"fast\" instruction selector"),
       
    90 +                  clEnumValN(GenSubtarget, "gen-subtarget",
       
    91 +                             "Generate subtarget enumerations"),
       
    92 +                  clEnumValN(GenIntrinsic, "gen-intrinsic",
       
    93 +                             "Generate intrinsic information"),
       
    94 +                  clEnumValN(GenTgtIntrinsic, "gen-tgt-intrinsic",
       
    95 +                             "Generate target intrinsic information"),
       
    96 +                  clEnumValN(PrintEnums, "print-enums",
       
    97 +                             "Print enum values for a class"),
       
    98 +                  clEnumValN(PrintSets, "print-sets",
       
    99 +                             "Print expanded sets for testing DAG exprs"),
       
   100 +                  clEnumValN(GenOptParserDefs, "gen-opt-parser-defs",
       
   101 +                             "Generate option definitions"),
       
   102 +                  clEnumValN(GenCTags, "gen-ctags",
       
   103 +                             "Generate ctags-compatible index"),
       
   104 +                  clEnumValN(GenAttributes, "gen-attrs",
       
   105 +                             "Generate attributes"),
       
   106 +                  clEnumValEnd));
       
   107  
       
   108 -  cl::opt<std::string>
       
   109 -  Class("class", cl::desc("Print Enum list for this class"),
       
   110 -          cl::value_desc("class name"));
       
   111 +static cl::opt<std::string>
       
   112 +Class("class", cl::desc("Print Enum list for this class"),
       
   113 +      cl::value_desc("class name"));
       
   114  
       
   115 +namespace {
       
   116  bool LLVMTableGenMain(raw_ostream &OS, RecordKeeper &Records) {
       
   117    switch (Action) {
       
   118    case PrintRecords: