(command.CommandList
  children: [
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Pipeline
                          children: [
                            (C {<grep>} {<-q>} {(DQ ($ Id.VSub_Number '$2'))} 
                              {(DQ ($ Id.VSub_Number '$1'))}
                            )
                          ]
                          negated: T
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ <'Did not find expected error in '> ($ Id.VSub_Number '$1') <':'>)})
                    (C {<echo>} {(DQ <'   '> ($ Id.VSub_Number '$2'))})
                    (C {<echo>} {(DQ )})
                    (C {<echo>} {(DQ <'Actual error output below:'>)})
                    (C {<cat>} {(DQ ($ Id.VSub_Number '$1'))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [78 95]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: check_missing
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (C {<grep>} {<-q>} {(DQ ($ Id.VSub_Number '$2'))} {(DQ ($ Id.VSub_Number '$1'))})
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ <'Found unexpected error in '> ($ Id.VSub_Number '$1') <':'>)})
                    (C {<echo>} {(DQ <'   '> ($ Id.VSub_Number '$2'))})
                    (C {<echo>} {(DQ )})
                    (C {<echo>} {(DQ <'Actual error output below:'>)})
                    (C {<cat>} {(DQ ($ Id.VSub_Number '$1'))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [152 167]
                )
              ]
            )
          ]
        )
    )
    (C {<check>} {<debug_msg.err>} 
      {(DQ <'debug_msg.o:debug_msg.cc:fn_array: error: undefined reference to \'undef_fn1()\''>)}
    )
    (C {<check>} {<debug_msg.err>} 
      {(DQ <'debug_msg.o:debug_msg.cc:fn_array: error: undefined reference to \'undef_fn2()\''>)}
    )
    (C {<check>} {<debug_msg.err>} 
      {(DQ <'debug_msg.o:debug_msg.cc:badref1: error: undefined reference to \'undef_int\''>)}
    )
    (C {<check>} {<debug_msg.err>} 
      {(DQ <'.*/debug_msg.cc:50: error: undefined reference to \'undef_fn1()\''>)}
    )
    (C {<check>} {<debug_msg.err>} 
      {(DQ <'.*/debug_msg.cc:55: error: undefined reference to \'undef_fn2()\''>)}
    )
    (C {<check>} {<debug_msg.err>} 
      {(DQ <'.*/debug_msg.cc:4[356]: error: undefined reference to \'undef_fn1()\''>)}
    )
    (C {<check>} {<debug_msg.err>} 
      {(DQ <'.*/debug_msg.cc:4[456]: error: undefined reference to \'undef_fn2()\''>)}
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<test>} {(DQ ($ Id.VSub_DollarName '$DEFAULT_TARGET'))} 
                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <powerpc>)}
                )
              ]
            )
          action: [
            (C {<check>} {<debug_msg.err>} 
              {(DQ <'.*/debug_msg.cc:.*: error: undefined reference to \'undef_int\''>)}
            )
          ]
          spids: [289 304]
        )
      ]
    )
    (C {<check>} {<debug_msg.err>} 
      {
        (DQ 
          <
': symbol \'Ordering::operator()(int, int)\' defined in multiple places (possible ODR violation):'
          >
        )
      }
    )
    (C {<check>} {<debug_msg.err>} {(DQ <'odr_violation1.cc:6'>)})
    (C {<check>} {<debug_msg.err>} {(DQ <'odr_violation2.cc:1[256]'>)})
    (C {<check_missing>} {<debug_msg.err>} {(DQ <'OdrDerived::~OdrDerived()'>)})
    (C {<check_missing>} {<debug_msg.err>} {(DQ <__adjust_heap>)})
    (C {<check_missing>} {<debug_msg.err>} 
      {(DQ <': symbol \'OverriddenCFunction\' defined in multiple places (possible ODR violation):'>)}
    )
    (C {<check_missing>} {<debug_msg.err>} {(DQ <'odr_violation1.cc:1[6-8]'>)})
    (C {<check_missing>} {<debug_msg.err>} {(DQ <'odr_violation2.cc:2[3-5]'>)})
    (C {<check>} {<debug_msg.err>} 
      {
        (DQ 
          <
': symbol \'SometimesInlineFunction(int)\' defined in multiple places (possible ODR violation):'
          >
        )
      }
    )
    (C {<check>} {<debug_msg.err>} {(DQ <'debug_msg.cc:6[89]'>)})
    (C {<check>} {<debug_msg.err>} {(DQ <'odr_violation2.cc:2[7-9]'>)})
    (command.If
      arms: [
        (if_arm
          cond: (condition.Shell commands:[(C {<test>} {<-r>} {<debug_msg_cdebug.err>})])
          action: [
            (C {<check>} {<debug_msg_cdebug.err>} 
              {
                (DQ 
                  <
'debug_msg_cdebug.o:debug_msg.cc:fn_array: error: undefined reference to \'undef_fn1()\''
                  >
                )
              }
            )
            (C {<check>} {<debug_msg_cdebug.err>} 
              {
                (DQ 
                  <
'debug_msg_cdebug.o:debug_msg.cc:fn_array: error: undefined reference to \'undef_fn2()\''
                  >
                )
              }
            )
            (C {<check>} {<debug_msg_cdebug.err>} 
              {
                (DQ 
                  <
'debug_msg_cdebug.o:debug_msg.cc:badref1: error: undefined reference to \'undef_int\''
                  >
                )
              }
            )
            (C {<check>} {<debug_msg_cdebug.err>} 
              {(DQ <'.*/debug_msg.cc:50: error: undefined reference to \'undef_fn1()\''>)}
            )
            (C {<check>} {<debug_msg_cdebug.err>} 
              {(DQ <'.*/debug_msg.cc:55: error: undefined reference to \'undef_fn2()\''>)}
            )
            (C {<check>} {<debug_msg_cdebug.err>} 
              {(DQ <'.*/debug_msg.cc:4[356]: error: undefined reference to \'undef_fn1()\''>)}
            )
            (C {<check>} {<debug_msg_cdebug.err>} 
              {(DQ <'.*/debug_msg.cc:4[456]: error: undefined reference to \'undef_fn2()\''>)}
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$DEFAULT_TARGET'))} 
                          {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <powerpc>)}
                        )
                      ]
                    )
                  action: [
                    (C {<check>} {<debug_msg_cdebug.err>} 
                      {(DQ <'.*/debug_msg.cc:.*: error: undefined reference to \'undef_int\''>)}
                    )
                  ]
                  spids: [503 519]
                )
              ]
            )
            (C {<check>} {<debug_msg_cdebug.err>} 
              {
                (DQ 
                  <
': symbol \'Ordering::operator()(int, int)\' defined in multiple places (possible ODR violation):'
                  >
                )
              }
            )
            (C {<check>} {<debug_msg_cdebug.err>} {(DQ <'odr_violation1.cc:6'>)})
            (C {<check>} {<debug_msg_cdebug.err>} {(DQ <'odr_violation2.cc:1[256]'>)})
            (C {<check_missing>} {<debug_msg_cdebug.err>} {(DQ <'OdrDerived::~OdrDerived()'>)})
            (C {<check_missing>} {<debug_msg_cdebug.err>} {(DQ <__adjust_heap>)})
            (C {<check_missing>} {<debug_msg_cdebug.err>} 
              {
                (DQ 
                  <
': symbol \'OverriddenCFunction\' defined in multiple places (possible ODR violation):'
                  >
                )
              }
            )
            (C {<check_missing>} {<debug_msg_cdebug.err>} {(DQ <'odr_violation1.cc:1[6-8]'>)})
            (C {<check_missing>} {<debug_msg_cdebug.err>} {(DQ <'odr_violation2.cc:2[3-5]'>)})
            (C {<check>} {<debug_msg_cdebug.err>} 
              {
                (DQ 
                  <
': symbol \'SometimesInlineFunction(int)\' defined in multiple places (possible ODR violation):'
                  >
                )
              }
            )
            (C {<check>} {<debug_msg_cdebug.err>} {(DQ <'debug_msg.cc:6[89]'>)})
            (C {<check>} {<debug_msg_cdebug.err>} {(DQ <'odr_violation2.cc:2[7-9]'>)})
          ]
          spids: [429 437]
        )
      ]
    )
    (C {<check>} {<debug_msg_so.err>} 
      {(DQ <'debug_msg.so: error: undefined reference to \'undef_fn1()\''>)}
    )
    (C {<check>} {<debug_msg_so.err>} 
      {(DQ <'debug_msg.so: error: undefined reference to \'undef_fn2()\''>)}
    )
    (C {<check>} {<debug_msg_so.err>} 
      {(DQ <'debug_msg.so: error: undefined reference to \'undef_int\''>)}
    )
    (C {<check>} {<debug_msg_so.err>} 
      {
        (DQ 
          <
': symbol \'Ordering::operator()(int, int)\' defined in multiple places (possible ODR violation):'
          >
        )
      }
    )
    (C {<check>} {<debug_msg_so.err>} {(DQ <'odr_violation1.cc:6'>)})
    (C {<check>} {<debug_msg_so.err>} {(DQ <'odr_violation2.cc:1[256]'>)})
    (C {<check_missing>} {<debug_msg_so.err>} {(DQ <'OdrDerived::~OdrDerived()'>)})
    (C {<check_missing>} {<debug_msg_so.err>} {(DQ <__adjust_heap>)})
    (C {<check_missing>} {<debug_msg_so.err>} 
      {(DQ <': symbol \'OverriddenCFunction\' defined in multiple places (possible ODR violation):'>)}
    )
    (C {<check_missing>} {<debug_msg_so.err>} {(DQ <'odr_violation1.cc:1[6-8]'>)})
    (C {<check_missing>} {<debug_msg_so.err>} {(DQ <'odr_violation2.cc:2[3-5]'>)})
    (C {<check>} {<debug_msg_so.err>} 
      {
        (DQ 
          <
': symbol \'SometimesInlineFunction(int)\' defined in multiple places (possible ODR violation):'
          >
        )
      }
    )
    (C {<check>} {<debug_msg_so.err>} {(DQ <'debug_msg.cc:6[89]'>)})
    (C {<check>} {<debug_msg_so.err>} {(DQ <'odr_violation2.cc:2[7-9]'>)})
    (C {<check>} {<debug_msg_ndebug.err>} 
      {(DQ <'debug_msg_ndebug.so: error: undefined reference to \'undef_fn1()\''>)}
    )
    (C {<check>} {<debug_msg_ndebug.err>} 
      {(DQ <'debug_msg_ndebug.so: error: undefined reference to \'undef_fn2()\''>)}
    )
    (C {<check>} {<debug_msg_ndebug.err>} 
      {(DQ <'debug_msg_ndebug.so: error: undefined reference to \'undef_int\''>)}
    )
    (C {<check_missing>} {<debug_msg_ndebug.err>} {(DQ <'(possible ODR violation)'>)})
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)