(CommandList
  children: [
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:LANG) op:Equal rhs:{(c)} spids:[74])]
          spids: [74]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(export)} {(LANG)})
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:LC_ALL) op:Equal rhs:{(c)} spids:[83])]
          spids: [83]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(export)} {(LC_ALL)})
    (FuncDef
      name: compare_new
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [102]
                )
              ]
              spids: [102]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(KW_Bang '!')} {(-r)} {(${ VSub_Name file)})]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ (${ VSub_Name file) (' missing? cp new-') (${ VSub_Name file) (' ') 
                            (${ VSub_Name file)
                          )
                        }
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[138])]
                    )
                  ]
                  spids: [16777215 119]
                )
                (if_arm
                  cond: [(C {(diff)} {(-u)} {(${ VSub_Name file)} {(new-) (${ VSub_Name file)})]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ (${ VSub_Name file) (' unchanged'))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[170])]
                    )
                  ]
                  spids: [142 158]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [
                    {(echo)}
                    {
                      (DQ (${ VSub_Name file) (' has changed? cp new-') (${ VSub_Name file) (' ') 
                        (${ VSub_Name file)
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[193])]
                )
              ]
              spids: [174 197]
            )
          ]
          spids: [99]
        )
      spids: [94 98]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:read)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'class level macro returntype function formal actual attrib staticdefault predefault postdefault invalid_p fmt print print_p description'
                )
              )
            }
          spids: [206]
        )
      ]
      spids: [206]
    )
    (FuncDef
      name: do_read
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:comment) op:Equal rhs:{(DQ )} spids:[220])]
              spids: [220]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:class) op:Equal rhs:{(DQ )} spids:[225])]
              spids: [225]
            )
            (While
              cond: [(C {(read)} {(line)})]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(test)} {(DQ (${ VSub_Name line))} {(Lit_Other '=')} {(DQ )})]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [16777215 256]
                        )
                        (if_arm
                          cond: [
                            (C {(test)} {(DQ (${ VSub_Name line))} {(Lit_Other '=')} {(DQ ('#'))} {(-a)} 
                              {(DQ (${ VSub_Name comment))} {(Lit_Other '=')} {(DQ )}
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [262 292]
                        )
                        (if_arm
                          cond: [
                            (SimpleCommand
                              words: [{(expr)} {(DQ (${ VSub_Name line))} {(Lit_Other ':')} {(DQ ('#'))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                  spids: [314]
                                )
                              ]
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:comment)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name comment) ('\n') (${ VSub_Name line))}
                                  spids: [322]
                                )
                              ]
                              spids: [322]
                            )
                          ]
                          spids: [298 319]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:line)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {(DQ (${ VSub_Name line))})
                                                (C {(sed)} {(-e)} {(SQ <'s/::/: :/g'>)} {(-e)} 
                                                  {(SQ <'s/::/: :/g'>)}
                                                )
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_Backtick '`'>
                                      spids: [352 376]
                                    )
                                  )
                                }
                              spids: [350]
                            )
                          ]
                          spids: [350]
                        )
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OFS)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name IFS))}
                                  spids: [381]
                                )
                              ]
                              spids: [381]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ ('[:]'))}
                              spids: [390]
                            )
                          ]
                          spids: [390]
                        )
                        (SimpleCommand
                          words: [{(eval)} {(read)} {(${ VSub_Name read)}]
                          redirects: [
                            (HereDoc
                              op_id: Redir_DLess
                              fd: 16777215
                              body: {(DQ (${ VSub_Name line) ('\n'))}
                              do_expansion: True
                              here_end: EOF
                              was_filled: T
                              spids: [404]
                            )
                          ]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ (${ VSub_Name OFS))}
                              spids: [413]
                            )
                          ]
                          spids: [413]
                        )
                        (ForEach
                          iter_name: r
                          iter_words: [{(${ VSub_Name read)}]
                          do_arg_iter: F
                          body: 
                            (DoGroup
                              children: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (C {(eval)} {(test)} 
                                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\$'>
                                            ) (Lit_LBrace '{') (${ VSub_Name r) (Lit_RBrace '}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          } {(Lit_Other '=')} 
                                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\ '>
                                            ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          }
                                        )
                                      ]
                                      action: [(C {(eval)} {(${ VSub_Name r) (Lit_Other '=') (DQ )})]
                                      spids: [16777215 466]
                                    )
                                  ]
                                  spids: [16777215 479]
                                )
                              ]
                              spids: [441 482]
                            )
                          spids: [435 16777215]
                        )
                        (Case
                          to_match: {(DQ (${ VSub_Name level))}
                          arms: [
                            (case_arm
                              pat_list: [{(1)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:gt_level)
                                      op: Equal
                                      rhs: {(DQ ('>= GDB_MULTI_ARCH_PARTIAL'))}
                                      spids: [501]
                                    )
                                  ]
                                  spids: [501]
                                )
                              ]
                              spids: [497 499 506 16777215]
                            )
                            (case_arm
                              pat_list: [{(2)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:gt_level)
                                      op: Equal
                                      rhs: {(DQ ('> GDB_MULTI_ARCH_PARTIAL'))}
                                      spids: [513]
                                    )
                                  ]
                                  spids: [513]
                                )
                              ]
                              spids: [509 511 518 16777215]
                            )
                            (case_arm
                              pat_list: [{(DQ )}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:gt_level)
                                      op: Equal
                                      rhs: {(DQ ('> GDB_MULTI_ARCH_PARTIAL'))}
                                      spids: [526]
                                    )
                                  ]
                                  spids: [526]
                                )
                              ]
                              spids: [16777215 524 531 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (Sentence
                                  child: 
                                    (SimpleCommand
                                      words: [
                                        {(error)}
                                        {(DQ ('Error: bad level for ') (${ VSub_Name function))}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 1
                                          arg_word: {(2)}
                                          spids: [547]
                                        )
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (Sentence
                                  child: (C {(kill)} {($ VSub_Dollar '$$')})
                                  terminator: <Op_Semi ';'>
                                )
                                (ControlFlow
                                  token: <ControlFlow_Exit exit>
                                  arg_word: {(1)}
                                )
                              ]
                              spids: [534 536 562 16777215]
                            )
                          ]
                          spids: [486 494 565]
                        )
                        (Case
                          to_match: {(DQ (${ VSub_Name class))}
                          arms: [
                            (case_arm
                              pat_list: [{(m)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:staticdefault)
                                      op: Equal
                                      rhs: {(DQ (${ VSub_Name predefault))}
                                      spids: [584]
                                    )
                                  ]
                                  spids: [584]
                                )
                              ]
                              spids: [580 582 591 16777215]
                            )
                            (case_arm
                              pat_list: [{(M)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:staticdefault)
                                      op: Equal
                                      rhs: {(DQ (0))}
                                      spids: [598]
                                    )
                                  ]
                                  spids: [598]
                                )
                              ]
                              spids: [594 596 603 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} {(DQ (${ VSub_Name staticdefault))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticdefault)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [620]
                                        )
                                      ]
                                      spids: [620]
                                    )
                                  ]
                                )
                              ]
                              spids: [606 608 623 16777215]
                            )
                          ]
                          spids: [569 577 626]
                        )
                        (Case
                          to_match: 
                            {
                              (DQ (':') (${ VSub_Name class) (':') (${ VSub_Name fmt) (':') 
                                (${ VSub_Name print) (':')
                              )
                            }
                          arms: [
                            (case_arm
                              pat_list: [
                                {(Lit_Other ':') (Lit_Other '[') (vV) (Lit_Other ']') (Lit_Other ':') 
                                  (Lit_Other ':') (Lit_Other ':')
                                }
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (C {(Lit_Other '[')} {(DQ (${ VSub_Name returntype))} 
                                          {(Lit_Other '=')} {(int)} {(Lit_Other ']')}
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:fmt)
                                              op: Equal
                                              rhs: {(DQ ('%d'))}
                                              spids: [686]
                                            )
                                          ]
                                          spids: [686]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:print)
                                              op: Equal
                                              rhs: {(DQ (${ VSub_Name macro))}
                                              spids: [692]
                                            )
                                          ]
                                          spids: [692]
                                        )
                                      ]
                                      spids: [16777215 683]
                                    )
                                    (if_arm
                                      cond: [
                                        (C {(Lit_Other '[')} {(DQ (${ VSub_Name returntype))} 
                                          {(Lit_Other '=')} {(long)} {(Lit_Other ']')}
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:fmt)
                                              op: Equal
                                              rhs: {(DQ ('%ld'))}
                                              spids: [720]
                                            )
                                          ]
                                          spids: [720]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:print)
                                              op: Equal
                                              rhs: {(DQ (${ VSub_Name macro))}
                                              spids: [726]
                                            )
                                          ]
                                          spids: [726]
                                        )
                                      ]
                                      spids: [700 717]
                                    )
                                  ]
                                  spids: [16777215 734]
                                )
                              ]
                              spids: [655 663 737 16777215]
                            )
                          ]
                          spids: [634 652 740]
                        )
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(test)} {(DQ (${ VSub_Name fmt))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fmt)
                                  op: Equal
                                  rhs: {(DQ ('%ld'))}
                                  spids: [753]
                                )
                              ]
                              spids: [753]
                            )
                          ]
                        )
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(test)} {(DQ (${ VSub_Name print))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:print)
                                  op: Equal
                                  rhs: {(DQ ('(long) ') (${ VSub_Name macro))}
                                  spids: [769]
                                )
                              ]
                              spids: [769]
                            )
                          ]
                        )
                        (Case
                          to_match: {(DQ (${ VSub_Name class))}
                          arms: [
                            (case_arm
                              pat_list: [{(F)} {(V)} {(M)}]
                              action: [
                                (Case
                                  to_match: {(DQ (${ VSub_Name invalid_p))}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(DQ )}]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (C {(test)} {(-n)} {(DQ (${ VSub_Name predefault))})
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:predicate)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ('gdbarch->') (${ VSub_Name function) 
                                                            (' != ') (${ VSub_Name predefault)
                                                          )
                                                        }
                                                      spids: [840]
                                                    )
                                                  ]
                                                  spids: [840]
                                                )
                                              ]
                                              spids: [16777215 833]
                                            )
                                            (if_arm
                                              cond: [(C {(class_is_variable_p)})]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:predicate)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ('gdbarch->') (${ VSub_Name function) 
                                                            (' != 0')
                                                          )
                                                        }
                                                      spids: [861]
                                                    )
                                                  ]
                                                  spids: [861]
                                                )
                                              ]
                                              spids: [853 858]
                                            )
                                            (if_arm
                                              cond: [(C {(class_is_function_p)})]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:predicate)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ('gdbarch->') (${ VSub_Name function) 
                                                            (' != NULL')
                                                          )
                                                        }
                                                      spids: [879]
                                                    )
                                                  ]
                                                  spids: [879]
                                                )
                                              ]
                                              spids: [871 876]
                                            )
                                          ]
                                          spids: [16777215 889]
                                        )
                                      ]
                                      spids: [16777215 817 892 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (SimpleCommand
                                          words: [
                                            {(echo)}
                                            {
                                              (DQ ('Predicate function ') (${ VSub_Name function) 
                                                (' with invalid_p.')
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: 1
                                              arg_word: {(2)}
                                              spids: [910]
                                            )
                                          ]
                                        )
                                        (C {(kill)} {($ VSub_Dollar '$$')})
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {(1)}
                                        )
                                      ]
                                      spids: [895 897 924 16777215]
                                    )
                                  ]
                                  spids: [803 811 927]
                                )
                              ]
                              spids: [790 800 16777215 930]
                            )
                          ]
                          spids: [779 787 930]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name postdefault))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:fallbackdefault)
                                      op: Equal
                                      rhs: {(DQ (${ VSub_Name postdefault))}
                                      spids: [977]
                                    )
                                  ]
                                  spids: [977]
                                )
                              ]
                              spids: [16777215 974]
                            )
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name predefault))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:fallbackdefault)
                                      op: Equal
                                      rhs: {(DQ (${ VSub_Name predefault))}
                                      spids: [1003]
                                    )
                                  ]
                                  spids: [1003]
                                )
                              ]
                              spids: [985 1000]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fallbackdefault)
                                  op: Equal
                                  rhs: {(DQ (0))}
                                  spids: [1014]
                                )
                              ]
                              spids: [1014]
                            )
                          ]
                          spids: [1011 1020]
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      spids: [334 1036]
                    )
                  ]
                  spids: [237 1039]
                )
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name class))} {(Lit_Other ']')})]
                  action: [(C {(true)})]
                  spids: [16777215 1057]
                )
              ]
              else_action: [(C {(false)})]
              spids: [1063 1069]
            )
          ]
          spids: [217]
        )
      spids: [212 216]
    )
    (FuncDef
      name: fallback_default_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name postdefault))} {(-a)} 
                  {(DQ (x) (${ VSub_Name invalid_p))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (x0))} {(Lit_Other ']')}
                )
                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name predefault))} {(-a)} 
                  {(DQ (x) (${ VSub_Name invalid_p))} {(Lit_Other '=')} {(DQ (x0))} {(Lit_Other ']')}
                )
              ]
            )
          ]
          spids: [1080]
        )
      spids: [1075 1079]
    )
    (FuncDef
      name: class_is_variable_p
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ (${ VSub_Name class))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (v) (Lit_Other '*')}
                    {(Lit_Other '*') (V) (Lit_Other '*')}
                  ]
                  action: [(C {(true)})]
                  spids: [1164 1174 1178 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [1181 1183 1187 16777215]
                )
              ]
              spids: [1153 1161 1190]
            )
          ]
          spids: [1150]
        )
      spids: [1145 1149]
    )
    (FuncDef
      name: class_is_function_p
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ (${ VSub_Name class))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (f) (Lit_Other '*')}
                    {(Lit_Other '*') (F) (Lit_Other '*')}
                    {(Lit_Other '*') (m) (Lit_Other '*')}
                    {(Lit_Other '*') (M) (Lit_Other '*')}
                  ]
                  action: [(C {(true)})]
                  spids: [1214 1236 1240 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [1243 1245 1249 16777215]
                )
              ]
              spids: [1203 1211 1252]
            )
          ]
          spids: [1200]
        )
      spids: [1195 1199]
    )
    (FuncDef
      name: class_is_multiarch_p
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ (${ VSub_Name class))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (m) (Lit_Other '*')}
                    {(Lit_Other '*') (M) (Lit_Other '*')}
                  ]
                  action: [(C {(true)})]
                  spids: [1276 1286 1290 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [1293 1295 1299 16777215]
                )
              ]
              spids: [1265 1273 1302]
            )
          ]
          spids: [1262]
        )
      spids: [1257 1261]
    )
    (FuncDef
      name: class_is_predicate_p
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ (${ VSub_Name class))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (F) (Lit_Other '*')}
                    {(Lit_Other '*') (V) (Lit_Other '*')}
                    {(Lit_Other '*') (M) (Lit_Other '*')}
                  ]
                  action: [(C {(true)})]
                  spids: [1326 1342 1346 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [1349 1351 1355 16777215]
                )
              ]
              spids: [1315 1323 1358]
            )
          ]
          spids: [1312]
        )
      spids: [1307 1311]
    )
    (FuncDef
      name: class_is_info_p
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ (${ VSub_Name class))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (i) (Lit_Other '*')}]
                  action: [(C {(true)})]
                  spids: [1382 1386 1390 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [1393 1395 1399 16777215]
                )
              ]
              spids: [1371 1379 1402]
            )
          ]
          spids: [1368]
        )
      spids: [1363 1367]
    )
    (ForEach
      iter_name: field
      iter_words: [{(${ VSub_Name read)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(${ VSub_Name field)}
              arms: [
                (case_arm
                  pat_list: [{(class)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1434 1436 1440 16777215]
                )
                (case_arm
                  pat_list: [{(level)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1505 1507 1511 16777215]
                )
                (case_arm
                  pat_list: [{(macro)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1528 1530 1534 16777215]
                )
                (case_arm
                  pat_list: [{(returntype)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1543 1545 1549 16777215]
                )
                (case_arm
                  pat_list: [{(KW_Function function)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1558 1560 1564 16777215]
                )
                (case_arm
                  pat_list: [{(formal)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1581 1583 1587 16777215]
                )
                (case_arm
                  pat_list: [{(actual)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1608 1610 1614 16777215]
                )
                (case_arm
                  pat_list: [{(attrib)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1631 1633 1637 16777215]
                )
                (case_arm
                  pat_list: [{(staticdefault)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1650 1652 1656 16777215]
                )
                (case_arm
                  pat_list: [{(predefault)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1682 1684 1688 16777215]
                )
                (case_arm
                  pat_list: [{(postdefault)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1745 1747 1751 16777215]
                )
                (case_arm
                  pat_list: [{(invalid_p)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1821 1823 1827 16777215]
                )
                (case_arm
                  pat_list: [{(fmt)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1879 1881 1885 16777215]
                )
                (case_arm
                  pat_list: [{(print)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1907 1909 1913 16777215]
                )
                (case_arm
                  pat_list: [{(print_p)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1931 1933 1937 16777215]
                )
                (case_arm
                  pat_list: [{(description)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [1968 1970 1974 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(echo)} {(DQ ('Bad field ') (${ VSub_Name field))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [1983 1984 2000 16777215]
                )
              ]
              spids: [1424 1430 2003]
            )
          ]
          spids: [1421 2005]
        )
      spids: [1416 16777215]
    )
    (FuncDef
      name: function_list
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ 
                        (
'i:2:TARGET_ARCHITECTURE:const struct bfd_arch_info *:bfd_arch_info::::&bfd_default_arch_struct::::%s:TARGET_ARCHITECTURE->printable_name:TARGET_ARCHITECTURE != NULL\n'
                        ) ('#\n') ('i:2:TARGET_BYTE_ORDER:int:byte_order::::BFD_ENDIAN_BIG\n') ('#\n') 
                        ('i:2:TARGET_OSABI:enum gdb_osabi:osabi::::GDB_OSABI_UNKNOWN\n') ('# Number of bits in a char or unsigned char for the target machine.\n') 
                        ('# Just like CHAR_BIT in <limits.h> but describes the target machine.\n') ('# v:2:TARGET_CHAR_BIT:int:char_bit::::8 * sizeof (char):8::0:\n') ('#\n') 
                        ('# Number of bits in a short or unsigned short for the target machine.\n') ('v:2:TARGET_SHORT_BIT:int:short_bit::::8 * sizeof (short):2*TARGET_CHAR_BIT::0\n') 
                        ('# Number of bits in an int or unsigned int for the target machine.\n') ('v:2:TARGET_INT_BIT:int:int_bit::::8 * sizeof (int):4*TARGET_CHAR_BIT::0\n') 
                        ('# Number of bits in a long or unsigned long for the target machine.\n') ('v:2:TARGET_LONG_BIT:int:long_bit::::8 * sizeof (long):4*TARGET_CHAR_BIT::0\n') 
                        ('# Number of bits in a long long or unsigned long long for the target\n') ('# machine.\n') 
                        (
'v:2:TARGET_LONG_LONG_BIT:int:long_long_bit::::8 * sizeof (LONGEST):2*TARGET_LONG_BIT::0\n'
                        ) ('# Number of bits in a float for the target machine.\n') 
                        (
'v:2:TARGET_FLOAT_BIT:int:float_bit::::8 * sizeof (float):4*TARGET_CHAR_BIT::0\n'
                        ) ('# Number of bits in a double for the target machine.\n') 
                        (
'v:2:TARGET_DOUBLE_BIT:int:double_bit::::8 * sizeof (double):8*TARGET_CHAR_BIT::0\n'
                        ) ('# Number of bits in a long double for the target machine.\n') 
                        (
'v:2:TARGET_LONG_DOUBLE_BIT:int:long_double_bit::::8 * sizeof (long double):8*TARGET_CHAR_BIT::0\n'
                        ) ('# For most targets, a pointer on the target and its representation as an\n') 
                        ('# address in GDB have the same size and ') (Right_DoubleQuote '"') ('look the same') (Right_DoubleQuote '"') ('.  For such a\n') 
                        (
'# target, you need only set TARGET_PTR_BIT / ptr_bit and TARGET_ADDR_BIT\n'
                        ) ('# / addr_bit will be set from it.\n') ('#\n') 
                        (
"# If TARGET_PTR_BIT and TARGET_ADDR_BIT are different, you'll probably\n"
                        ) ('# also need to set POINTER_TO_ADDRESS and ADDRESS_TO_POINTER as well.\n') ('#\n') 
                        ('# ptr_bit is the size of a pointer on the target\n') ('v:2:TARGET_PTR_BIT:int:ptr_bit::::8 * sizeof (void*):TARGET_INT_BIT::0\n') 
                        ('# addr_bit is the size of a target address as represented in gdb\n') ('v:2:TARGET_ADDR_BIT:int:addr_bit::::8 * sizeof (void*):0:TARGET_PTR_BIT:\n') 
                        ('# Number of bits in a BFD_VMA for the target object file format.\n') 
                        (
'v:2:TARGET_BFD_VMA_BIT:int:bfd_vma_bit::::8 * sizeof (void*):TARGET_ARCHITECTURE->bits_per_address::0\n'
                        ) ('#\n') ('# One if ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("char' acts like ") 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("signed char', zero if ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("unsigned char'.\n") 
                        ('v:2:TARGET_CHAR_SIGNED:int:char_signed::::1:-1:1::::\n') ('#\n') ('F:2:TARGET_READ_PC:CORE_ADDR:read_pc:ptid_t ptid:ptid\n') 
                        (
'f:2:TARGET_WRITE_PC:void:write_pc:CORE_ADDR val, ptid_t ptid:val, ptid::0:generic_target_write_pc::0\n'
                        ) ('# UNWIND_SP is a direct replacement for TARGET_READ_SP.\n') 
                        ('F:2:TARGET_READ_SP:CORE_ADDR:read_sp:void\n') ("# Function for getting target's idea of a frame pointer.  FIXME: GDB's\n") 
                        ('# whole scheme for dealing with ') (Right_DoubleQuote '"') (frames) (Right_DoubleQuote '"') (' and ') (Right_DoubleQuote '"') 
                        ('frame pointers') (Right_DoubleQuote '"') (' needs a\n') ('# serious shakedown.\n') 
                        (
'f:2:TARGET_VIRTUAL_FRAME_POINTER:void:virtual_frame_pointer:CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset:pc, frame_regnum, frame_offset::0:legacy_virtual_frame_pointer::0\n'
                        ) ('#\n') 
                        (
'M:::void:pseudo_register_read:struct regcache *regcache, int cookednum, void *buf:regcache, cookednum, buf\n'
                        ) 
                        (
'M:::void:pseudo_register_write:struct regcache *regcache, int cookednum, const void *buf:regcache, cookednum, buf\n'
                        ) ('#\n') ('v:2:NUM_REGS:int:num_regs::::0:-1\n') 
                        ('# This macro gives the number of pseudo-registers that live in the\n') ('# register namespace but do not get fetched or stored on the target.\n') 
                        ('# These pseudo-registers may be aliases for other registers,\n') ('# combinations of other registers, or they may be computed by GDB.\n') 
                        ('v:2:NUM_PSEUDO_REGS:int:num_pseudo_regs::::0:0::0:::\n') ('\n') ("# GDB's standard (or well known) register numbers.  These can map onto\n") 
                        (
'# a real register or a pseudo (computed) register or not be defined at\n'
                        ) ('# all (-1).\n') ('# SP_REGNUM will hopefully be replaced by UNWIND_SP.\n') 
                        ('v:2:SP_REGNUM:int:sp_regnum::::-1:-1::0\n') ('v:2:PC_REGNUM:int:pc_regnum::::-1:-1::0\n') ('v:2:PS_REGNUM:int:ps_regnum::::-1:-1::0\n') 
                        ('v:2:FP0_REGNUM:int:fp0_regnum::::0:-1::0\n') ('# Convert stab register number (from ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (r) 
                        (Lit_Other '\\') ("' declaration) to a gdb REGNUM.\n") 
                        (
'f:2:STAB_REG_TO_REGNUM:int:stab_reg_to_regnum:int stab_regnr:stab_regnr:::no_op_reg_to_regnum::0\n'
                        ) ('# Provide a default mapping from a ecoff register number to a gdb REGNUM.\n') 
                        (
'f:2:ECOFF_REG_TO_REGNUM:int:ecoff_reg_to_regnum:int ecoff_regnr:ecoff_regnr:::no_op_reg_to_regnum::0\n'
                        ) ('# Provide a default mapping from a DWARF register number to a gdb REGNUM.\n') 
                        (
'f:2:DWARF_REG_TO_REGNUM:int:dwarf_reg_to_regnum:int dwarf_regnr:dwarf_regnr:::no_op_reg_to_regnum::0\n'
                        ) ('# Convert from an sdb register number to an internal gdb register number.\n') 
                        (
'f:2:SDB_REG_TO_REGNUM:int:sdb_reg_to_regnum:int sdb_regnr:sdb_regnr:::no_op_reg_to_regnum::0\n'
                        ) 
                        (
'f:2:DWARF2_REG_TO_REGNUM:int:dwarf2_reg_to_regnum:int dwarf2_regnr:dwarf2_regnr:::no_op_reg_to_regnum::0\n'
                        ) ('f::REGISTER_NAME:const char *:register_name:int regnr:regnr\n') ('\n') 
                        (
'# REGISTER_TYPE is a direct replacement for DEPRECATED_REGISTER_VIRTUAL_TYPE.\n'
                        ) ('M:2:REGISTER_TYPE:struct type *:register_type:int reg_nr:reg_nr\n') 
                        (
'# REGISTER_TYPE is a direct replacement for DEPRECATED_REGISTER_VIRTUAL_TYPE.\n'
                        ) 
                        (
'F:2:DEPRECATED_REGISTER_VIRTUAL_TYPE:struct type *:deprecated_register_virtual_type:int reg_nr:reg_nr\n'
                        ) ('# DEPRECATED_REGISTER_BYTES can be deleted.  The value is computed\n') ('# from REGISTER_TYPE.\n') 
                        ('v::DEPRECATED_REGISTER_BYTES:int:deprecated_register_bytes\n') ('# If the value returned by DEPRECATED_REGISTER_BYTE agrees with the\n') 
                        ('# register offsets computed using just REGISTER_TYPE, this can be\n') ('# deleted.  See: maint print registers.  NOTE: cagney/2002-05-02: This\n') 
                        ('# function with predicate has a valid (callable) initial value.  As a\n') ('# consequence, even when the predicate is false, the corresponding\n') 
                        ('# function works.  This simplifies the migration process - old code,\n') ("# calling DEPRECATED_REGISTER_BYTE, doesn't need to be modified.\n") 
                        (
'F::DEPRECATED_REGISTER_BYTE:int:deprecated_register_byte:int reg_nr:reg_nr::generic_register_byte:generic_register_byte\n'
                        ) ('# If all registers have identical raw and virtual sizes and those\n') 
                        ('# sizes agree with the value computed from REGISTER_TYPE,\n') ('# DEPRECATED_REGISTER_RAW_SIZE can be deleted.  See: maint print\n') ('# registers.\n') 
                        (
'F:2:DEPRECATED_REGISTER_RAW_SIZE:int:deprecated_register_raw_size:int reg_nr:reg_nr::generic_register_size:generic_register_size\n'
                        ) ('# If all registers have identical raw and virtual sizes and those\n') 
                        ('# sizes agree with the value computed from REGISTER_TYPE,\n') ('# DEPRECATED_REGISTER_VIRTUAL_SIZE can be deleted.  See: maint print\n') ('# registers.\n') 
                        (
'F:2:DEPRECATED_REGISTER_VIRTUAL_SIZE:int:deprecated_register_virtual_size:int reg_nr:reg_nr::generic_register_size:generic_register_size\n'
                        ) ('# DEPRECATED_MAX_REGISTER_RAW_SIZE can be deleted.  It has been\n') 
                        ('# replaced by the constant MAX_REGISTER_SIZE.\n') ('V:2:DEPRECATED_MAX_REGISTER_RAW_SIZE:int:deprecated_max_register_raw_size\n') 
                        ('# DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE can be deleted.  It has been\n') ('# replaced by the constant MAX_REGISTER_SIZE.\n') 
                        (
'V:2:DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE:int:deprecated_max_register_virtual_size\n'
                        ) ('\n') ('# See gdbint.texinfo, and PUSH_DUMMY_CALL.\n') 
                        (
'M::UNWIND_DUMMY_ID:struct frame_id:unwind_dummy_id:struct frame_info *info:info\n'
                        ) ('# Implement UNWIND_DUMMY_ID and PUSH_DUMMY_CALL, then delete\n') ('# SAVE_DUMMY_FRAME_TOS.\n') 
                        (
'F:2:DEPRECATED_SAVE_DUMMY_FRAME_TOS:void:deprecated_save_dummy_frame_tos:CORE_ADDR sp:sp\n'
                        ) ('# Implement UNWIND_DUMMY_ID and PUSH_DUMMY_CALL, then delete\n') ('# DEPRECATED_FP_REGNUM.\n') 
                        ('v:2:DEPRECATED_FP_REGNUM:int:deprecated_fp_regnum::::-1:-1::0\n') ('# Implement UNWIND_DUMMY_ID and PUSH_DUMMY_CALL, then delete\n') ('# DEPRECATED_TARGET_READ_FP.\n') 
                        ('F::DEPRECATED_TARGET_READ_FP:CORE_ADDR:deprecated_target_read_fp:void\n') ('\n') ('# See gdbint.texinfo.  See infcall.c.  New, all singing all dancing,\n') 
                        ('# replacement for DEPRECATED_PUSH_ARGUMENTS.\n') 
                        (
'M::PUSH_DUMMY_CALL:CORE_ADDR:push_dummy_call:CORE_ADDR func_addr, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr:func_addr, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr\n'
                        ) ('# PUSH_DUMMY_CALL is a direct replacement for DEPRECATED_PUSH_ARGUMENTS.\n') 
                        (
'F:2:DEPRECATED_PUSH_ARGUMENTS:CORE_ADDR:deprecated_push_arguments:int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr:nargs, args, sp, struct_return, struct_addr\n'
                        ) ('# DEPRECATED_USE_GENERIC_DUMMY_FRAMES can be deleted.  Always true.\n') 
                        (
'v::DEPRECATED_USE_GENERIC_DUMMY_FRAMES:int:deprecated_use_generic_dummy_frames:::::1::0\n'
                        ) ('# Implement PUSH_RETURN_ADDRESS, and then merge in\n') ('# DEPRECATED_PUSH_RETURN_ADDRESS.\n') 
                        (
'F:2:DEPRECATED_PUSH_RETURN_ADDRESS:CORE_ADDR:deprecated_push_return_address:CORE_ADDR pc, CORE_ADDR sp:pc, sp\n'
                        ) ('# Implement PUSH_DUMMY_CALL, then merge in DEPRECATED_DUMMY_WRITE_SP.\n') 
                        (
'F:2:DEPRECATED_DUMMY_WRITE_SP:void:deprecated_dummy_write_sp:CORE_ADDR val:val\n'
                        ) ('# DEPRECATED_REGISTER_SIZE can be deleted.\n') 
                        ('v::DEPRECATED_REGISTER_SIZE:int:deprecated_register_size\n') ('v::CALL_DUMMY_LOCATION:int:call_dummy_location:::::AT_ENTRY_POINT::0\n') 
                        ('# DEPRECATED_CALL_DUMMY_START_OFFSET can be deleted.\n') ('v::DEPRECATED_CALL_DUMMY_START_OFFSET:CORE_ADDR:deprecated_call_dummy_start_offset\n') 
                        ('# DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET can be deleted.\n') ('v::DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET:CORE_ADDR:deprecated_call_dummy_breakpoint_offset\n') 
                        ('# DEPRECATED_CALL_DUMMY_LENGTH can be deleted.\n') ('v::DEPRECATED_CALL_DUMMY_LENGTH:int:deprecated_call_dummy_length\n') 
                        ('# DEPRECATED_CALL_DUMMY_WORDS can be deleted.\n') 
                        (
'v::DEPRECATED_CALL_DUMMY_WORDS:LONGEST *:deprecated_call_dummy_words::::0:legacy_call_dummy_words::0:0x%08lx\n'
                        ) ('# Implement PUSH_DUMMY_CALL, then delete DEPRECATED_SIZEOF_CALL_DUMMY_WORDS.\n') 
                        (
'v::DEPRECATED_SIZEOF_CALL_DUMMY_WORDS:int:deprecated_sizeof_call_dummy_words::::0:legacy_sizeof_call_dummy_words::0\n'
                        ) ('# DEPRECATED_FIX_CALL_DUMMY can be deleted.  For the SPARC, implement\n') 
                        ('# PUSH_DUMMY_CODE and set CALL_DUMMY_LOCATION to ON_STACK.\n') 
                        (
'F::DEPRECATED_FIX_CALL_DUMMY:void:deprecated_fix_call_dummy:char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, struct value **args, struct type *type, int gcc_p:dummy, pc, fun, nargs, args, type, gcc_p\n'
                        ) ('# This is a replacement for DEPRECATED_FIX_CALL_DUMMY et.al.\n') 
                        (
'M::PUSH_DUMMY_CODE:CORE_ADDR:push_dummy_code:CORE_ADDR sp, CORE_ADDR funaddr, int using_gcc, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr:sp, funaddr, using_gcc, args, nargs, value_type, real_pc, bp_addr\n'
                        ) ('# Implement PUSH_DUMMY_CALL, then delete DEPRECATED_PUSH_DUMMY_FRAME.\n') 
                        (
'F:2:DEPRECATED_PUSH_DUMMY_FRAME:void:deprecated_push_dummy_frame:void:-\n'
                        ) ('\n') 
                        (
'F:2:DEPRECATED_DO_REGISTERS_INFO:void:deprecated_do_registers_info:int reg_nr, int fpregs:reg_nr, fpregs\n'
                        ) 
                        (
'm:2:PRINT_REGISTERS_INFO:void:print_registers_info:struct ui_file *file, struct frame_info *frame, int regnum, int all:file, frame, regnum, all:::default_print_registers_info::0\n'
                        ) 
                        (
'M:2:PRINT_FLOAT_INFO:void:print_float_info:struct ui_file *file, struct frame_info *frame, const char *args:file, frame, args\n'
                        ) 
                        (
'M:2:PRINT_VECTOR_INFO:void:print_vector_info:struct ui_file *file, struct frame_info *frame, const char *args:file, frame, args\n'
                        ) ('# MAP a GDB RAW register number onto a simulator register number.  See\n') 
                        ('# also include/...-sim.h.\n') ('f:2:REGISTER_SIM_REGNO:int:register_sim_regno:int reg_nr:reg_nr:::legacy_register_sim_regno::0\n') 
                        ('F:2:REGISTER_BYTES_OK:int:register_bytes_ok:long nr_bytes:nr_bytes\n') ('f:2:CANNOT_FETCH_REGISTER:int:cannot_fetch_register:int regnum:regnum:::cannot_register_not::0\n') 
                        (
'f:2:CANNOT_STORE_REGISTER:int:cannot_store_register:int regnum:regnum:::cannot_register_not::0\n'
                        ) ('# setjmp/longjmp support.\n') ('F:2:GET_LONGJMP_TARGET:int:get_longjmp_target:CORE_ADDR *pc:pc\n') 
                        ('# NOTE: cagney/2002-11-24: This function with predicate has a valid\n') ('# (callable) initial value.  As a consequence, even when the predicate\n') 
                        ('# is false, the corresponding function works.  This simplifies the\n') ('# migration process - old code, calling DEPRECATED_PC_IN_CALL_DUMMY(),\n') 
                        ("# doesn't need to be modified.\n") 
                        (
'F::DEPRECATED_PC_IN_CALL_DUMMY:int:deprecated_pc_in_call_dummy:CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address:pc, sp, frame_address::generic_pc_in_call_dummy:generic_pc_in_call_dummy\n'
                        ) 
                        (
'F:2:DEPRECATED_INIT_FRAME_PC_FIRST:CORE_ADDR:deprecated_init_frame_pc_first:int fromleaf, struct frame_info *prev:fromleaf, prev\n'
                        ) 
                        (
'F:2:DEPRECATED_INIT_FRAME_PC:CORE_ADDR:deprecated_init_frame_pc:int fromleaf, struct frame_info *prev:fromleaf, prev\n'
                        ) ('#\n') ('v:2:BELIEVE_PCC_PROMOTION:int:believe_pcc_promotion:::::::\n') 
                        ('v::BELIEVE_PCC_PROMOTION_TYPE:int:believe_pcc_promotion_type:::::::\n') 
                        (
'F:2:DEPRECATED_GET_SAVED_REGISTER:void:deprecated_get_saved_register:char *raw_buffer, int *optimized, CORE_ADDR *addrp, struct frame_info *frame, int regnum, enum lval_type *lval:raw_buffer, optimized, addrp, frame, regnum, lval\n'
                        ) ('#\n') ('# For register <-> value conversions, replaced by CONVERT_REGISTER_P et.al.\n') 
                        (
'# For raw <-> cooked register conversions, replaced by pseudo registers.\n'
                        ) ('F::DEPRECATED_REGISTER_CONVERTIBLE:int:deprecated_register_convertible:int nr:nr\n') 
                        (
'# For register <-> value conversions, replaced by CONVERT_REGISTER_P et.al.\n'
                        ) ('# For raw <-> cooked register conversions, replaced by pseudo registers.\n') 
                        (
'f:2:DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL:void:deprecated_register_convert_to_virtual:int regnum, struct type *type, char *from, char *to:regnum, type, from, to:::0::0\n'
                        ) ('# For register <-> value conversions, replaced by CONVERT_REGISTER_P et.al.\n') 
                        (
'# For raw <-> cooked register conversions, replaced by pseudo registers.\n'
                        ) 
                        (
'f:2:DEPRECATED_REGISTER_CONVERT_TO_RAW:void:deprecated_register_convert_to_raw:struct type *type, int regnum, const char *from, char *to:type, regnum, from, to:::0::0\n'
                        ) ('#\n') 
                        (
'f:1:CONVERT_REGISTER_P:int:convert_register_p:int regnum, struct type *type:regnum, type::0:legacy_convert_register_p::0\n'
                        ) 
                        (
'f:1:REGISTER_TO_VALUE:void:register_to_value:struct frame_info *frame, int regnum, struct type *type, void *buf:frame, regnum, type, buf::0:legacy_register_to_value::0\n'
                        ) 
                        (
'f:1:VALUE_TO_REGISTER:void:value_to_register:struct frame_info *frame, int regnum, struct type *type, const void *buf:frame, regnum, type, buf::0:legacy_value_to_register::0\n'
                        ) ('#\n') 
                        (
'f:2:POINTER_TO_ADDRESS:CORE_ADDR:pointer_to_address:struct type *type, const void *buf:type, buf:::unsigned_pointer_to_address::0\n'
                        ) 
                        (
'f:2:ADDRESS_TO_POINTER:void:address_to_pointer:struct type *type, void *buf, CORE_ADDR addr:type, buf, addr:::unsigned_address_to_pointer::0\n'
                        ) ('F:2:INTEGER_TO_ADDRESS:CORE_ADDR:integer_to_address:struct type *type, void *buf:type, buf\n') 
                        ('#\n') ('F:2:DEPRECATED_POP_FRAME:void:deprecated_pop_frame:void:-\n') 
                        ('# NOTE: cagney/2003-03-24: Replaced by PUSH_ARGUMENTS.\n') 
                        (
'F:2:DEPRECATED_STORE_STRUCT_RETURN:void:deprecated_store_struct_return:CORE_ADDR addr, CORE_ADDR sp:addr, sp\n'
                        ) ('\n') ('# It has been suggested that this, well actually its predecessor,\n') 
                        ('# should take the type/value of the function to be called and not the\n') ('# return type.  This is left as an exercise for the reader.\n') ('\n') 
                        (
'M:::enum return_value_convention:return_value:struct type *valtype, struct regcache *regcache, void *readbuf, const void *writebuf:valtype, regcache, readbuf, writebuf\n'
                        ) ('\n') ('# The deprecated methods RETURN_VALUE_ON_STACK, EXTRACT_RETURN_VALUE,\n') 
                        ('# STORE_RETURN_VALUE and USE_STRUCT_CONVENTION have all been folded\n') ('# into RETURN_VALUE.\n') ('\n') 
                        (
'f:2:RETURN_VALUE_ON_STACK:int:return_value_on_stack:struct type *type:type:::generic_return_value_on_stack_not::0\n'
                        ) 
                        (
'f:2:EXTRACT_RETURN_VALUE:void:extract_return_value:struct type *type, struct regcache *regcache, void *valbuf:type, regcache, valbuf:::legacy_extract_return_value::0\n'
                        ) 
                        (
'f:2:STORE_RETURN_VALUE:void:store_return_value:struct type *type, struct regcache *regcache, const void *valbuf:type, regcache, valbuf:::legacy_store_return_value::0\n'
                        ) 
                        (
'f:2:DEPRECATED_EXTRACT_RETURN_VALUE:void:deprecated_extract_return_value:struct type *type, char *regbuf, char *valbuf:type, regbuf, valbuf\n'
                        ) 
                        (
'f:2:DEPRECATED_STORE_RETURN_VALUE:void:deprecated_store_return_value:struct type *type, char *valbuf:type, valbuf\n'
                        ) 
                        (
'f:2:USE_STRUCT_CONVENTION:int:use_struct_convention:int gcc_p, struct type *value_type:gcc_p, value_type:::generic_use_struct_convention::0\n'
                        ) ('\n') ('# As of 2004-01-17 only the 32-bit SPARC ABI has been identified as an\n') 
                        ('# ABI suitable for the implementation of a robust extract\n') ('# struct-convention return-value address method (the sparc saves the\n') 
                        (
'# address in the callers frame).  All the other cases so far examined,\n'
                        ) ('# the DEPRECATED_EXTRACT_STRUCT_VALUE implementation has been\n') 
                        ('# erreneous - the code was incorrectly assuming that the return-value\n') ('# address, stored in a register, was preserved across the entire\n') ('# function call.\n') ('\n') 
                        (
'# For the moment retain DEPRECATED_EXTRACT_STRUCT_VALUE as a marker of\n'
                        ) ('# the ABIs that are still to be analyzed - perhaps this should simply\n') 
                        (
'# be deleted.  The commented out extract_returned_value_address method\n'
                        ) ('# is provided as a starting point for the 32-bit SPARC.  It, or\n') 
                        ('# something like it, along with changes to both infcmd.c and stack.c\n') ('# will be needed for that case to work.  NB: It is passed the callers\n') 
                        ('# frame since it is only after the callee has returned that this\n') ('# function is used.\n') ('\n') 
                        (
'#M:::CORE_ADDR:extract_returned_value_address:struct frame_info *caller_frame:caller_frame\n'
                        ) 
                        (
'F:2:DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS:CORE_ADDR:deprecated_extract_struct_value_address:struct regcache *regcache:regcache\n'
                        ) ('\n') 
                        (
'F:2:DEPRECATED_FRAME_INIT_SAVED_REGS:void:deprecated_frame_init_saved_regs:struct frame_info *frame:frame\n'
                        ) 
                        (
'F:2:DEPRECATED_INIT_EXTRA_FRAME_INFO:void:deprecated_init_extra_frame_info:int fromleaf, struct frame_info *frame:fromleaf, frame\n'
                        ) ('#\n') ('f:2:SKIP_PROLOGUE:CORE_ADDR:skip_prologue:CORE_ADDR ip:ip::0:0\n') 
                        (
'f:2:INNER_THAN:int:inner_than:CORE_ADDR lhs, CORE_ADDR rhs:lhs, rhs::0:0\n'
                        ) 
                        (
'f::BREAKPOINT_FROM_PC:const unsigned char *:breakpoint_from_pc:CORE_ADDR *pcptr, int *lenptr:pcptr, lenptr:::0:\n'
                        ) ('M:2:ADJUST_BREAKPOINT_ADDRESS:CORE_ADDR:adjust_breakpoint_address:CORE_ADDR bpaddr:bpaddr\n') 
                        (
'f:2:MEMORY_INSERT_BREAKPOINT:int:memory_insert_breakpoint:CORE_ADDR addr, char *contents_cache:addr, contents_cache::0:default_memory_insert_breakpoint::0\n'
                        ) 
                        (
'f:2:MEMORY_REMOVE_BREAKPOINT:int:memory_remove_breakpoint:CORE_ADDR addr, char *contents_cache:addr, contents_cache::0:default_memory_remove_breakpoint::0\n'
                        ) ('v:2:DECR_PC_AFTER_BREAK:CORE_ADDR:decr_pc_after_break::::0:::0\n') 
                        ('v:2:FUNCTION_START_OFFSET:CORE_ADDR:function_start_offset::::0:::0\n') ('#\n') 
                        (
'm::REMOTE_TRANSLATE_XFER_ADDRESS:void:remote_translate_xfer_address:struct regcache *regcache, CORE_ADDR gdb_addr, int gdb_len, CORE_ADDR *rem_addr, int *rem_len:regcache, gdb_addr, gdb_len, rem_addr, rem_len:::generic_remote_translate_xfer_address::0\n'
                        ) ('#\n') ('v::FRAME_ARGS_SKIP:CORE_ADDR:frame_args_skip::::0:::0\n') 
                        ('# DEPRECATED_FRAMELESS_FUNCTION_INVOCATION is not needed.  The new\n') ('# frame code works regardless of the type of frame - frameless,\n') ('# stackless, or normal.\n') 
                        (
'F::DEPRECATED_FRAMELESS_FUNCTION_INVOCATION:int:deprecated_frameless_function_invocation:struct frame_info *fi:fi\n'
                        ) ('F:2:DEPRECATED_FRAME_CHAIN:CORE_ADDR:deprecated_frame_chain:struct frame_info *frame:frame\n') 
                        (
'F:2:DEPRECATED_FRAME_CHAIN_VALID:int:deprecated_frame_chain_valid:CORE_ADDR chain, struct frame_info *thisframe:chain, thisframe\n'
                        ) ('# DEPRECATED_FRAME_SAVED_PC has been replaced by UNWIND_PC.  Please\n') 
                        ("# note, per UNWIND_PC's doco, that while the two have similar\n") ('# interfaces they have very different underlying implementations.\n') 
                        (
'F:2:DEPRECATED_FRAME_SAVED_PC:CORE_ADDR:deprecated_frame_saved_pc:struct frame_info *fi:fi\n'
                        ) ('M::UNWIND_PC:CORE_ADDR:unwind_pc:struct frame_info *next_frame:next_frame\n') 
                        (
'M::UNWIND_SP:CORE_ADDR:unwind_sp:struct frame_info *next_frame:next_frame\n'
                        ) ('# DEPRECATED_FRAME_ARGS_ADDRESS as been replaced by the per-frame\n') 
                        ('# frame-base.  Enable frame-base before frame-unwind.\n') 
                        (
'F::DEPRECATED_FRAME_ARGS_ADDRESS:CORE_ADDR:deprecated_frame_args_address:struct frame_info *fi:fi::get_frame_base:get_frame_base\n'
                        ) ('# DEPRECATED_FRAME_LOCALS_ADDRESS as been replaced by the per-frame\n') 
                        ('# frame-base.  Enable frame-base before frame-unwind.\n') 
                        (
'F::DEPRECATED_FRAME_LOCALS_ADDRESS:CORE_ADDR:deprecated_frame_locals_address:struct frame_info *fi:fi::get_frame_base:get_frame_base\n'
                        ) 
                        (
'F::DEPRECATED_SAVED_PC_AFTER_CALL:CORE_ADDR:deprecated_saved_pc_after_call:struct frame_info *frame:frame\n'
                        ) ('F:2:FRAME_NUM_ARGS:int:frame_num_args:struct frame_info *frame:frame\n') ('#\n') 
                        (
'# DEPRECATED_STACK_ALIGN has been replaced by an initial aligning call\n'
                        ) ('# to frame_align and the requirement that methods such as\n') 
                        (
'# push_dummy_call and frame_red_zone_size maintain correct stack/frame\n'
                        ) ('# alignment.\n') ('F:2:DEPRECATED_STACK_ALIGN:CORE_ADDR:deprecated_stack_align:CORE_ADDR sp:sp\n') 
                        ('M:::CORE_ADDR:frame_align:CORE_ADDR address:address\n') ('# DEPRECATED_REG_STRUCT_HAS_ADDR has been replaced by\n') ('# stabs_argument_has_addr.\n') 
                        (
'F:2:DEPRECATED_REG_STRUCT_HAS_ADDR:int:deprecated_reg_struct_has_addr:int gcc_p, struct type *type:gcc_p, type\n'
                        ) ('m:::int:stabs_argument_has_addr:struct type *type:type:::default_stabs_argument_has_addr::0\n') 
                        ('v::FRAME_RED_ZONE_SIZE:int:frame_red_zone_size\n') ('v:2:PARM_BOUNDARY:int:parm_boundary\n') ('#\n') 
                        (
'v:2:TARGET_FLOAT_FORMAT:const struct floatformat *:float_format::::::default_float_format (current_gdbarch)::%s:(TARGET_FLOAT_FORMAT)->name\n'
                        ) 
                        (
'v:2:TARGET_DOUBLE_FORMAT:const struct floatformat *:double_format::::::default_double_format (current_gdbarch)::%s:(TARGET_DOUBLE_FORMAT)->name\n'
                        ) 
                        (
'v:2:TARGET_LONG_DOUBLE_FORMAT:const struct floatformat *:long_double_format::::::default_double_format (current_gdbarch)::%s:(TARGET_LONG_DOUBLE_FORMAT)->name\n'
                        ) 
                        (
'm:::CORE_ADDR:convert_from_func_ptr_addr:CORE_ADDR addr, struct target_ops *targ:addr, targ:::convert_from_func_ptr_addr_identity::0\n'
                        ) ('# On some machines there are bits in addresses which are not really\n') 
                        ('# part of the address, but are used by the kernel, the hardware, etc.\n') ('# for special purposes.  ADDR_BITS_REMOVE takes out any such bits so\n') ('# we get a ') 
                        (Right_DoubleQuote '"') (real) (Right_DoubleQuote '"') (' address such as one would find in a symbol table.\n') 
                        ("# This is used only for addresses of instructions, and even then I'm\n") ("# not sure it's used in all contexts.  It exists to deal with there\n") 
                        (
'# being a few stray bits in the PC which would mislead us, not as some\n'
                        ) ("# sort of generic thing to handle alignment or segmentation (it's\n") 
                        ('# possible it should be in TARGET_READ_PC instead).\n') ('f:2:ADDR_BITS_REMOVE:CORE_ADDR:addr_bits_remove:CORE_ADDR addr:addr:::core_addr_identity::0\n') 
                        ('# It is not at all clear why SMASH_TEXT_ADDRESS is not folded into\n') ('# ADDR_BITS_REMOVE.\n') 
                        (
'f:2:SMASH_TEXT_ADDRESS:CORE_ADDR:smash_text_address:CORE_ADDR addr:addr:::core_addr_identity::0\n'
                        ) ('# FIXME/cagney/2001-01-18: This should be split in two.  A target method that indicates if\n') 
                        (
'# the target needs software single step.  An ISA method to implement it.\n'
                        ) ('#\n') 
                        (
'# FIXME/cagney/2001-01-18: This should be replaced with something that inserts breakpoints\n'
                        ) ('# using the breakpoint system instead of blatting memory directly (as with rs6000).\n') ('#\n') 
                        (
'# FIXME/cagney/2001-01-18: The logic is backwards.  It should be asking if the target can\n'
                        ) ('# single step.  If not, then implement single step using breakpoints.\n') 
                        (
'F:2:SOFTWARE_SINGLE_STEP:void:software_single_step:enum target_signal sig, int insert_breakpoints_p:sig, insert_breakpoints_p\n'
                        ) ('# FIXME: cagney/2003-08-28: Need to find a better way of selecting the\n') 
                        ('# disassembler.  Perhaphs objdump can handle it?\n') ('f::TARGET_PRINT_INSN:int:print_insn:bfd_vma vma, struct disassemble_info *info:vma, info:::0:\n') 
                        (
'f:2:SKIP_TRAMPOLINE_CODE:CORE_ADDR:skip_trampoline_code:CORE_ADDR pc:pc:::generic_skip_trampoline_code::0\n'
                        ) ('\n') ('\n') ('# If IN_SOLIB_DYNSYM_RESOLVE_CODE returns true, and SKIP_SOLIB_RESOLVER\n') 
                        (
'# evaluates non-zero, this is the address where the debugger will place\n'
                        ) ('# a step-resume breakpoint to get us past the dynamic linker.\n') 
                        (
'm:2:SKIP_SOLIB_RESOLVER:CORE_ADDR:skip_solib_resolver:CORE_ADDR pc:pc:::generic_skip_solib_resolver::0\n'
                        ) ('# For SVR4 shared libraries, each call goes through a small piece of\n') 
                        ('# trampoline code in the ') (Right_DoubleQuote '"') (.plt) (Right_DoubleQuote '"') 
                        (' section.  IN_SOLIB_CALL_TRAMPOLINE evaluates\n') ('# to nonzero if we are currently stopped in one of these.\n') 
                        (
'f:2:IN_SOLIB_CALL_TRAMPOLINE:int:in_solib_call_trampoline:CORE_ADDR pc, char *name:pc, name:::generic_in_solib_call_trampoline::0\n'
                        ) ('\n') ('# Some systems also have trampoline code for returning from shared libs.\n') 
                        (
'f:2:IN_SOLIB_RETURN_TRAMPOLINE:int:in_solib_return_trampoline:CORE_ADDR pc, char *name:pc, name:::generic_in_solib_return_trampoline::0\n'
                        ) ('\n') ('# Sigtramp is a routine that the kernel calls (which then calls the\n') 
                        ('# signal handler).  On most machines it is a library routine that is\n') ('# linked into the executable.\n') ('#\n') 
                        ('# This macro, given a program counter value and the name of the\n') ('# function in which that PC resides (which can be null if the name is\n') 
                        ('# not known), returns nonzero if the PC and name show that we are in\n') ('# sigtramp.\n') ('#\n') ('# On most machines just see if the name is sigtramp (and if we have\n') 
                        ('# no name, assume we are not in sigtramp).\n') ('#\n') ('# FIXME: cagney/2002-04-21: The function find_pc_partial_function\n') 
                        ('# calls find_pc_sect_partial_function() which calls PC_IN_SIGTRAMP.\n') ("# This means PC_IN_SIGTRAMP function can't be implemented by doing its\n") 
                        ('# own local NAME lookup.\n') ('#\n') ('# FIXME: cagney/2002-04-21: PC_IN_SIGTRAMP is something of a mess.\n') 
                        ('# Some code also depends on SIGTRAMP_START and SIGTRAMP_END but other\n') ('# does not.\n') 
                        (
'f:2:PC_IN_SIGTRAMP:int:pc_in_sigtramp:CORE_ADDR pc, char *name:pc, name:::legacy_pc_in_sigtramp::0\n'
                        ) ('F:2:SIGTRAMP_START:CORE_ADDR:sigtramp_start:CORE_ADDR pc:pc\n') 
                        ('F:2:SIGTRAMP_END:CORE_ADDR:sigtramp_end:CORE_ADDR pc:pc\n') ('# A target might have problems with watchpoints as soon as the stack\n') 
                        (
'# frame of the current function has been destroyed.  This mostly happens\n'
                        ) ("# as the first action in a funtion's epilogue.  in_function_epilogue_p()\n") 
                        (
'# is defined to return a non-zero value if either the given addr is one\n'
                        ) ('# instruction after the stack destroying instruction up to the trailing\n') 
                        ('# return instruction or if we can figure out that the stack frame has\n') ('# already been invalidated regardless of the value of addr.  Targets\n') 
                        (
"# which don't suffer from that problem could just let this functionality\n"
                        ) ('# untouched.\n') 
                        (
'm:::int:in_function_epilogue_p:CORE_ADDR addr:addr::0:generic_in_function_epilogue_p::0\n'
                        ) ('# Given a vector of command-line arguments, return a newly allocated\n') 
                        ('# string which, when passed to the create_inferior function, will be\n') ('# parsed (on Unix systems, by the shell) to yield the same vector.\n') 
                        ('# This function should call error() if the argument vector is not\n') ('# representable for this target or if this target does not support\n') 
                        ('# command-line arguments.\n') ('# ARGC is the number of elements in the vector.\n') 
                        ('# ARGV is an array of strings, one per argument.\n') 
                        (
'm::CONSTRUCT_INFERIOR_ARGUMENTS:char *:construct_inferior_arguments:int argc, char **argv:argc, argv:::construct_inferior_arguments::0\n'
                        ) 
                        (
'f:2:ELF_MAKE_MSYMBOL_SPECIAL:void:elf_make_msymbol_special:asymbol *sym, struct minimal_symbol *msym:sym, msym:::default_elf_make_msymbol_special::0\n'
                        ) 
                        (
'f:2:COFF_MAKE_MSYMBOL_SPECIAL:void:coff_make_msymbol_special:int val, struct minimal_symbol *msym:val, msym:::default_coff_make_msymbol_special::0\n'
                        ) ('v:2:NAME_OF_MALLOC:const char *:name_of_malloc::::') (Right_DoubleQuote '"') (malloc) 
                        (Right_DoubleQuote '"') (':') (Right_DoubleQuote '"') (malloc) (Right_DoubleQuote '"') ('::0:%s:NAME_OF_MALLOC\n') 
                        ('v:2:CANNOT_STEP_BREAKPOINT:int:cannot_step_breakpoint::::0:0::0\n') ('v:2:HAVE_NONSTEPPABLE_WATCHPOINT:int:have_nonsteppable_watchpoint::::0:0::0\n') 
                        (
'F:2:ADDRESS_CLASS_TYPE_FLAGS:int:address_class_type_flags:int byte_size, int dwarf2_addr_class:byte_size, dwarf2_addr_class\n'
                        ) 
                        (
'M:2:ADDRESS_CLASS_TYPE_FLAGS_TO_NAME:const char *:address_class_type_flags_to_name:int type_flags:type_flags\n'
                        ) 
                        (
'M:2:ADDRESS_CLASS_NAME_TO_TYPE_FLAGS:int:address_class_name_to_type_flags:const char *name, int *type_flags_ptr:name, type_flags_ptr\n'
                        ) ('# Is a register in a group\n') 
                        (
'm:::int:register_reggroup_p:int regnum, struct reggroup *reggroup:regnum, reggroup:::default_register_reggroup_p::0\n'
                        ) ('# Fetch the pointer to the ith function argument.\n') 
                        (
'F::FETCH_POINTER_ARGUMENT:CORE_ADDR:fetch_pointer_argument:struct frame_info *frame, int argi, struct type *type:frame, argi, type\n'
                        ) ('\n') ('# Return the appropriate register set for a core file section with\n') 
                        ('# name SECT_NAME and size SECT_SIZE.\n') 
                        (
'M:::const struct regset *:regset_from_core_section:const char *sect_name, size_t sect_size:sect_name, sect_size\n'
                        )
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [2023]
                )
              ]
            )
          ]
          spids: [2014]
        )
      spids: [2009 2013]
    )
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(new-gdbarch.log)} spids:[2472])]
    )
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ (${ VSub_Name class) (' ') (${ VSub_Name macro) ('(') (${ VSub_Name actual) 
                            (')\n') ('  ') (${ VSub_Name returntype) (' ') (${ VSub_Name function) (' (') ($ VSub_Name '$formal') (')') 
                            (${ VSub_Name attrib) ('\n')
                          )
                        }
                      do_expansion: True
                      here_end: EOF
                      was_filled: T
                      spids: [2489]
                    )
                  ]
                )
                (ForEach
                  iter_name: r
                  iter_words: [{(${ VSub_Name read)}]
                  do_arg_iter: F
                  body: 
                    (DoGroup
                      children: [
                        (C {(eval)} {(echo)} 
                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\ '>
                            ) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\ '>
                            ) (${ VSub_Name r) (Lit_Other '=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') 
                            (${ VSub_Name r) (Lit_RBrace '}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                          }
                        )
                      ]
                      spids: [2532 2557]
                    )
                  spids: [2526 16777215]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (AndOr
                          ops: [Op_DAmp]
                          children: [(C {(class_is_predicate_p)}) (C {(fallback_default_p)})]
                        )
                      ]
                      action: [
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {
                              (DQ ('Error: predicate function ') (${ VSub_Name macro) 
                                (' can not have a non- multi-arch default')
                              )
                            }
                          ]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2582])]
                        )
                        (C {(kill)} {($ VSub_Dollar '$$')})
                        (ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {(1)}
                        )
                      ]
                      spids: [16777215 2569]
                    )
                  ]
                  spids: [16777215 2596]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name invalid_p))} {(Lit_Other '=')} 
                          {(DQ (x0))} {(-a)} {(-n)} {(DQ (${ VSub_Name postdefault))} {(Lit_Other ']')}
                        )
                      ]
                      action: [
                        (SimpleCommand
                          words: [{(echo)} {(DQ ('Error: postdefault is useless when invalid_p=0'))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2638])]
                        )
                        (C {(kill)} {($ VSub_Dollar '$$')})
                        (ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {(1)}
                        )
                      ]
                      spids: [16777215 2629]
                    )
                  ]
                  spids: [16777215 2652]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_multiarch_p)})]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: (C {(class_is_predicate_p)})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Lit_Other ':')})]
                              spids: [16777215 2669]
                            )
                            (if_arm
                              cond: [
                                (C {(test)} {(DQ (x) (${ VSub_Name predefault))} {(Lit_Other '=')} 
                                  {(DQ (x))}
                                )
                              ]
                              action: [
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {(DQ ('Error: pure multi-arch function must have a predefault'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 1
                                      arg_word: {(2)}
                                      spids: [2701]
                                    )
                                  ]
                                )
                                (C {(kill)} {($ VSub_Dollar '$$')})
                                (ControlFlow
                                  token: <ControlFlow_Exit exit>
                                  arg_word: {(1)}
                                )
                              ]
                              spids: [2674 2692]
                            )
                          ]
                          spids: [16777215 2715]
                        )
                      ]
                      spids: [16777215 2660]
                    )
                  ]
                  spids: [16777215 2718]
                )
                (C {(echo)} {(DQ )})
              ]
              spids: [2484 2726]
            )
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2731])]
    )
    (C {(compare_new)} {(gdbarch.log)})
    (FuncDef
      name: copyright
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('/* *INDENT-OFF* */ /* THIS FILE IS GENERATED */\n') ('\n') 
                        ('/* Dynamic architecture support for GDB, the GNU debugger.\n') ('\n') ('   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free\n') 
                        ('   Software Foundation, Inc.\n') ('\n') ('   This file is part of GDB.\n') ('\n') 
                        (
'   This program is free software; you can redistribute it and/or modify\n'
                        ) ('   it under the terms of the GNU General Public License as published by\n') 
                        ('   the Free Software Foundation; either version 2 of the License, or\n') ('   (at your option) any later version.\n') ('\n') 
                        ('   This program is distributed in the hope that it will be useful,\n') ('   but WITHOUT ANY WARRANTY; without even the implied warranty of\n') 
                        ('   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n') ('   GNU General Public License for more details.\n') ('\n') 
                        ('   You should have received a copy of the GNU General Public License\n') ('   along with this program; if not, write to the Free Software\n') 
                        ('   Foundation, Inc., 59 Temple Place - Suite 330,\n') ('   Boston, MA 02111-1307, USA.  */\n') ('\n') ('/* This file was created with the aid of ') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("gdbarch.sh''.\n") ('\n') 
                        ('   The Bourne shell script ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                        ("gdbarch.sh'' creates the files\n") ('   ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("new-gdbarch.c'' and ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('new-gdbarch.h and then compares them\n') ('   against the existing ') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("gdbarch.[hc]''.  Any differences found\n") 
                        ('   being reported.\n') ('\n') ('   If editing this file, please also run gdbarch.sh and merge any\n') 
                        ('   changes into that script. Conversely, when making sweeping changes\n') ('   to this file, modifying gdbarch.sh and using its output may prove\n') ('   easier. */\n') ('\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [2749]
                )
              ]
            )
          ]
          spids: [2745]
        )
      spids: [2740 2744]
    )
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(new-gdbarch.h)} spids:[2819])]
    )
    (C {(copyright)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('#ifndef GDBARCH_H\n') ('#define GDBARCH_H\n') ('\n') ('struct floatformat;\n') 
                ('struct ui_file;\n') ('struct frame_info;\n') ('struct value;\n') ('struct objfile;\n') ('struct minimal_symbol;\n') 
                ('struct regcache;\n') ('struct reggroup;\n') ('struct regset;\n') ('struct disassemble_info;\n') ('struct target_ops;\n') 
                ('\n') ('extern struct gdbarch *current_gdbarch;\n') ('\n') ('\n') 
                ("/* If any of the following are defined, the target wasn't correctly\n") ('   converted. */\n') ('\n') 
                ('#if (GDB_MULTI_ARCH >= GDB_MULTI_ARCH_PURE) && defined (GDB_TM_FILE)\n') ('#error ') (Right_DoubleQuote '"') ('GDB_TM_FILE: Pure multi-arch targets do not have a tm.h file.') 
                (Right_DoubleQuote '"') ('\n') ('#endif\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [2827]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('/* The following are pre-initialized by GDBARCH. */') (Lit_Other '\\') (n))})
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_info_p)})]
                      action: [
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('extern ') (${ VSub_Name returntype) (' gdbarch_') 
                              (${ VSub_Name function) (' (struct gdbarch *gdbarch);') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('/* set_gdbarch_') (${ VSub_Name function) 
                              ('() - not applicable - pre-initialized. */') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('#if (GDB_MULTI_ARCH ') (${ VSub_Name gt_level) (') && defined (') 
                              (${ VSub_Name macro) (')') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('#error ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                              ('Non multi-arch definition of ') (${ VSub_Name macro) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {(DQ ('#if !defined (') (${ VSub_Name macro) (')') (Lit_Other '\\') (n))}
                        )
                        (C {(printf)} 
                          {
                            (DQ ('#define ') (${ VSub_Name macro) (' (gdbarch_') (${ VSub_Name function) 
                              (' (current_gdbarch))') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                      ]
                      spids: [16777215 2901]
                    )
                  ]
                  spids: [16777215 3022]
                )
              ]
              spids: [2893 3024]
            )
        )
      ]
      negated: F
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} 
      {
        (DQ ('/* The following are initialized by the target dependent code. */') (Lit_Other '\\') (n))
      }
    )
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name comment))} {(Lit_Other ']')})
                      ]
                      action: [
                        (Pipeline
                          children: [
                            (C {(echo)} {(DQ (${ VSub_Name comment))})
                            (C {(sed)} {(-e)} {(SQ <'2 s,#,/*,'>)} {(-e)} {(SQ <'3,$ s,#,  ,'>)} {(-e)} 
                              {(SQ <'$ s,$, */,'>)}
                            )
                          ]
                          negated: F
                        )
                      ]
                      spids: [16777215 3078]
                    )
                  ]
                  spids: [16777215 3118]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_multiarch_p)})]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [(C {(class_is_predicate_p)})]
                              action: [
                                (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                                (C {(printf)} 
                                  {
                                    (DQ ('extern int gdbarch_') (${ VSub_Name function) 
                                      ('_p (struct gdbarch *gdbarch);') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 3134]
                            )
                          ]
                          spids: [16777215 3158]
                        )
                      ]
                      spids: [16777215 3126]
                    )
                  ]
                  else_action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(class_is_predicate_p)})]
                          action: [
                            (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                            (C {(printf)} 
                              {
                                (DQ ('#if defined (') (${ VSub_Name macro) (')') (Lit_Other '\\') (n))
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('/* Legacy for systems yet to multi-arch ') (${ VSub_Name macro) 
                                  (' */') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('#if !defined (') (${ VSub_Name macro) ('_P)') (Lit_Other '\\') (n))
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('#define ') (${ VSub_Name macro) ('_P() (1)') (Lit_Other '\\') (n))
                              }
                            )
                            (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                            (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                            (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                            (C {(printf)} 
                              {
                                (DQ ('extern int gdbarch_') (${ VSub_Name function) 
                                  ('_p (struct gdbarch *gdbarch);') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('#if (GDB_MULTI_ARCH ') (${ VSub_Name gt_level) (') && defined (') 
                                  (${ VSub_Name macro) ('_P)') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('#error ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ('Non multi-arch definition of ') (${ VSub_Name macro) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                            (C {(printf)} 
                              {
                                (DQ ('#if (GDB_MULTI_ARCH ') (${ VSub_Name gt_level) 
                                  (') || !defined (') (${ VSub_Name macro) ('_P)') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('#define ') (${ VSub_Name macro) ('_P() (gdbarch_') 
                                  (${ VSub_Name function) ('_p (current_gdbarch))') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                          ]
                          spids: [16777215 3169]
                        )
                      ]
                      spids: [16777215 3359]
                    )
                  ]
                  spids: [3161 3362]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_variable_p)})]
                      action: [
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('extern ') (${ VSub_Name returntype) (' gdbarch_') 
                              (${ VSub_Name function) (' (struct gdbarch *gdbarch);') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('extern void set_gdbarch_') (${ VSub_Name function) 
                              (' (struct gdbarch *gdbarch, ') (${ VSub_Name returntype) (' ') (${ VSub_Name function) (');') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('#if (GDB_MULTI_ARCH ') (${ VSub_Name gt_level) (') && defined (') 
                              (${ VSub_Name macro) (')') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('#error ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                              ('Non multi-arch definition of ') (${ VSub_Name macro) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {(DQ ('#if !defined (') (${ VSub_Name macro) (')') (Lit_Other '\\') (n))}
                        )
                        (C {(printf)} 
                          {
                            (DQ ('#define ') (${ VSub_Name macro) (' (gdbarch_') (${ VSub_Name function) 
                              (' (current_gdbarch))') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                      ]
                      spids: [16777215 3370]
                    )
                  ]
                  spids: [16777215 3499]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_function_p)})]
                      action: [
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name formal))} 
                                      {(Lit_Other '=')} {(DQ (xvoid))} {(Lit_Other ']')}
                                    )
                                    (C {(class_is_multiarch_p)})
                                  ]
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('typedef ') (${ VSub_Name returntype) (' (gdbarch_') 
                                      (${ VSub_Name function) ('_ftype) (struct gdbarch *gdbarch);') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 3542]
                            )
                            (if_arm
                              cond: [(C {(class_is_multiarch_p)})]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('typedef ') (${ VSub_Name returntype) (' (gdbarch_') 
                                      (${ VSub_Name function) ('_ftype) (struct gdbarch *gdbarch, ') (${ VSub_Name formal) (');') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [3562 3567]
                            )
                          ]
                          else_action: [
                            (C {(printf)} 
                              {
                                (DQ ('typedef ') (${ VSub_Name returntype) (' (gdbarch_') 
                                  (${ VSub_Name function) ('_ftype) (') (${ VSub_Name formal) (');') (Lit_Other '\\') (n)
                                )
                              }
                            )
                          ]
                          spids: [3591 3615]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name formal))} {(Lit_Other '=')} 
                                  {(DQ (xvoid))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('extern ') (${ VSub_Name returntype) (' gdbarch_') 
                                      (${ VSub_Name function) (' (struct gdbarch *gdbarch);') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 3638]
                            )
                          ]
                          else_action: [
                            (C {(printf)} 
                              {
                                (DQ ('extern ') (${ VSub_Name returntype) (' gdbarch_') 
                                  (${ VSub_Name function) (' (struct gdbarch *gdbarch, ') (${ VSub_Name formal) (');') (Lit_Other '\\') (n)
                                )
                              }
                            )
                          ]
                          spids: [3658 3682]
                        )
                        (C {(printf)} 
                          {
                            (DQ ('extern void set_gdbarch_') (${ VSub_Name function) 
                              (' (struct gdbarch *gdbarch, gdbarch_') (${ VSub_Name function) ('_ftype *') (${ VSub_Name function) (');') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: (C {(class_is_multiarch_p)})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Lit_Other ':')})]
                              spids: [16777215 3712]
                            )
                          ]
                          else_action: [
                            (C {(printf)} 
                              {
                                (DQ ('#if (GDB_MULTI_ARCH ') (${ VSub_Name gt_level) (') && defined (') 
                                  (${ VSub_Name macro) (')') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('#error ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                  ('Non multi-arch definition of ') (${ VSub_Name macro) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name actual))} 
                                      {(Lit_Other '=')} {(DQ (x))} {(Lit_Other ']')}
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:d)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('#define ') (${ VSub_Name macro) ('() (gdbarch_') 
                                                (${ VSub_Name function) (' (current_gdbarch))')
                                              )
                                            }
                                          spids: [3784]
                                        )
                                      ]
                                      spids: [3784]
                                    )
                                  ]
                                  spids: [16777215 3781]
                                )
                                (if_arm
                                  cond: [
                                    (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name actual))} 
                                      {(Lit_Other '=')} {(DQ (x-))} {(Lit_Other ']')}
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:d)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('#define ') (${ VSub_Name macro) (' (gdbarch_') 
                                                (${ VSub_Name function) (' (current_gdbarch))')
                                              )
                                            }
                                          spids: [3821]
                                        )
                                      ]
                                      spids: [3821]
                                    )
                                  ]
                                  spids: [3798 3818]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:d)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ('#define ') (${ VSub_Name macro) ('(') 
                                            (${ VSub_Name actual) (') (gdbarch_') (${ VSub_Name function) (' (current_gdbarch, ') (${ VSub_Name actual) ('))')
                                          )
                                        }
                                      spids: [3838]
                                    )
                                  ]
                                  spids: [3838]
                                )
                              ]
                              spids: [3835 3860]
                            )
                            (C {(printf)} 
                              {
                                (DQ ('#if !defined (') (${ VSub_Name macro) (')') (Lit_Other '\\') (n))
                              }
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name actual))} 
                                      {(Lit_Other '=')} {(DQ (x))} {(Lit_Other ']')}
                                    )
                                  ]
                                  action: [
                                    (C {(printf)} 
                                      {
                                        (DQ ('#define ') (${ VSub_Name macro) ('() (gdbarch_') 
                                          (${ VSub_Name function) (' (current_gdbarch))') (Lit_Other '\\') (n)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 3896]
                                )
                                (if_arm
                                  cond: [
                                    (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name actual))} 
                                      {(Lit_Other '=')} {(DQ (x-))} {(Lit_Other ']')}
                                    )
                                  ]
                                  action: [
                                    (C {(printf)} 
                                      {
                                        (DQ ('#define ') (${ VSub_Name macro) (' (gdbarch_') 
                                          (${ VSub_Name function) (' (current_gdbarch))') (Lit_Other '\\') (n)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [3916 3936]
                                )
                              ]
                              else_action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('#define ') (${ VSub_Name macro) ('(') (${ VSub_Name actual) 
                                      (') (gdbarch_') (${ VSub_Name function) (' (current_gdbarch, ') (${ VSub_Name actual) ('))') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [3956 3984]
                            )
                            (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                          ]
                          spids: [3717 3996]
                        )
                      ]
                      spids: [16777215 3507]
                    )
                  ]
                  spids: [16777215 3999]
                )
              ]
              spids: [3060 4001]
            )
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('\n') ('extern struct gdbarch_tdep *gdbarch_tdep (struct gdbarch *gdbarch);\n') 
                ('\n') ('\n') ('/* Mechanism for co-ordinating the selection of a specific\n') ('   architecture.\n') ('\n') 
                ('   GDB targets (*-tdep.c) can register an interest in a specific\n') ('   architecture.  Other GDB components can register a need to maintain\n') 
                ('   per-architecture data.\n') ('\n') ('   The mechanisms below ensures that there is only a loose connection\n') 
                ('   between the set-architecture command and the various GDB\n') ('   components.  Each component can independently register their need\n') 
                ('   to maintain architecture specific data with gdbarch.\n') ('\n') ('   Pragmatics:\n') ('\n') 
                ('   Previously, a single TARGET_ARCHITECTURE_HOOK was provided.  It\n') ("   didn't scale.\n") ('\n') 
                ('   The more traditional mega-struct containing architecture specific\n') ('   data for all the various GDB components was also considered.  Since\n') 
                ('   GDB is built from a variable number of (fairly independent)\n') ('   components it was determined that the global aproach was not\n') ('   applicable. */\n') ('\n') 
                ('\n') ('/* Register a new architectural family with GDB.\n') ('\n') 
                ('   Register support for the specified ARCHITECTURE with GDB.  When\n') ('   gdbarch determines that the specified architecture has been\n') 
                ('   selected, the corresponding INIT function is called.\n') ('\n') ('   --\n') ('\n') ('   The INIT function takes two parameters: INFO which contains the\n') 
                ('   information available to gdbarch about the (possibly new)\n') ('   architecture; ARCHES which is a list of the previously created\n') ('   ') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("struct gdbarch'' for this architecture.\n") ('\n') 
                ('   The INFO parameter is, as far as possible, be pre-initialized with\n') ('   information obtained from INFO.ABFD or the previously selected\n') ('   architecture.\n') ('\n') 
                ('   The ARCHES parameter is a linked list (sorted most recently used)\n') ('   of all the previously created architures for this architecture\n') 
                ('   family.  The (possibly NULL) ARCHES->gdbarch can used to access\n') ('   values from the previously selected architecture for this\n') 
                ('   architecture family.  The global ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                ("current_gdbarch'' shall not be\n") ('   used.\n') ('\n') ('   The INIT function shall return any of: NULL - indicating that it\n') 
                ("   doesn't recognize the selected architecture; an existing ") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                ('struct\n') ("   gdbarch'' from the ARCHES list - indicating that the new\n") 
                ('   architecture is just a synonym for an earlier architecture (see\n') ('   gdbarch_list_lookup_by_info()); a newly created ') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("struct gdbarch''\n") 
                ('   - that describes the selected architecture (see gdbarch_alloc()).\n') ('\n') ('   The DUMP_TDEP function shall print out all target specific values.\n') 
                ('   Care should be taken to ensure that the function works in both the\n') ('   multi-arch and non- multi-arch cases. */\n') ('\n') ('struct gdbarch_list\n') ('{\n') 
                ('  struct gdbarch *gdbarch;\n') ('  struct gdbarch_list *next;\n') ('};\n') ('\n') ('struct gdbarch_info\n') ('{\n') 
                ('  /* Use default: NULL (ZERO). */\n') ('  const struct bfd_arch_info *bfd_arch_info;\n') ('\n') 
                ('  /* Use default: BFD_ENDIAN_UNKNOWN (NB: is not ZERO).  */\n') ('  int byte_order;\n') ('\n') ('  /* Use default: NULL (ZERO). */\n') ('  bfd *abfd;\n') ('\n') 
                ('  /* Use default: NULL (ZERO). */\n') ('  struct gdbarch_tdep_info *tdep_info;\n') ('\n') 
                ('  /* Use default: GDB_OSABI_UNINITIALIZED (-1).  */\n') ('  enum gdb_osabi osabi;\n') ('};\n') ('\n') 
                (
'typedef struct gdbarch *(gdbarch_init_ftype) (struct gdbarch_info info, struct gdbarch_list *arches);\n'
                ) ('typedef void (gdbarch_dump_tdep_ftype) (struct gdbarch *gdbarch, struct ui_file *file);\n') ('\n') 
                ('/* DEPRECATED - use gdbarch_register() */\n') ('extern void register_gdbarch_init (enum bfd_architecture architecture, gdbarch_init_ftype *);\n') 
                ('\n') ('extern void gdbarch_register (enum bfd_architecture architecture,\n') 
                ('                              gdbarch_init_ftype *,\n') ('                              gdbarch_dump_tdep_ftype *);\n') ('\n') ('\n') 
                ('/* Return a freshly allocated, NULL terminated, array of the valid\n') ('   architecture names.  Since architectures are registered during the\n') 
                ('   _initialize phase this function only returns useful information\n') ('   once initialization has been completed. */\n') ('\n') 
                ('extern const char **gdbarch_printable_names (void);\n') ('\n') ('\n') ('/* Helper function.  Search the list of ARCHES for a GDBARCH that\n') 
                ('   matches the information provided by INFO. */\n') ('\n') 
                (
'extern struct gdbarch_list *gdbarch_list_lookup_by_info (struct gdbarch_list *arches,  const struct gdbarch_info *info);\n'
                ) ('\n') ('\n') ('/* Helper function.  Create a preliminary ') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("struct gdbarch''.  Perform\n") 
                ('   basic initialization using values obtained from the INFO andTDEP\n') ('   parameters.  set_gdbarch_*() functions are called to complete the\n') 
                ('   initialization of the object. */\n') ('\n') 
                (
'extern struct gdbarch *gdbarch_alloc (const struct gdbarch_info *info, struct gdbarch_tdep *tdep);\n'
                ) ('\n') ('\n') ('/* Helper function.  Free a partially-constructed ') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("struct gdbarch''.\n") 
                ('   It is assumed that the caller freeds the ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                ('struct\n') ("   gdbarch_tdep''. */\n") ('\n') ('extern void gdbarch_free (struct gdbarch *);\n') ('\n') ('\n') 
                ('/* Helper function.  Allocate memory from the ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                ("struct gdbarch''\n") ('   obstack.  The memory is freed when the corresponding architecture\n') ('   is also freed.  */\n') 
                ('\n') ('extern void *gdbarch_obstack_zalloc (struct gdbarch *gdbarch, long size);\n') 
                (
'#define GDBARCH_OBSTACK_CALLOC(GDBARCH, NR, TYPE) ((TYPE *) gdbarch_obstack_zalloc ((GDBARCH), (NR) * sizeof (TYPE)))\n'
                ) 
                (
'#define GDBARCH_OBSTACK_ZALLOC(GDBARCH, TYPE) ((TYPE *) gdbarch_obstack_zalloc ((GDBARCH), sizeof (TYPE)))\n'
                ) ('\n') ('\n') ('/* Helper function. Force an update of the current architecture.\n') ('\n') 
                ('   The actual architecture selected is determined by INFO, ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                ('(gdb) set\n') ("   architecture'' et.al., the existing architecture and BFD's default\n") 
                ('   architecture.  INFO should be initialized to zero and then selected\n') ('   fields should be updated.\n') ('\n') ('   Returns non-zero if the update succeeds */\n') ('\n') 
                ('extern int gdbarch_update_p (struct gdbarch_info info);\n') ('\n') ('\n') ('/* Helper function.  Find an architecture matching info.\n') ('\n') 
                ('   INFO should be initialized using gdbarch_info_init, relevant fields\n') ('   set, and then finished using gdbarch_info_fill.\n') ('\n') 
                ('   Returns the corresponding architecture, or NULL if no matching\n') ('   architecture was found.  ') (Right_DoubleQuote '"') (current_gdbarch) (Right_DoubleQuote '"') 
                (' is not updated.  */\n') ('\n') ('extern struct gdbarch *gdbarch_find_by_info (struct gdbarch_info info);\n') ('\n') ('\n') 
                ('/* Helper function.  Set the global ') (Right_DoubleQuote '"') (current_gdbarch) (Right_DoubleQuote '"') (' to ') (Right_DoubleQuote '"') 
                (gdbarch) (Right_DoubleQuote '"') ('.\n') ('\n') 
                ('   FIXME: kettenis/20031124: Of the functions that follow, only\n') ('   gdbarch_from_bfd is supposed to survive.  The others will\n') 
                ('   dissappear since in the future GDB will (hopefully) be truly\n') ("   multi-arch.  However, for now we're still stuck with the concept of\n") 
                ('   a single active architecture.  */\n') ('\n') ('extern void deprecated_current_gdbarch_select_hack (struct gdbarch *gdbarch);\n') ('\n') ('\n') 
                ('/* Register per-architecture data-pointer.\n') ('\n') ('   Reserve space for a per-architecture data-pointer.  An identifier\n') 
                ('   for the reserved data-pointer is returned.  That identifer should\n') ('   be saved in a local static variable.\n') ('\n') 
                ('   The per-architecture data-pointer is either initialized explicitly\n') ('   (set_gdbarch_data()) or implicitly (by INIT() via a call to\n') ('   gdbarch_data()).\n') ('\n') 
                ('   Memory for the per-architecture data shall be allocated using\n') ('   gdbarch_obstack_zalloc.  That memory will be deleted when the\n') 
                ('   corresponding architecture object is deleted.\n') ('\n') ('   When a previously created architecture is re-selected, the\n') 
                ('   per-architecture data-pointer for that previous architecture is\n') ('   restored.  INIT() is not re-called.\n') ('\n') 
                ('   Multiple registrarants for any architecture are allowed (and\n') ('   strongly encouraged).  */\n') ('\n') ('struct gdbarch_data;\n') ('\n') 
                ('typedef void *(gdbarch_data_init_ftype) (struct gdbarch *gdbarch);\n') ('extern struct gdbarch_data *register_gdbarch_data (gdbarch_data_init_ftype *init);\n') 
                ('extern void set_gdbarch_data (struct gdbarch *gdbarch,\n') ('\t\t\t      struct gdbarch_data *data,\n') ('\t\t\t      void *pointer);\n') ('\n') 
                ('extern void *gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *);\n') ('\n') ('\n') ('\n') ('/* Register per-architecture memory region.\n') ('\n') 
                ('   Provide a memory-region swap mechanism.  Per-architecture memory\n') ('   region are created.  These memory regions are swapped whenever the\n') 
                ('   architecture is changed.  For a new architecture, the memory region\n') ('   is initialized with zero (0) and the INIT function is called.\n') ('\n') 
                ('   Memory regions are swapped / initialized in the order that they are\n') ('   registered.  NULL DATA and/or INIT values can be specified.\n') ('\n') 
                ('   New code should use register_gdbarch_data(). */\n') ('\n') ('typedef void (gdbarch_swap_ftype) (void);\n') 
                (
'extern void deprecated_register_gdbarch_swap (void *data, unsigned long size, gdbarch_swap_ftype *init);\n'
                ) 
                (
'#define DEPRECATED_REGISTER_GDBARCH_SWAP(VAR) deprecated_register_gdbarch_swap (&(VAR), sizeof ((VAR)), NULL)\n'
                ) ('\n') ('\n') ('\n') ('/* Set the dynamic target-system-dependent parameters (architecture,\n') 
                ('   byte-order, ...) using information found in the BFD */\n') ('\n') ('extern void set_gdbarch_from_file (bfd *);\n') ('\n') ('\n') 
                ('/* Initialize the current architecture to the ') (Right_DoubleQuote '"') (first) (Right_DoubleQuote '"') (' one we find on\n') ('   our list.  */\n') 
                ('\n') ('extern void initialize_current_architecture (void);\n') ('\n') ('/* gdbarch trace variable */\n') 
                ('extern int gdbarch_debug;\n') ('\n') ('extern void gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file);\n') ('\n') 
                ('#endif\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [4009]
        )
      ]
    )
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[4296])]
    )
    (C {(compare_new)} {(gdbarch.h)})
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(new-gdbarch.c)} spids:[4320])]
    )
    (C {(copyright)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('\n') ('#include ') (Right_DoubleQuote '"') (defs.h) (Right_DoubleQuote '"') ('\n') 
                ('#include ') (Right_DoubleQuote '"') (arch-utils.h) (Right_DoubleQuote '"') ('\n') ('\n') ('#include ') 
                (Right_DoubleQuote '"') (gdbcmd.h) (Right_DoubleQuote '"') ('\n') ('#include ') (Right_DoubleQuote '"') (inferior.h) 
                (Right_DoubleQuote '"') (' /* enum CALL_DUMMY_LOCATION et.al. */\n') ('#include ') (Right_DoubleQuote '"') (symcat.h) 
                (Right_DoubleQuote '"') ('\n') ('\n') ('#include ') (Right_DoubleQuote '"') (floatformat.h) (Right_DoubleQuote '"') ('\n') ('\n') 
                ('#include ') (Right_DoubleQuote '"') (gdb_assert.h) (Right_DoubleQuote '"') ('\n') ('#include ') 
                (Right_DoubleQuote '"') (gdb_string.h) (Right_DoubleQuote '"') ('\n') ('#include ') (Right_DoubleQuote '"') (gdb-events.h) 
                (Right_DoubleQuote '"') ('\n') ('#include ') (Right_DoubleQuote '"') (reggroups.h) (Right_DoubleQuote '"') ('\n') ('#include ') 
                (Right_DoubleQuote '"') (osabi.h) (Right_DoubleQuote '"') ('\n') ('#include ') (Right_DoubleQuote '"') (gdb_obstack.h) 
                (Right_DoubleQuote '"') ('\n') ('\n') ('/* Static function declarations */\n') ('\n') 
                ('static void alloc_gdbarch_data (struct gdbarch *);\n') ('\n') ('/* Non-zero if we want to trace architecture code.  */\n') ('\n') ('#ifndef GDBARCH_DEBUG\n') 
                ('#define GDBARCH_DEBUG 0\n') ('#endif\n') ('int gdbarch_debug = GDBARCH_DEBUG;\n') ('\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [4328]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('/* Maintain the struct gdbarch object */') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('struct gdbarch') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('{') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  /* Has this architecture been fully initialized?  */') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  int initialized_p;') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} 
      {(DQ ('  /* An obstack bound to the lifetime of the architecture.  */') (Lit_Other '\\') (n))}
    )
    (C {(printf)} {(DQ ('  struct obstack *obstack;') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  /* basic architectural information */') (Lit_Other '\\') (n))})
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_info_p)})]
                      action: [
                        (C {(printf)} 
                          {
                            (DQ ('  ') (${ VSub_Name returntype) (' ') (${ VSub_Name function) (';') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [16777215 4520]
                    )
                  ]
                  spids: [16777215 4540]
                )
              ]
              spids: [4512 4542]
            )
        )
      ]
      negated: F
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  /* target specific vector. */') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  struct gdbarch_tdep *tdep;') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  gdbarch_dump_tdep_ftype *dump_tdep;') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  /* per-architecture data-pointers */') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  unsigned nr_data;') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  void **data;') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  /* per-architecture swap-regions */') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  struct gdbarch_swap *swap;') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('  /* Multi-arch values.\n') ('\n') 
                ('     When extending this structure you must:\n') ('\n') ('     Add the field below.\n') ('\n') 
                ('     Declare set/get functions and define the corresponding\n') ('     macro in gdbarch.h.\n') ('\n') 
                ('     gdbarch_alloc(): If zero/NULL is not a suitable default,\n') ('     initialize the new field.\n') ('\n') 
                ('     verify_gdbarch(): Confirm that the target updated the field\n') ('     correctly.\n') ('\n') ('     gdbarch_dump(): Add a fprintf_unfiltered call so that the new\n') 
                ('     field is dumped out\n') ('\n') ('     ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("startup_gdbarch()'': Append an initial value to the static\n") 
                ("     variable (base values on the host's c-type system).\n") ('\n') ('     get_gdbarch(): Implement the set/get functions (probably using\n') 
                ("     the macro's as shortcuts).\n") ('\n') ('     */\n') ('\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [4638]
        )
      ]
    )
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_variable_p)})]
                      action: [
                        (C {(printf)} 
                          {
                            (DQ ('  ') (${ VSub_Name returntype) (' ') (${ VSub_Name function) (';') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [16777215 4687]
                    )
                    (if_arm
                      cond: [(C {(class_is_function_p)})]
                      action: [
                        (C {(printf)} 
                          {
                            (DQ ('  gdbarch_') (${ VSub_Name function) ('_ftype *') 
                              (${ VSub_Name function) (${ VSub_Name attrib) (';') (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [4707 4712]
                    )
                  ]
                  spids: [16777215 4735]
                )
              ]
              spids: [4679 4737]
            )
        )
      ]
      negated: F
    )
    (C {(printf)} {(DQ ('};') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('/* The default architecture uses host values (for want of a better\n') 
                ('   choice). */\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [4767]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} 
      {(DQ ('extern const struct bfd_arch_info bfd_default_arch_struct;') (Lit_Other '\\') (n))}
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('struct gdbarch startup_gdbarch =') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('{') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  1, /* Always initialized.  */') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  NULL, /* The obstack.  */') (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  /* basic architecture information */') (Lit_Other '\\') (n))})
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_info_p)})]
                      action: [
                        (C {(printf)} 
                          {
                            (DQ ('  ') (${ VSub_Name staticdefault) (',  /* ') (${ VSub_Name function) 
                              (' */') (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [16777215 4851]
                    )
                  ]
                  spids: [16777215 4871]
                )
              ]
              spids: [4843 4873]
            )
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('  /* target specific vector and its dump routine */\n') ('  NULL, NULL,\n') 
                ('  /*per-architecture data-pointers and swap regions */\n') ('  0, NULL, NULL,\n') ('  /* Multi-arch values */\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [4877]
        )
      ]
    )
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (AndOr
                          ops: [Op_DPipe]
                          children: [(C {(class_is_function_p)}) (C {(class_is_variable_p)})]
                        )
                      ]
                      action: [
                        (C {(printf)} 
                          {
                            (DQ ('  ') (${ VSub_Name staticdefault) (',  /* ') (${ VSub_Name function) 
                              (' */') (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [16777215 4906]
                    )
                  ]
                  spids: [16777215 4926]
                )
              ]
              spids: [4894 4928]
            )
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('  /* startup_gdbarch() */\n') ('};\n') ('\n') 
                ('struct gdbarch *current_gdbarch = &startup_gdbarch;\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [4932]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('\n') ('/* Create a new ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("struct gdbarch'' based on information provided by\n") ('   ') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("struct gdbarch_info''. */\n")
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [4946]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('struct gdbarch *\n') ('gdbarch_alloc (const struct gdbarch_info *info,\n') 
                ('               struct gdbarch_tdep *tdep)\n') ('{\n') ('  /* NOTE: The new architecture variable is named ') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("current_gdbarch''\n") 
                ('     so that macros such as TARGET_DOUBLE_BIT, when expanded, refer to\n') ('     the current local architecture and not the previous global\n') 
                ('     architecture.  This ensures that the new architectures initial\n') ('     values are not influenced by the previous architecture.  Once\n') 
                ('     everything is parameterised with gdbarch, this will go away.  */\n') ('  struct gdbarch *current_gdbarch;\n') ('\n') 
                ('  /* Create an obstack for allocating all the per-architecture memory,\n') ('     then use that to allocate the architecture vector.  */\n') 
                ('  struct obstack *obstack = XMALLOC (struct obstack);\n') ('  obstack_init (obstack);\n') 
                ('  current_gdbarch = obstack_alloc (obstack, sizeof (*current_gdbarch));\n') ('  memset (current_gdbarch, 0, sizeof (*current_gdbarch));\n') 
                ('  current_gdbarch->obstack = obstack;\n') ('\n') ('  alloc_gdbarch_data (current_gdbarch);\n') ('\n') ('  current_gdbarch->tdep = tdep;\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [4968]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_info_p)})]
                      action: [
                        (C {(printf)} 
                          {
                            (DQ ('  current_gdbarch->') (${ VSub_Name function) (' = info->') 
                              (${ VSub_Name function) (';') (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [16777215 5021]
                    )
                  ]
                  spids: [16777215 5041]
                )
              ]
              spids: [5013 5043]
            )
        )
      ]
      negated: F
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ ('  /* Force the explicit initialization of these. */') (Lit_Other '\\') (n))})
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (AndOr
                          ops: [Op_DPipe]
                          children: [(C {(class_is_function_p)}) (C {(class_is_variable_p)})]
                        )
                      ]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name predefault))} {(-a)} 
                                  {(DQ (x) (${ VSub_Name predefault))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (x0))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  current_gdbarch->') (${ VSub_Name function) (' = ') 
                                      (${ VSub_Name predefault) (';') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 5114]
                            )
                          ]
                          spids: [16777215 5134]
                        )
                      ]
                      spids: [16777215 5080]
                    )
                  ]
                  spids: [16777215 5137]
                )
              ]
              spids: [5068 5139]
            )
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('  /* gdbarch_alloc() */\n') ('\n') ('  return current_gdbarch;\n') ('}\n'))}
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [5143]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('/* Allocate extra space using the per-architecture obstack.  */\n') ('\n') 
                ('void *\n') ('gdbarch_obstack_zalloc (struct gdbarch *arch, long size)\n') ('{\n') 
                ('  void *data = obstack_alloc (arch->obstack, size);\n') ('  memset (data, 0, size);\n') ('  return data;\n') ('}\n') ('\n') ('\n') 
                ('/* Free a gdbarch struct.  This should never happen in normal\n') ("   operation --- once you've created a gdbarch, you keep it around.\n") 
                ("   However, if an architecture's init function encounters an error\n") ('   building the structure, it may need to clean up a partially\n') ('   constructed gdbarch.  */\n') 
                ('\n') ('void\n') ('gdbarch_free (struct gdbarch *arch)\n') ('{\n') ('  struct obstack *obstack;\n') 
                ('  gdb_assert (arch != NULL);\n') ('  gdb_assert (!arch->initialized_p);\n') ('  obstack = arch->obstack;\n') 
                ('  obstack_free (obstack, 0); /* Includes the ARCH.  */\n') ('  xfree (obstack);\n') ('}\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [5171]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('\n') ('\n') ('/* Ensure that all values in a GDBARCH are reasonable.  */\n') ('\n') 
                ('/* NOTE/WARNING: The parameter is called ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                ("current_gdbarch'' so that it\n") ('   just happens to match the global variable ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("current_gdbarch''.  That\n") 
                ('   way macros refering to that variable get the local and not the global\n') ('   version - ulgh.  Once everything is parameterised with gdbarch, this\n') 
                ('   will go away. */\n') ('\n') ('static void\n') ('verify_gdbarch (struct gdbarch *current_gdbarch)\n') ('{\n') 
                ('  struct ui_file *log;\n') ('  struct cleanup *cleanups;\n') ('  long dummy;\n') ('  char *buf;\n') ('  log = mem_fileopen ();\n') 
                ('  cleanups = make_cleanup_ui_file_delete (log);\n') ('  /* fundamental */\n') ('  if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)\n') 
                ('    fprintf_unfiltered (log, ') (Right_DoubleQuote '"') (Lit_Other '\\') (n) (Lit_Other '\\') (tbyte-order) (Right_DoubleQuote '"') 
                (');\n') ('  if (current_gdbarch->bfd_arch_info == NULL)\n') ('    fprintf_unfiltered (log, ') 
                (Right_DoubleQuote '"') (Lit_Other '\\') (n) (Lit_Other '\\') (tbfd_arch_info) (Right_DoubleQuote '"') (');\n') 
                ('  /* Check those that need to be defined for the given multi-arch level. */\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [5208]
        )
      ]
    )
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (AndOr
                          ops: [Op_DPipe]
                          children: [(C {(class_is_function_p)}) (C {(class_is_variable_p)})]
                        )
                      ]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name invalid_p))} 
                                  {(Lit_Other '=')} {(DQ (x0))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  /* Skip verify of ') (${ VSub_Name function) 
                                      (', invalid_p == 0 */') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 5300]
                            )
                            (if_arm
                              cond: [(C {(class_is_predicate_p)})]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  /* Skip verify of ') (${ VSub_Name function) 
                                      (', has predicate */') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [5316 5321]
                            )
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name invalid_p))} {(-a)} {(-n)} 
                                  {(DQ (${ VSub_Name postdefault))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  if (') (${ VSub_Name invalid_p) (')') (Lit_Other '\\') (n))
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('    current_gdbarch->') (${ VSub_Name function) (' = ') 
                                      (${ VSub_Name postdefault) (';') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [5341 5366]
                            )
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name predefault))} {(-a)} {(-n)} 
                                  {(DQ (${ VSub_Name postdefault))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  if (current_gdbarch->') (${ VSub_Name function) (' == ') 
                                      (${ VSub_Name predefault) (')') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('    current_gdbarch->') (${ VSub_Name function) (' = ') 
                                      (${ VSub_Name postdefault) (';') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [5399 5424]
                            )
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name postdefault))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  if (current_gdbarch->') (${ VSub_Name function) (' == 0)') 
                                      (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('    current_gdbarch->') (${ VSub_Name function) (' = ') 
                                      (${ VSub_Name postdefault) (';') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [5461 5476]
                            )
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name invalid_p))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  if ((GDB_MULTI_ARCH ') (${ VSub_Name gt_level) (')') 
                                      (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('      && (') (${ VSub_Name invalid_p) ('))') (Lit_Other '\\') 
                                      (n)
                                    )
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('    fprintf_unfiltered (log, ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\"'>
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                                      (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                                      (t) (${ VSub_Name function) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (');') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [5509 5524]
                            )
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name predefault))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  if ((GDB_MULTI_ARCH ') (${ VSub_Name gt_level) (')') 
                                      (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('      && (current_gdbarch->') (${ VSub_Name function) 
                                      (' == ') (${ VSub_Name predefault) ('))') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('    fprintf_unfiltered (log, ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\"'>
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                                      (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                                      (t) (${ VSub_Name function) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (');') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [5574 5589]
                            )
                          ]
                          spids: [16777215 5643]
                        )
                      ]
                      spids: [16777215 5277]
                    )
                  ]
                  spids: [16777215 5646]
                )
              ]
              spids: [5265 5648]
            )
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('  buf = ui_file_xstrdup (log, &dummy);\n') ('  make_cleanup (xfree, buf);\n') 
                ('  if (strlen (buf) > 0)\n') ('    internal_error (__FILE__, __LINE__,\n') ('                    ') (Right_DoubleQuote '"') 
                ('verify_gdbarch: the following are invalid ...%s') (Right_DoubleQuote '"') (',\n') ('                    buf);\n') ('  do_cleanups (cleanups);\n') ('}\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [5652]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('/* Print out the details of the current architecture. */\n') ('\n') 
                ('/* NOTE/WARNING: The parameter is called ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                ("current_gdbarch'' so that it\n") ('   just happens to match the global variable ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("current_gdbarch''.  That\n") 
                ('   way macros refering to that variable get the local and not the global\n') ('   version - ulgh.  Once everything is parameterised with gdbarch, this\n') 
                ('   will go away. */\n') ('\n') ('void\n') ('gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)\n') ('{\n') 
                ('  fprintf_unfiltered (file,\n') ('                      ') (Right_DoubleQuote '"') ('gdbarch_dump: GDB_MULTI_ARCH = %d') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) (Right_DoubleQuote '"') (',\n') ('                      GDB_MULTI_ARCH);\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [5688]
        )
      ]
    )
    (Pipeline
      children: [
        (C {(function_list)})
        (C {(sort)} {(-t) (Lit_Other ':')} {(-k)} {(3)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_predicate_p)})]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [(C {(class_is_multiarch_p)})]
                              action: [
                                (C {(printf)} 
                                  {(DQ ('  fprintf_unfiltered (file,') (Lit_Other '\\') (n))}
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('                      ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\"'>
                                      ) ('gdbarch_dump: gdbarch_') (${ VSub_Name function) ('_p() = %%d') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\\\'>
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\"'>
                                      ) (',') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('                      gdbarch_') (${ VSub_Name function) 
                                      ('_p (current_gdbarch));') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 5757]
                            )
                          ]
                          else_action: [
                            (C {(printf)} 
                              {(DQ ('#ifdef ') (${ VSub_Name macro) (_P) (Lit_Other '\\') (n))}
                            )
                            (C {(printf)} {(DQ ('  fprintf_unfiltered (file,') (Lit_Other '\\') (n))})
                            (C {(printf)} 
                              {
                                (DQ ('                      ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) ('gdbarch_dump: %%s # %%s') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\\\'>
                                  ) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('                      ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) (${ VSub_Name macro) ('_P()') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',') (Lit_Other '\\') 
                                  (n)
                                )
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('                      XSTRING (') (${ VSub_Name macro) 
                                  ('_P ()));') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} {(DQ ('  fprintf_unfiltered (file,') (Lit_Other '\\') (n))})
                            (C {(printf)} 
                              {
                                (DQ ('                      ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) ('gdbarch_dump: ') (${ VSub_Name macro) ('_P() = %%d') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\\\'>
                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) (',') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} 
                              {
                                (DQ ('                      ') (${ VSub_Name macro) ('_P ());') 
                                  (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
                          ]
                          spids: [5802 5923]
                        )
                      ]
                      spids: [16777215 5749]
                    )
                  ]
                  spids: [16777215 5926]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_multiarch_p)})]
                      action: [
                        (C {(printf)} {(DQ ('  fprintf_unfiltered (file,') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('                      ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) ('gdbarch_dump: ') (${ VSub_Name function) (' = 0x%%08lx') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (',') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('                      (long) current_gdbarch->') 
                              (${ VSub_Name function) (');') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (ControlFlow token:<ControlFlow_Continue continue>)
                      ]
                      spids: [16777215 5938]
                    )
                  ]
                  spids: [16777215 5986]
                )
                (C {(printf)} {(DQ ('#ifdef ') (${ VSub_Name macro) (Lit_Other '\\') (n))})
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_function_p)})]
                      action: [
                        (C {(printf)} {(DQ ('  fprintf_unfiltered (file,') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('                      ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) ('gdbarch_dump: %%s # %%s') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('                      ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (${ VSub_Name macro) ('(') (${ VSub_Name actual) (')') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                              (',') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('                      XSTRING (') (${ VSub_Name macro) (' (') 
                              (${ VSub_Name actual) (')));') (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [16777215 6010]
                    )
                  ]
                  else_action: [
                    (C {(printf)} {(DQ ('  fprintf_unfiltered (file,') (Lit_Other '\\') (n))})
                    (C {(printf)} 
                      {
                        (DQ ('                      ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('gdbarch_dump: ') (${ VSub_Name macro) (' # %%s') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar '\\\\'>
                          ) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',') (Lit_Other '\\') (n)
                        )
                      }
                    )
                    (C {(printf)} 
                      {
                        (DQ ('                      XSTRING (') (${ VSub_Name macro) ('));') 
                          (Lit_Other '\\') (n)
                        )
                      }
                    )
                  ]
                  spids: [6075 6120]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name print_p))} {(Lit_Other '=')} 
                          {(DQ ('x()'))} {(Lit_Other ']')}
                        )
                      ]
                      action: [
                        (C {(printf)} 
                          {
                            (DQ ('  gdbarch_dump_') (${ VSub_Name function) (' (current_gdbarch);') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [16777215 6143]
                    )
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name print_p))} {(Lit_Other '=')} 
                          {(DQ (x0))} {(Lit_Other ']')}
                        )
                      ]
                      action: [
                        (C {(printf)} 
                          {
                            (DQ ('  /* skip print of ') (${ VSub_Name macro) (', print_p == 0. */') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [6159 6179]
                    )
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name print_p))} {(Lit_Other ']')})
                      ]
                      action: [
                        (C {(printf)} 
                          {(DQ ('  if (') (${ VSub_Name print_p) (')') (Lit_Other '\\') (n))}
                        )
                        (C {(printf)} {(DQ ('    fprintf_unfiltered (file,') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('                        ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) ('gdbarch_dump: ') (${ VSub_Name macro) (' = %s') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',') (Lit_Other '\\') (n)
                            )
                          } {(DQ (${ VSub_Name fmt))}
                        )
                        (C {(printf)} 
                          {
                            (DQ ('                        ') (${ VSub_Name print) (');') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [6195 6210]
                    )
                    (if_arm
                      cond: [(C {(class_is_function_p)})]
                      action: [
                        (C {(printf)} {(DQ ('  fprintf_unfiltered (file,') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('                      ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) ('gdbarch_dump: ') (${ VSub_Name macro) (' = <0x%%08lx>') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (',') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('                      (long) current_gdbarch->') 
                              (${ VSub_Name function) (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('                      /*') (${ VSub_Name macro) (' ()*/);') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [6274 6279]
                    )
                  ]
                  else_action: [
                    (C {(printf)} {(DQ ('  fprintf_unfiltered (file,') (Lit_Other '\\') (n))})
                    (C {(printf)} 
                      {
                        (DQ ('                      ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('gdbarch_dump: ') (${ VSub_Name macro) (' = %s') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar '\\\\'>
                          ) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',') (Lit_Other '\\') (n)
                        )
                      } {(DQ (${ VSub_Name fmt))}
                    )
                    (C {(printf)} 
                      {
                        (DQ ('                      ') (${ VSub_Name print) (');') (Lit_Other '\\') (n))
                      }
                    )
                  ]
                  spids: [6336 6387]
                )
                (C {(printf)} {(DQ ('#endif') (Lit_Other '\\') (n))})
              ]
              spids: [5737 6398]
            )
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('  if (current_gdbarch->dump_tdep != NULL)\n') 
                ('    current_gdbarch->dump_tdep (current_gdbarch, file);\n') ('}\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [6402]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('struct gdbarch_tdep *\n') ('gdbarch_tdep (struct gdbarch *gdbarch)\n') ('{\n') 
                ('  if (gdbarch_debug >= 2)\n') ('    fprintf_unfiltered (gdb_stdlog, ') (Right_DoubleQuote '"') ('gdbarch_tdep called') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) (Right_DoubleQuote '"') (');\n') ('  return gdbarch->tdep;\n') ('}\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [6423]
        )
      ]
    )
    (C {(printf)} {(DQ (Lit_Other '\\') (n))})
    (Pipeline
      children: [
        (C {(function_list)})
        (While
          cond: [(C {(do_read)})]
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_predicate_p)})]
                      action: [
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ (int) (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ (gdbarch_) (${ VSub_Name function) ('_p (struct gdbarch *gdbarch)') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('{') (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ ('  gdb_assert (gdbarch != NULL);') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {(DQ ('  return ') (${ VSub_Name predicate) (';') (Lit_Other '\\') (n))}
                        )
                        (C {(printf)} {(DQ ('}') (Lit_Other '\\') (n))})
                      ]
                      spids: [16777215 6463]
                    )
                  ]
                  spids: [16777215 6536]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(class_is_function_p)})]
                      action: [
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ (${ VSub_Name returntype) (Lit_Other '\\') (n))})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name formal))} {(Lit_Other '=')} 
                                  {(DQ (xvoid))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ (gdbarch_) (${ VSub_Name function) 
                                      (' (struct gdbarch *gdbarch)') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 6586]
                            )
                          ]
                          else_action: [
                            (C {(printf)} 
                              {
                                (DQ (gdbarch_) (${ VSub_Name function) (' (struct gdbarch *gdbarch, ') 
                                  (${ VSub_Name formal) (')') (Lit_Other '\\') (n)
                                )
                              }
                            )
                          ]
                          spids: [6602 6622]
                        )
                        (C {(printf)} {(DQ ('{') (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ ('  gdb_assert (gdbarch != NULL);') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('  gdb_assert (gdbarch->') (${ VSub_Name function) (' != NULL);') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(class_is_predicate_p)})
                                    (C {(test)} {(-n)} {(DQ (${ VSub_Name predefault))})
                                  ]
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  /* Do not check predicate: ') (${ VSub_Name predicate) 
                                      (', allow call.  */') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 6673]
                            )
                          ]
                          spids: [16777215 6693]
                        )
                        (C {(printf)} {(DQ ('  if (gdbarch_debug >= 2)') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('    fprintf_unfiltered (gdb_stdlog, ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (gdbarch_) (${ VSub_Name function) (' called') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (');') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name actual))} {(Lit_Other '=')} 
                                  {(DQ (x-))} {(-o)} {(DQ (x) (${ VSub_Name actual))} {(Lit_Other '=')} {(DQ (x))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [(C {(class_is_multiarch_p)})]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:params)
                                              op: Equal
                                              rhs: {(DQ (gdbarch))}
                                              spids: [6771]
                                            )
                                          ]
                                          spids: [6771]
                                        )
                                      ]
                                      spids: [16777215 6768]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:params)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [6780]
                                        )
                                      ]
                                      spids: [6780]
                                    )
                                  ]
                                  spids: [6777 6785]
                                )
                              ]
                              spids: [16777215 6760]
                            )
                          ]
                          else_action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [(C {(class_is_multiarch_p)})]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:params)
                                          op: Equal
                                          rhs: {(DQ ('gdbarch, ') (${ VSub_Name actual))}
                                          spids: [6799]
                                        )
                                      ]
                                      spids: [6799]
                                    )
                                  ]
                                  spids: [16777215 6796]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:params)
                                      op: Equal
                                      rhs: {(DQ (${ VSub_Name actual))}
                                      spids: [6811]
                                    )
                                  ]
                                  spids: [6811]
                                )
                              ]
                              spids: [6808 6819]
                            )
                          ]
                          spids: [6788 6822]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name returntype))} 
                                  {(Lit_Other '=')} {(DQ (xvoid))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  gdbarch->') (${ VSub_Name function) (' (') 
                                      (${ VSub_Name params) (');') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 6845]
                            )
                          ]
                          else_action: [
                            (C {(printf)} 
                              {
                                (DQ ('  return gdbarch->') (${ VSub_Name function) (' (') 
                                  (${ VSub_Name params) (');') (Lit_Other '\\') (n)
                                )
                              }
                            )
                          ]
                          spids: [6865 6885]
                        )
                        (C {(printf)} {(DQ ('}') (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ (void) (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ (set_gdbarch_) (${ VSub_Name function) (' (struct gdbarch *gdbarch,') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('            ') 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {(${ VSub_Name function)})
                                          (C {(sed)} {(-e)} {(SQ <'s/./ /g'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [6931 6947]
                              ) ('  gdbarch_') (${ VSub_Name function) ('_ftype ') (${ VSub_Name function) (')') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('{') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('  gdbarch->') (${ VSub_Name function) (' = ') (${ VSub_Name function) 
                              (';') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('}') (Lit_Other '\\') (n))})
                      ]
                      spids: [16777215 6544]
                    )
                    (if_arm
                      cond: [(C {(class_is_variable_p)})]
                      action: [
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ (${ VSub_Name returntype) (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ (gdbarch_) (${ VSub_Name function) (' (struct gdbarch *gdbarch)') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('{') (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ ('  gdb_assert (gdbarch != NULL);') (Lit_Other '\\') (n))})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name invalid_p))} 
                                  {(Lit_Other '=')} {(DQ (x0))} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  /* Skip verify of ') (${ VSub_Name function) 
                                      (', invalid_p == 0 */') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 7075]
                            )
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name invalid_p))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {(DQ ('  /* Check variable is valid.  */') (Lit_Other '\\') (n))}
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('  gdb_assert (!(') (${ VSub_Name invalid_p) ('));') 
                                      (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [7091 7106]
                            )
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name predefault))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(printf)} 
                                  {
                                    (DQ ('  /* Check variable changed from pre-default.  */') 
                                      (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                                (C {(printf)} 
                                  {
                                    (DQ ('  gdb_assert (gdbarch->') (${ VSub_Name function) (' != ') 
                                      (${ VSub_Name predefault) (');') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                              ]
                              spids: [7131 7146]
                            )
                          ]
                          spids: [16777215 7175]
                        )
                        (C {(printf)} {(DQ ('  if (gdbarch_debug >= 2)') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('    fprintf_unfiltered (gdb_stdlog, ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (gdbarch_) (${ VSub_Name function) (' called') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (');') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('  return gdbarch->') (${ VSub_Name function) (';') (Lit_Other '\\') (n))
                          }
                        )
                        (C {(printf)} {(DQ ('}') (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ (void) (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ (set_gdbarch_) (${ VSub_Name function) (' (struct gdbarch *gdbarch,') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('            ') 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {(${ VSub_Name function)})
                                          (C {(sed)} {(-e)} {(SQ <'s/./ /g'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [7263 7279]
                              ) ('  ') (${ VSub_Name returntype) (' ') (${ VSub_Name function) (')') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('{') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('  gdbarch->') (${ VSub_Name function) (' = ') (${ VSub_Name function) 
                              (';') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('}') (Lit_Other '\\') (n))})
                      ]
                      spids: [6997 7002]
                    )
                    (if_arm
                      cond: [(C {(class_is_info_p)})]
                      action: [
                        (C {(printf)} {(DQ (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ (${ VSub_Name returntype) (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ (gdbarch_) (${ VSub_Name function) (' (struct gdbarch *gdbarch)') 
                              (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} {(DQ ('{') (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ ('  gdb_assert (gdbarch != NULL);') (Lit_Other '\\') (n))})
                        (C {(printf)} {(DQ ('  if (gdbarch_debug >= 2)') (Lit_Other '\\') (n))})
                        (C {(printf)} 
                          {
                            (DQ ('    fprintf_unfiltered (gdb_stdlog, ') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (gdbarch_) (${ VSub_Name function) (' called') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (');') (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (C {(printf)} 
                          {
                            (DQ ('  return gdbarch->') (${ VSub_Name function) (';') (Lit_Other '\\') (n))
                          }
                        )
                        (C {(printf)} {(DQ ('}') (Lit_Other '\\') (n))})
                      ]
                      spids: [7329 7334]
                    )
                  ]
                  spids: [16777215 7438]
                )
              ]
              spids: [6455 7440]
            )
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('\n') ('\n') 
                ('/* Keep a registry of per-architecture data-pointers required by GDB\n') ('   modules. */\n') ('\n') ('struct gdbarch_data\n') ('{\n') ('  unsigned index;\n') ('  int init_p;\n') 
                ('  gdbarch_data_init_ftype *init;\n') ('};\n') ('\n') ('struct gdbarch_data_registration\n') ('{\n') ('  struct gdbarch_data *data;\n') 
                ('  struct gdbarch_data_registration *next;\n') ('};\n') ('\n') ('struct gdbarch_data_registry\n') ('{\n') ('  unsigned nr;\n') 
                ('  struct gdbarch_data_registration *registrations;\n') ('};\n') ('\n') ('struct gdbarch_data_registry gdbarch_data_registry =\n') ('{\n') ('  0, NULL,\n') 
                ('};\n') ('\n') ('struct gdbarch_data *\n') ('register_gdbarch_data (gdbarch_data_init_ftype *init)\n') ('{\n') 
                ('  struct gdbarch_data_registration **curr;\n') ('  /* Append the new registraration.  */\n') 
                ('  for (curr = &gdbarch_data_registry.registrations;\n') ('       (*curr) != NULL;\n') ('       curr = &(*curr)->next);\n') 
                ('  (*curr) = XMALLOC (struct gdbarch_data_registration);\n') ('  (*curr)->next = NULL;\n') ('  (*curr)->data = XMALLOC (struct gdbarch_data);\n') 
                ('  (*curr)->data->index = gdbarch_data_registry.nr++;\n') ('  (*curr)->data->init = init;\n') ('  (*curr)->data->init_p = 1;\n') ('  return (*curr)->data;\n') 
                ('}\n') ('\n') ('\n') ('/* Create/delete the gdbarch data vector. */\n') ('\n') ('static void\n') 
                ('alloc_gdbarch_data (struct gdbarch *gdbarch)\n') ('{\n') ('  gdb_assert (gdbarch->data == NULL);\n') 
                ('  gdbarch->nr_data = gdbarch_data_registry.nr;\n') ('  gdbarch->data = GDBARCH_OBSTACK_CALLOC (gdbarch, gdbarch->nr_data, void *);\n') ('}\n') ('\n') 
                ('/* Initialize the current value of the specified per-architecture\n') ('   data-pointer. */\n') ('\n') ('void\n') ('set_gdbarch_data (struct gdbarch *gdbarch,\n') 
                ('                  struct gdbarch_data *data,\n') ('                  void *pointer)\n') ('{\n') ('  gdb_assert (data->index < gdbarch->nr_data);\n') 
                ('  gdb_assert (gdbarch->data[data->index] == NULL);\n') ('  gdbarch->data[data->index] = pointer;\n') ('}\n') ('\n') 
                ('/* Return the current value of the specified per-architecture\n') ('   data-pointer. */\n') ('\n') ('void *\n') 
                ('gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *data)\n') ('{\n') ('  gdb_assert (data->index < gdbarch->nr_data);\n') 
                ("  /* The data-pointer isn't initialized, call init() to get a value but\n") ('     only if the architecture initializaiton has completed.  Otherwise\n') 
                ('     punt - hope that the caller knows what they are doing.  */\n') ('  if (gdbarch->data[data->index] == NULL\n') ('      && gdbarch->initialized_p)\n') ('    {\n') 
                ('      /* Be careful to detect an initialization cycle.  */\n') ('      gdb_assert (data->init_p);\n') ('      data->init_p = 0;\n') 
                ('      gdb_assert (data->init != NULL);\n') ('      gdbarch->data[data->index] = data->init (gdbarch);\n') ('      data->init_p = 1;\n') 
                ('      gdb_assert (gdbarch->data[data->index] != NULL);\n') ('    }\n') ('  return gdbarch->data[data->index];\n') ('}\n') ('\n') ('\n') ('\n') 
                ('/* Keep a registry of swapped data required by GDB modules. */\n') ('\n') ('struct gdbarch_swap\n') ('{\n') ('  void *swap;\n') 
                ('  struct gdbarch_swap_registration *source;\n') ('  struct gdbarch_swap *next;\n') ('};\n') ('\n') ('struct gdbarch_swap_registration\n') ('{\n') 
                ('  void *data;\n') ('  unsigned long sizeof_data;\n') ('  gdbarch_swap_ftype *init;\n') 
                ('  struct gdbarch_swap_registration *next;\n') ('};\n') ('\n') ('struct gdbarch_swap_registry\n') ('{\n') ('  int nr;\n') 
                ('  struct gdbarch_swap_registration *registrations;\n') ('};\n') ('\n') ('struct gdbarch_swap_registry gdbarch_swap_registry = \n') ('{\n') ('  0, NULL,\n') 
                ('};\n') ('\n') ('void\n') ('deprecated_register_gdbarch_swap (void *data,\n') 
                ('\t\t                  unsigned long sizeof_data,\n') ('\t\t                  gdbarch_swap_ftype *init)\n') ('{\n') 
                ('  struct gdbarch_swap_registration **rego;\n') ('  for (rego = &gdbarch_swap_registry.registrations;\n') ('       (*rego) != NULL;\n') 
                ('       rego = &(*rego)->next);\n') ('  (*rego) = XMALLOC (struct gdbarch_swap_registration);\n') ('  (*rego)->next = NULL;\n') 
                ('  (*rego)->init = init;\n') ('  (*rego)->data = data;\n') ('  (*rego)->sizeof_data = sizeof_data;\n') ('}\n') ('\n') 
                ('static void\n') ('current_gdbarch_swap_init_hack (void)\n') ('{\n') ('  struct gdbarch_swap_registration *rego;\n') 
                ('  struct gdbarch_swap **curr = &current_gdbarch->swap;\n') ('  for (rego = gdbarch_swap_registry.registrations;\n') ('       rego != NULL;\n') 
                ('       rego = rego->next)\n') ('    {\n') ('      if (rego->data != NULL)\n') ('\t{\n') 
                ('\t  (*curr) = GDBARCH_OBSTACK_ZALLOC (current_gdbarch,\n') ('\t\t\t\t\t    struct gdbarch_swap);\n') ('\t  (*curr)->source = rego;\n') 
                ('\t  (*curr)->swap = gdbarch_obstack_zalloc (current_gdbarch,\n') ('\t\t\t\t\t\t  rego->sizeof_data);\n') ('\t  (*curr)->next = NULL;\n') 
                ('\t  curr = &(*curr)->next;\n') ('\t}\n') ('      if (rego->init != NULL)\n') ('\trego->init ();\n') ('    }\n') ('}\n') ('\n') 
                ('static struct gdbarch *\n') ('current_gdbarch_swap_out_hack (void)\n') ('{\n') 
                ('  struct gdbarch *old_gdbarch = current_gdbarch;\n') ('  struct gdbarch_swap *curr;\n') ('\n') ('  gdb_assert (old_gdbarch != NULL);\n') 
                ('  for (curr = old_gdbarch->swap;\n') ('       curr != NULL;\n') ('       curr = curr->next)\n') ('    {\n') 
                ('      memcpy (curr->swap, curr->source->data, curr->source->sizeof_data);\n') ('      memset (curr->source->data, 0, curr->source->sizeof_data);\n') ('    }\n') 
                ('  current_gdbarch = NULL;\n') ('  return old_gdbarch;\n') ('}\n') ('\n') ('static void\n') 
                ('current_gdbarch_swap_in_hack (struct gdbarch *new_gdbarch)\n') ('{\n') ('  struct gdbarch_swap *curr;\n') ('\n') ('  gdb_assert (current_gdbarch == NULL);\n') 
                ('  for (curr = new_gdbarch->swap;\n') ('       curr != NULL;\n') ('       curr = curr->next)\n') 
                ('    memcpy (curr->source->data, curr->swap, curr->source->sizeof_data);\n') ('  current_gdbarch = new_gdbarch;\n') ('}\n') ('\n') ('\n') 
                ('/* Keep a registry of the architectures known by GDB. */\n') ('\n') ('struct gdbarch_registration\n') ('{\n') ('  enum bfd_architecture bfd_architecture;\n') 
                ('  gdbarch_init_ftype *init;\n') ('  gdbarch_dump_tdep_ftype *dump_tdep;\n') ('  struct gdbarch_list *arches;\n') 
                ('  struct gdbarch_registration *next;\n') ('};\n') ('\n') ('static struct gdbarch_registration *gdbarch_registry = NULL;\n') ('\n') 
                ('static void\n') ('append_name (const char ***buf, int *nr, const char *name)\n') ('{\n') 
                ('  *buf = xrealloc (*buf, sizeof (char**) * (*nr + 1));\n') ('  (*buf)[*nr] = name;\n') ('  *nr += 1;\n') ('}\n') ('\n') ('const char **\n') 
                ('gdbarch_printable_names (void)\n') ('{\n') ('  /* Accumulate a list of names based on the registed list of\n') 
                ('     architectures. */\n') ('  enum bfd_architecture a;\n') ('  int nr_arches = 0;\n') ('  const char **arches = NULL;\n') 
                ('  struct gdbarch_registration *rego;\n') ('  for (rego = gdbarch_registry;\n') ('       rego != NULL;\n') ('       rego = rego->next)\n') 
                ('    {\n') ('      const struct bfd_arch_info *ap;\n') 
                ('      ap = bfd_lookup_arch (rego->bfd_architecture, 0);\n') ('      if (ap == NULL)\n') ('        internal_error (__FILE__, __LINE__,\n') 
                ('                        ') (Right_DoubleQuote '"') ('gdbarch_architecture_names: multi-arch unknown') (Right_DoubleQuote '"') 
                (');\n') ('      do\n') ('        {\n') ('          append_name (&arches, &nr_arches, ap->printable_name);\n') 
                ('          ap = ap->next;\n') ('        }\n') ('      while (ap != NULL);\n') ('    }\n') 
                ('  append_name (&arches, &nr_arches, NULL);\n') ('  return arches;\n') ('}\n') ('\n') ('\n') ('void\n') 
                ('gdbarch_register (enum bfd_architecture bfd_architecture,\n') ('                  gdbarch_init_ftype *init,\n') ('\t\t  gdbarch_dump_tdep_ftype *dump_tdep)\n') 
                ('{\n') ('  struct gdbarch_registration **curr;\n') ('  const struct bfd_arch_info *bfd_arch_info;\n') 
                ('  /* Check that BFD recognizes this architecture */\n') ('  bfd_arch_info = bfd_lookup_arch (bfd_architecture, 0);\n') ('  if (bfd_arch_info == NULL)\n') 
                ('    {\n') ('      internal_error (__FILE__, __LINE__,\n') ('                      ') (Right_DoubleQuote '"') 
                ('gdbarch: Attempt to register unknown architecture (%d)') (Right_DoubleQuote '"') (',\n') ('                      bfd_architecture);\n') ('    }\n') 
                ("  /* Check that we haven't seen this architecture before */\n") ('  for (curr = &gdbarch_registry;\n') ('       (*curr) != NULL;\n') 
                ('       curr = &(*curr)->next)\n') ('    {\n') ('      if (bfd_architecture == (*curr)->bfd_architecture)\n') 
                ('\tinternal_error (__FILE__, __LINE__,\n') ('                        ') (Right_DoubleQuote '"') 
                ('gdbarch: Duplicate registraration of architecture (%s)') (Right_DoubleQuote '"') (',\n') ('\t                bfd_arch_info->printable_name);\n') ('    }\n') 
                ('  /* log it */\n') ('  if (gdbarch_debug)\n') ('    fprintf_unfiltered (gdb_stdlog, ') (Right_DoubleQuote '"') 
                ('register_gdbarch_init (%s, 0x%08lx)') (Lit_Other '\\') (n) (Right_DoubleQuote '"') (',\n') ('\t\t\tbfd_arch_info->printable_name,\n') 
                ('\t\t\t(long) init);\n') ('  /* Append it */\n') ('  (*curr) = XMALLOC (struct gdbarch_registration);\n') 
                ('  (*curr)->bfd_architecture = bfd_architecture;\n') ('  (*curr)->init = init;\n') ('  (*curr)->dump_tdep = dump_tdep;\n') ('  (*curr)->arches = NULL;\n') 
                ('  (*curr)->next = NULL;\n') ('}\n') ('\n') ('void\n') ('register_gdbarch_init (enum bfd_architecture bfd_architecture,\n') 
                ('\t\t       gdbarch_init_ftype *init)\n') ('{\n') ('  gdbarch_register (bfd_architecture, init, NULL);\n') ('}\n') ('\n') ('\n') 
                ('/* Look for an architecture using gdbarch_info.  Base search on only\n') ('   BFD_ARCH_INFO and BYTE_ORDER. */\n') ('\n') ('struct gdbarch_list *\n') 
                ('gdbarch_list_lookup_by_info (struct gdbarch_list *arches,\n') ('                             const struct gdbarch_info *info)\n') ('{\n') 
                ('  for (; arches != NULL; arches = arches->next)\n') ('    {\n') ('      if (info->bfd_arch_info != arches->gdbarch->bfd_arch_info)\n') ('\tcontinue;\n') 
                ('      if (info->byte_order != arches->gdbarch->byte_order)\n') ('\tcontinue;\n') ('      if (info->osabi != arches->gdbarch->osabi)\n') ('\tcontinue;\n') 
                ('      return arches;\n') ('    }\n') ('  return NULL;\n') ('}\n') ('\n') ('\n') 
                ('/* Find an architecture that matches the specified INFO.  Create a new\n') ('   architecture if needed.  Return that new architecture.  Assumes\n') 
                ('   that there is no current architecture.  */\n') ('\n') ('static struct gdbarch *\n') 
                ('find_arch_by_info (struct gdbarch *old_gdbarch, struct gdbarch_info info)\n') ('{\n') ('  struct gdbarch *new_gdbarch;\n') ('  struct gdbarch_registration *rego;\n') ('\n') 
                ('  /* The existing architecture has been swapped out - all this code\n') ('     works from a clean slate.  */\n') ('  gdb_assert (current_gdbarch == NULL);\n') ('\n') 
                ('  /* Fill in missing parts of the INFO struct using a number of\n') ('     sources: ') (Right_DoubleQuote '"') ('set ...') (Right_DoubleQuote '"') 
                ('; INFOabfd supplied; and the existing\n') ('     architecture.  */\n') ('  gdbarch_info_fill (old_gdbarch, &info);\n') ('\n') 
                ('  /* Must have found some sort of architecture. */\n') ('  gdb_assert (info.bfd_arch_info != NULL);\n') ('\n') ('  if (gdbarch_debug)\n') ('    {\n') 
                ('      fprintf_unfiltered (gdb_stdlog,\n') ('\t\t\t  ') (Right_DoubleQuote '"') ('find_arch_by_info: info.bfd_arch_info %s') (Lit_Other '\\') (n) 
                (Right_DoubleQuote '"') (',\n') ('\t\t\t  (info.bfd_arch_info != NULL\n') ('\t\t\t   ? info.bfd_arch_info->printable_name\n') 
                ('\t\t\t   : ') (Right_DoubleQuote '"') ('(null)') (Right_DoubleQuote '"') ('));\n') 
                ('      fprintf_unfiltered (gdb_stdlog,\n') ('\t\t\t  ') (Right_DoubleQuote '"') ('find_arch_by_info: info.byte_order %d (%s)') (Lit_Other '\\') (n) 
                (Right_DoubleQuote '"') (',\n') ('\t\t\t  info.byte_order,\n') ('\t\t\t  (info.byte_order == BFD_ENDIAN_BIG ? ') 
                (Right_DoubleQuote '"') (big) (Right_DoubleQuote '"') ('\n') ('\t\t\t   : info.byte_order == BFD_ENDIAN_LITTLE ? ') 
                (Right_DoubleQuote '"') (little) (Right_DoubleQuote '"') ('\n') ('\t\t\t   : ') (Right_DoubleQuote '"') (default) 
                (Right_DoubleQuote '"') ('));\n') ('      fprintf_unfiltered (gdb_stdlog,\n') ('\t\t\t  ') (Right_DoubleQuote '"') 
                ('find_arch_by_info: info.osabi %d (%s)') (Lit_Other '\\') (n) (Right_DoubleQuote '"') (',\n') 
                ('\t\t\t  info.osabi, gdbarch_osabi_name (info.osabi));\n') ('      fprintf_unfiltered (gdb_stdlog,\n') ('\t\t\t  ') (Right_DoubleQuote '"') 
                ('find_arch_by_info: info.abfd 0x%lx') (Lit_Other '\\') (n) (Right_DoubleQuote '"') (',\n') ('\t\t\t  (long) info.abfd);\n') 
                ('      fprintf_unfiltered (gdb_stdlog,\n') ('\t\t\t  ') (Right_DoubleQuote '"') ('find_arch_by_info: info.tdep_info 0x%lx') (Lit_Other '\\') (n) 
                (Right_DoubleQuote '"') (',\n') ('\t\t\t  (long) info.tdep_info);\n') ('    }\n') ('\n') 
                ('  /* Find the tdep code that knows about this architecture.  */\n') ('  for (rego = gdbarch_registry;\n') ('       rego != NULL;\n') ('       rego = rego->next)\n') 
                ('    if (rego->bfd_architecture == info.bfd_arch_info->arch)\n') ('      break;\n') ('  if (rego == NULL)\n') ('    {\n') ('      if (gdbarch_debug)\n') 
                ('\tfprintf_unfiltered (gdb_stdlog, ') (Right_DoubleQuote '"') ('find_arch_by_info: ') (Right_DoubleQuote '"') ('\n') ('\t\t\t    ') 
                (Right_DoubleQuote '"') ('No matching architecture') (Lit_Other '\\') (n) (Right_DoubleQuote '"') (');\n') ('      return 0;\n') 
                ('    }\n') ('\n') ('  /* Ask the tdep code for an architecture that matches ') (Right_DoubleQuote '"') (info) 
                (Right_DoubleQuote '"') ('.  */\n') ('  new_gdbarch = rego->init (info, rego->arches);\n') ('\n') 
                ('  /* Did the tdep code like it?  No.  Reject the change and revert to\n') ('     the old architecture.  */\n') ('  if (new_gdbarch == NULL)\n') ('    {\n') 
                ('      if (gdbarch_debug)\n') ('\tfprintf_unfiltered (gdb_stdlog, ') (Right_DoubleQuote '"') ('find_arch_by_info: ') 
                (Right_DoubleQuote '"') ('\n') ('\t\t\t    ') (Right_DoubleQuote '"') ('Target rejected architecture') (Lit_Other '\\') (n) 
                (Right_DoubleQuote '"') (');\n') ('      return NULL;\n') ('    }\n') ('\n') 
                ('  /* Is this a pre-existing architecture (as determined by already\n') ('     being initialized)?  Move it to the front of the architecture\n') 
                ('     list (keeping the list sorted Most Recently Used).  */\n') ('  if (new_gdbarch->initialized_p)\n') ('    {\n') ('      struct gdbarch_list **list;\n') 
                ('      struct gdbarch_list *this;\n') ('      if (gdbarch_debug)\n') ('\tfprintf_unfiltered (gdb_stdlog, ') (Right_DoubleQuote '"') 
                ('find_arch_by_info: ') (Right_DoubleQuote '"') ('\n') ('\t\t\t    ') (Right_DoubleQuote '"') 
                ('Previous architecture 0x%08lx (%s) selected') (Lit_Other '\\') (n) (Right_DoubleQuote '"') (',\n') ('\t\t\t    (long) new_gdbarch,\n') 
                ('\t\t\t    new_gdbarch->bfd_arch_info->printable_name);\n') ('      /* Find the existing arch in the list.  */\n') ('      for (list = &rego->arches;\n') 
                ('\t   (*list) != NULL && (*list)->gdbarch != new_gdbarch;\n') ('\t   list = &(*list)->next);\n') ('      /* It had better be in the list of architectures.  */\n') 
                ('      gdb_assert ((*list) != NULL && (*list)->gdbarch == new_gdbarch);\n') ('      /* Unlink THIS.  */\n') ('      this = (*list);\n') ('      (*list) = this->next;\n') 
                ('      /* Insert THIS at the front.  */\n') ('      this->next = rego->arches;\n') ('      rego->arches = this;\n') ('      /* Return it.  */\n') 
                ('      return new_gdbarch;\n') ('    }\n') ('\n') ("  /* It's a new architecture.  */\n") ('  if (gdbarch_debug)\n') 
                ('    fprintf_unfiltered (gdb_stdlog, ') (Right_DoubleQuote '"') ('find_arch_by_info: ') (Right_DoubleQuote '"') ('\n') ('\t\t\t') 
                (Right_DoubleQuote '"') ('New architecture 0x%08lx (%s) selected') (Lit_Other '\\') (n) (Right_DoubleQuote '"') (',\n') 
                ('\t\t\t(long) new_gdbarch,\n') ('\t\t\tnew_gdbarch->bfd_arch_info->printable_name);\n') ('  \n') 
                ('  /* Insert the new architecture into the front of the architecture\n') ('     list (keep the list sorted Most Recently Used).  */\n') ('  {\n') 
                ('    struct gdbarch_list *this = XMALLOC (struct gdbarch_list);\n') ('    this->next = rego->arches;\n') ('    this->gdbarch = new_gdbarch;\n') 
                ('    rego->arches = this;\n') ('  }    \n') ('\n') ('  /* Check that the newly installed architecture is valid.  Plug in\n') 
                ('     any post init values.  */\n') ('  new_gdbarch->dump_tdep = rego->dump_tdep;\n') ('  verify_gdbarch (new_gdbarch);\n') 
                ('  new_gdbarch->initialized_p = 1;\n') ('\n') ('  /* Initialize any per-architecture swap areas.  This phase requires\n') 
                ('     a valid global CURRENT_GDBARCH.  Set it momentarially, and then\n') ('     swap the entire architecture out.  */\n') ('  current_gdbarch = new_gdbarch;\n') 
                ('  current_gdbarch_swap_init_hack ();\n') ('  current_gdbarch_swap_out_hack ();\n') ('\n') ('  if (gdbarch_debug)\n') 
                ('    gdbarch_dump (new_gdbarch, gdb_stdlog);\n') ('\n') ('  return new_gdbarch;\n') ('}\n') ('\n') ('struct gdbarch *\n') 
                ('gdbarch_find_by_info (struct gdbarch_info info)\n') ('{\n') ('  /* Save the previously selected architecture, setting the global to\n') 
                ('     NULL.  This stops things like gdbarch->init() trying to use the\n') ("     previous architecture's configuration.  The previous architecture\n") 
                ('     may not even be of the same architecture family.  The most recent\n') ('     architecture of the same family is found at the head of the\n') 
                ('     rego->arches list.  */\n') ('  struct gdbarch *old_gdbarch = current_gdbarch_swap_out_hack ();\n') ('\n') 
                ('  /* Find the specified architecture.  */\n') ('  struct gdbarch *new_gdbarch = find_arch_by_info (old_gdbarch, info);\n') ('\n') 
                ('  /* Restore the existing architecture.  */\n') ('  gdb_assert (current_gdbarch == NULL);\n') ('  current_gdbarch_swap_in_hack (old_gdbarch);\n') 
                ('\n') ('  return new_gdbarch;\n') ('}\n') ('\n') 
                ('/* Make the specified architecture current, swapping the existing one\n') ('   out.  */\n') ('\n') ('void\n') 
                ('deprecated_current_gdbarch_select_hack (struct gdbarch *new_gdbarch)\n') ('{\n') ('  gdb_assert (new_gdbarch != NULL);\n') ('  gdb_assert (current_gdbarch != NULL);\n') 
                ('  gdb_assert (new_gdbarch->initialized_p);\n') ('  current_gdbarch_swap_out_hack ();\n') ('  current_gdbarch_swap_in_hack (new_gdbarch);\n') 
                ('  architecture_changed_event ();\n') ('}\n') ('\n') ('extern void _initialize_gdbarch (void);\n') ('\n') ('void\n') 
                ('_initialize_gdbarch (void)\n') ('{\n') ('  struct cmd_list_element *c;\n') ('\n') ('  add_show_from_set (add_set_cmd (') 
                (Right_DoubleQuote '"') (arch) (Right_DoubleQuote '"') (',\n') ('\t\t\t\t  class_maintenance,\n') ('\t\t\t\t  var_zinteger,\n') 
                ('\t\t\t\t  (char *)&gdbarch_debug,\n') ('\t\t\t\t  ') (Right_DoubleQuote '"') ('Set architecture debugging.') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('\n') 
                ('When non-zero, architecture debugging is enabled.') (Right_DoubleQuote '"') (', &setdebuglist),\n') ('\t\t     &showdebuglist);\n') ('  c = add_set_cmd (') 
                (Right_DoubleQuote '"') (archdebug) (Right_DoubleQuote '"') (',\n') ('\t\t   class_maintenance,\n') ('\t\t   var_zinteger,\n') 
                ('\t\t   (char *)&gdbarch_debug,\n') ('\t\t   ') (Right_DoubleQuote '"') ('Set architecture debugging.') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('\n') 
                ('When non-zero, architecture debugging is enabled.') (Right_DoubleQuote '"') (', &setlist);\n') ('\n') ('  deprecate_cmd (c, ') (Right_DoubleQuote '"') 
                ('set debug arch') (Right_DoubleQuote '"') (');\n') ('  deprecate_cmd (add_show_from_set (c, &showlist), ') 
                (Right_DoubleQuote '"') ('show debug arch') (Right_DoubleQuote '"') (');\n') ('}\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [7448]
        )
      ]
    )
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[8112])]
    )
    (C {(compare_new)} {(gdbarch.c)})
  ]
)