
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original name: __move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,
   std::vector<gold::Output_section*> >, gold::Output_section**,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections> > */

Output_section **
std::
__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>
          (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>
           __first1,
          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>
          __last1,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>
                  __first2,
          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>
          __last2,Output_section **__result,_Iter_comp_iter<gold::Sort_output_sections> __comp)

{
  undefined3 extraout_var;
  bool bVar2;
  Output_section *pOVar1;
  int iVar3;
  Output_section **ppOVar4;
  
  if (__first1._M_current == __last1._M_current) {
LAB_0021aa18:
    iVar3 = (int)__last2._M_current - (int)__first2._M_current;
  }
  else {
    if (__last2._M_current != __first2._M_current) {
      ppOVar4 = __result;
      do {
        bVar2 = gold::Sort_output_sections::operator()
                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);
        if (CONCAT31(extraout_var,bVar2) == 0) {
          pOVar1 = *__first1._M_current;
          __first1._M_current = __first1._M_current + 1;
          *ppOVar4 = pOVar1;
        }
        else {
          pOVar1 = *__first2._M_current;
          __first2._M_current = __first2._M_current + 1;
          *ppOVar4 = pOVar1;
        }
        __result = ppOVar4 + 1;
        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;
        __result = ppOVar4 + 1;
        ppOVar4 = __result;
      } while (__first2._M_current != __last2._M_current);
    }
    (*(code *)PTR_memmove_004366d8)
              (__result,__first1._M_current,(int)__last1._M_current - (int)__first1._M_current);
    __result = (Output_section **)
               ((int)__result + ((int)__last1._M_current - (int)__first1._M_current));
    iVar3 = 0;
  }
  if (__first2._M_current != __last2._M_current) {
    (*(code *)PTR_memmove_004366d8)(__result,__first2._M_current,iVar3);
  }
  return (Output_section **)((int)__result + iVar3);
}



/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* gold::Output_section** std::__move_merge<__normal_iterator<gold::Output_section**,
   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,
   gold::Output_section**, __ops::_Iter_comp_iter<gold::Sort_output_sections>
   >(__normal_iterator<gold::Output_section**, std::vector<gold::Output_section*,
   std::allocator<gold::Output_section*> > >, __normal_iterator<gold::Output_section**,
   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,
   __normal_iterator<gold::Output_section**, std::vector<gold::Output_section*,
   std::allocator<gold::Output_section*> > >, __normal_iterator<gold::Output_section**,
   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,
   gold::Output_section**, __ops::_Iter_comp_iter<gold::Sort_output_sections>) */

Output_section **
std::
__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,
          undefined4 *param_5)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  
  if (param_1 == param_2) {
LAB_0021aa18:
    iVar1 = (int)param_4 - (int)param_3;
  }
  else {
    if (param_4 != param_3) {
      puVar3 = param_5;
      do {
        iVar1 = gold::Sort_output_sections::operator()
                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,
                           (Output_section *)*param_1);
        if (iVar1 == 0) {
          uVar2 = *param_1;
          param_1 = param_1 + 1;
          *puVar3 = uVar2;
        }
        else {
          uVar2 = *param_3;
          param_3 = param_3 + 1;
          *puVar3 = uVar2;
        }
        param_5 = puVar3 + 1;
        if (param_1 == param_2) goto LAB_0021aa18;
        param_5 = puVar3 + 1;
        puVar3 = param_5;
      } while (param_3 != param_4);
    }
    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);
    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));
    iVar1 = 0;
  }
  if (param_3 != param_4) {
    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);
  }
  return (Output_section **)((int)param_5 + iVar1);
}


lui gp,0x22
addiu gp,gp,-0x7a0
addu gp,gp,t9
addiu sp,sp,-0x38
sw gp,0x10(sp)
sw s4,0x28(sp)
or s4,a3,zero
sw s2,0x20(sp)
sw s0,0x18(sp)
or s0,a2,zero
sw ra,0x34(sp)
sw s6,0x30(sp)
sw s5,0x2c(sp)
sw s3,0x24(sp)
sw s1,0x1c(sp)
beq a0,a1,0x0021aa18
_lw s2,0x48(sp)
or s3,a1,zero
beq a3,a2,0x0021aa20
_or s1,a0,zero
addiu s6,sp,0x4c
b 0x0021a9e8
_lw s5,-0x50ac(gp)
lw v0,0x0(s0)
addiu s2,s2,0x4
addiu s0,s0,0x4
beq s1,s3,0x0021aa18
_sw v0,-0x4(s2)
beq s0,s4,0x0021aa20
_nop
lw a2,0x0(s1)
or a0,s6,zero
or t9,s5,zero
bal 0x0020c9d4
_lw a1,0x0(s0)
bne v0,zero,0x0021a9cc
_lw gp,0x10(sp)
lw v0,0x0(s1)
addiu s2,s2,0x4
addiu s1,s1,0x4
bne s1,s3,0x0021a9e0
_sw v0,-0x4(s2)
b 0x0021aa44
_subu s1,s4,s0
subu s3,s3,s1
lw t9,-0x3af8(gp)
or a0,s2,zero
or a1,s1,zero
jalr t9
_or a2,s3,zero
addu s2,s2,s3
lw gp,0x10(sp)
or s1,zero,zero
beq s0,s4,0x0021aa5c
_lw t9,-0x3af8(gp)
or a2,s1,zero
or a1,s0,zero
jalr t9
_or a0,s2,zero
lw ra,0x34(sp)
addu v0,s2,s1
lw s6,0x30(sp)
lw s5,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x38
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* gold::Output_section** std::__move_merge<__normal_iterator<gold::Output_section**,\n   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,\n   gold::Output_section**, __ops::_Iter_comp_iter<gold::Sort_output_sections>\n   >(__normal_iterator<gold::Output_section**, std::vector<gold::Output_section*,\n   std::allocator<gold::Output_section*> > >, __normal_iterator<gold::Output_section**,\n   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,\n   __normal_iterator<gold::Output_section**, std::vector<gold::Output_section*,\n   std::allocator<gold::Output_section*> > >, __normal_iterator<gold::Output_section**,\n   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,\n   gold::Output_section**, __ops::_Iter_comp_iter<gold::Sort_output_sections>) */\n\nOutput_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  \n  if (param_1 == param_2) {\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }\n  else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }\n  if (param_3 != param_4) {\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }\n  return (Output_section **)((int)param_5 + iVar1);\n}\n\n" comment comment (ERROR "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator" (binary_expression "Output_section **\nstd" identifier * (pointer_expression "*\nstd" * identifier)) (ERROR "::\n__move_merge" : : identifier) < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,__ops" * (ERROR "," ,) identifier)) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) >> (parenthesized_expression "(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" ( (comma_expression "undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_1" identifier * identifier) , (comma_expression "undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_2" identifier * identifier) , (comma_expression "undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_3" identifier * identifier) , (comma_expression "undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_4" identifier * identifier) , (binary_expression "undefined4 *param_5" identifier * identifier))))) )))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  \n  if (param_1 == param_2) {\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }\n  else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }\n  if (param_3 != param_4) {\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }\n  return (Output_section **)((int)param_5 + iVar1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (if_statement "if (param_1 == param_2) {\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }\n  else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (compound_statement "{\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }" { (labeled_statement "LAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;" statement_identifier : (expression_statement "iVar1 = (int)param_4 - (int)param_3;" (assignment_expression "iVar1 = (int)param_4 - (int)param_3" identifier = (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }) (else_clause "else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" else (compound_statement "{\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" { (if_statement "if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }" if (parenthesized_expression "(param_4 != param_3)" ( (binary_expression "param_4 != param_3" identifier != identifier) )) (compound_statement "{\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }" { (expression_statement "puVar3 = param_5;" (assignment_expression "puVar3 = param_5" identifier = identifier) ;) (do_statement "do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);" do (compound_statement "{\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (labeled_statement "Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);" statement_identifier : (ERROR ":" :) (expression_statement "operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);" (call_expression "operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1)" ( (cast_expression "(Sort_output_sections *)&stack0x00000014" ( (type_descriptor "Sort_output_sections *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0x00000014" & identifier)) , (cast_expression "(Output_section *)*param_3" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_3" * identifier)) , (cast_expression "(Output_section *)*param_1" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) ))) ;)) (if_statement "if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }" { (expression_statement "uVar2 = *param_1;" (assignment_expression "uVar2 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" * identifier) = identifier) ;) }) (else_clause "else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" else (compound_statement "{\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" { (expression_statement "uVar2 = *param_3;" (assignment_expression "uVar2 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" * identifier) = identifier) ;) }))) (expression_statement "param_5 = puVar3 + 1;" (assignment_expression "param_5 = puVar3 + 1" identifier = (binary_expression "puVar3 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 == param_2) goto LAB_0021aa18;" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (goto_statement "goto LAB_0021aa18;" goto statement_identifier ;)) (expression_statement "param_5 = puVar3 + 1;" (assignment_expression "param_5 = puVar3 + 1" identifier = (binary_expression "puVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar3 = param_5;" (assignment_expression "puVar3 = param_5" identifier = identifier) ;) }) while (parenthesized_expression "(param_3 != param_4)" ( (binary_expression "param_3 != param_4" identifier != identifier) )) ;) })) (expression_statement "(*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004366d8)" ( (pointer_expression "*(code *)PTR_memmove_004366d8" * (cast_expression "(code *)PTR_memmove_004366d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,param_1,(int)param_2 - (int)param_1)" ( identifier , identifier , (binary_expression "(int)param_2 - (int)param_1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));" (assignment_expression "param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1))" identifier = (cast_expression "(undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + ((int)param_2 - (int)param_1))" ( (binary_expression "(int)param_5 + ((int)param_2 - (int)param_1)" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)param_2 - (int)param_1)" ( (binary_expression "(int)param_2 - (int)param_1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }))) (if_statement "if (param_3 != param_4) {\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }" if (parenthesized_expression "(param_3 != param_4)" ( (binary_expression "param_3 != param_4" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }" { (expression_statement "(*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);" (call_expression "(*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1)" (parenthesized_expression "(*(code *)PTR_memmove_004366d8)" ( (pointer_expression "*(code *)PTR_memmove_004366d8" * (cast_expression "(code *)PTR_memmove_004366d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,param_3,iVar1)" ( identifier , identifier , identifier ))) ;) })) (return_statement "return (Output_section **)((int)param_5 + iVar1);" return (cast_expression "(Output_section **)((int)param_5 + iVar1)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_5 + iVar1)" ( (binary_expression "(int)param_5 + iVar1" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ;) }))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original name: __move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,\n   std::vector<gold::Output_section*> >, gold::Output_section**,\n   __gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections> > */\n\nOutput_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n          (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last1,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                  __first2,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last2,Output_section **__result,_Iter_comp_iter<gold::Sort_output_sections> __comp)\n\n{\n  undefined3 extraout_var;\n  bool bVar2;\n  Output_section *pOVar1;\n  int iVar3;\n  Output_section **ppOVar4;\n  \n  if (__first1._M_current == __last1._M_current) {\nLAB_0021aa18:\n    iVar3 = (int)__last2._M_current - (int)__first2._M_current;\n  }\n  else {\n    if (__last2._M_current != __first2._M_current) {\n      ppOVar4 = __result;\n      do {\n        bVar2 = gold::Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);\n        if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        __result = ppOVar4 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;\n        __result = ppOVar4 + 1;\n        ppOVar4 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    (*(code *)PTR_memmove_004366d8)\n              (__result,__first1._M_current,(int)__last1._M_current - (int)__first1._M_current);\n    __result = (Output_section **)\n               ((int)__result + ((int)__last1._M_current - (int)__first1._M_current));\n    iVar3 = 0;\n  }\n  if (__first2._M_current != __last2._M_current) {\n    (*(code *)PTR_memmove_004366d8)(__result,__first2._M_current,iVar3);\n  }\n  return (Output_section **)((int)__result + iVar3);\n}\n\n" comment comment comment comment (expression_statement "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n          (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last1,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                  __first2,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last2,Output_section **__result,_Iter_comp_iter<gold::Sort_output_sections> __comp)\n\n{\n  undefined3 extraout_var;\n  bool bVar2;\n  Output_section *pOVar1;" (update_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n          (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last1,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                  __first2,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last2,Output_section **__result,_Iter_comp_iter<gold::Sort_output_sections> __comp)\n\n{\n  undefined3 extraout_var;\n  bool bVar2;\n  Output_section *pOVar1" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n          (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last1,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                  __first2,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last2,Output_section **__result,_Iter_comp_iter<gold::Sort_output_sections> __comp)\n\n{\n  undefined3 extraout_var;\n  bool bVar2;\n  Output_section *pOVar1" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold::Output_section**,_std" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx::__normal_iterator<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__gnu_cxx" (binary_expression "Output_section **\nstd" identifier * (pointer_expression "*\nstd" * identifier)) (ERROR "::\n__move_merge" : : identifier) < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,___gnu_cxx" * (ERROR "," ,) identifier)) (ERROR "::__ops::_Iter_comp_iter" : : identifier : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) > identifier) > (binary_expression "(__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last1,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                  __first2,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last2,Output_section **__result,_Iter_comp_iter<gold::Sort_output_sections> __comp)\n\n{\n  undefined3 extraout_var;\n  bool bVar2;\n  Output_section *pOVar1" (parenthesized_expression "(__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last1,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                  __first2,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last2,Output_section **__result,_Iter_comp_iter<gold::Sort_output_sections> __comp)" ( (ERROR "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last1,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                  __first2,\n          __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n          __last2,Output_section **__result,_Iter_comp_iter<gold::" (comma_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1,\n          __normal_iterator<gold" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n           __first1" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Output_section**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) , (binary_expression "__normal_iterator<gold" identifier < identifier)) : : identifier * * , identifier : : identifier < identifier : : identifier * , identifier : : identifier < identifier : : identifier * > (comma_expression "_>_>\n          __last1,__normal_iterator<gold" (binary_expression "_>_>\n          __last1" (binary_expression "_>_" identifier > identifier) > identifier) , (binary_expression "__normal_iterator<gold" identifier < identifier)) : : (type_descriptor "Output_section**" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) , identifier : : (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Output_section*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Output_section*>_>_>\n                  __first2,\n          __normal_iterator<gold" (binary_expression "Output_section*>_>_>\n                  __first2" (binary_expression "Output_section*>_>_" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) > identifier) , (binary_expression "__normal_iterator<gold" identifier < identifier)) : : (type_descriptor "Output_section**" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) , identifier : : (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Output_section*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Output_section*>_>_>\n          __last2,Output_section **__result,_Iter_comp_iter<gold" (binary_expression "Output_section*>_>_>\n          __last2" (binary_expression "Output_section*>_>_" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) > identifier) , (comma_expression "Output_section **__result,_Iter_comp_iter<gold" (binary_expression "Output_section **__result" identifier * (pointer_expression "*__result" * identifier)) , (binary_expression "_Iter_comp_iter<gold" identifier < identifier))) : :) (binary_expression "Sort_output_sections> __comp" identifier > identifier) )) (ERROR "{\n  undefined3 extraout_var;\n  bool bVar2;\n  Output_section" { identifier identifier ; primitive_type identifier ; identifier) * identifier)) --) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "Output_section **ppOVar4;" type_identifier (pointer_declarator "**ppOVar4" * (pointer_declarator "*ppOVar4" * identifier)) ;) (if_statement "if (__first1._M_current == __last1._M_current) {\nLAB_0021aa18:\n    iVar3 = (int)__last2._M_current - (int)__first2._M_current;\n  }\n  else {\n    if (__last2._M_current != __first2._M_current) {\n      ppOVar4 = __result;\n      do {\n        bVar2 = gold::Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);\n        if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        __result = ppOVar4 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;\n        __result = ppOVar4 + 1;\n        ppOVar4 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    (*(code *)PTR_memmove_004366d8)\n              (__result,__first1._M_current,(int)__last1._M_current - (int)__first1._M_current);\n    __result = (Output_section **)\n               ((int)__result + ((int)__last1._M_current - (int)__first1._M_current));\n    iVar3 = 0;\n  }" if (parenthesized_expression "(__first1._M_current == __last1._M_current)" ( (binary_expression "__first1._M_current == __last1._M_current" (field_expression "__first1._M_current" identifier . field_identifier) == (field_expression "__last1._M_current" identifier . field_identifier)) )) (compound_statement "{\nLAB_0021aa18:\n    iVar3 = (int)__last2._M_current - (int)__first2._M_current;\n  }" { (labeled_statement "LAB_0021aa18:\n    iVar3 = (int)__last2._M_current - (int)__first2._M_current;" statement_identifier : (expression_statement "iVar3 = (int)__last2._M_current - (int)__first2._M_current;" (assignment_expression "iVar3 = (int)__last2._M_current - (int)__first2._M_current" identifier = (binary_expression "(int)__last2._M_current - (int)__first2._M_current" (cast_expression "(int)__last2._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last2._M_current" identifier . field_identifier)) - (cast_expression "(int)__first2._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first2._M_current" identifier . field_identifier)))) ;)) }) (else_clause "else {\n    if (__last2._M_current != __first2._M_current) {\n      ppOVar4 = __result;\n      do {\n        bVar2 = gold::Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);\n        if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        __result = ppOVar4 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;\n        __result = ppOVar4 + 1;\n        ppOVar4 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    (*(code *)PTR_memmove_004366d8)\n              (__result,__first1._M_current,(int)__last1._M_current - (int)__first1._M_current);\n    __result = (Output_section **)\n               ((int)__result + ((int)__last1._M_current - (int)__first1._M_current));\n    iVar3 = 0;\n  }" else (compound_statement "{\n    if (__last2._M_current != __first2._M_current) {\n      ppOVar4 = __result;\n      do {\n        bVar2 = gold::Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);\n        if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        __result = ppOVar4 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;\n        __result = ppOVar4 + 1;\n        ppOVar4 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }\n    (*(code *)PTR_memmove_004366d8)\n              (__result,__first1._M_current,(int)__last1._M_current - (int)__first1._M_current);\n    __result = (Output_section **)\n               ((int)__result + ((int)__last1._M_current - (int)__first1._M_current));\n    iVar3 = 0;\n  }" { (if_statement "if (__last2._M_current != __first2._M_current) {\n      ppOVar4 = __result;\n      do {\n        bVar2 = gold::Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);\n        if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        __result = ppOVar4 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;\n        __result = ppOVar4 + 1;\n        ppOVar4 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }" if (parenthesized_expression "(__last2._M_current != __first2._M_current)" ( (binary_expression "__last2._M_current != __first2._M_current" (field_expression "__last2._M_current" identifier . field_identifier) != (field_expression "__first2._M_current" identifier . field_identifier)) )) (compound_statement "{\n      ppOVar4 = __result;\n      do {\n        bVar2 = gold::Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);\n        if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        __result = ppOVar4 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;\n        __result = ppOVar4 + 1;\n        ppOVar4 = __result;\n      } while (__first2._M_current != __last2._M_current);\n    }" { (expression_statement "ppOVar4 = __result;" (assignment_expression "ppOVar4 = __result" identifier = identifier) ;) (do_statement "do {\n        bVar2 = gold::Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);\n        if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        __result = ppOVar4 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;\n        __result = ppOVar4 + 1;\n        ppOVar4 = __result;\n      } while (__first2._M_current != __last2._M_current);" do (compound_statement "{\n        bVar2 = gold::Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);\n        if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        __result = ppOVar4 + 1;\n        if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;\n        __result = ppOVar4 + 1;\n        ppOVar4 = __result;\n      }" { (ERROR "bVar2 = gold::" (assignment_expression "bVar2 = gold" identifier = identifier) : :) (labeled_statement "Sort_output_sections::operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);" statement_identifier : (ERROR ":" :) (expression_statement "operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current);" (call_expression "operator()\n                          (&__comp._M_comp,*__first2._M_current,*__first1._M_current)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "(&__comp._M_comp,*__first2._M_current,*__first1._M_current)" ( (pointer_expression "&__comp._M_comp" & (field_expression "__comp._M_comp" identifier . field_identifier)) , (pointer_expression "*__first2._M_current" * (field_expression "__first2._M_current" identifier . field_identifier)) , (pointer_expression "*__first1._M_current" * (field_expression "__first1._M_current" identifier . field_identifier)) ))) ;)) (if_statement "if (CONCAT31(extraout_var,bVar2) == 0) {\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }\n        else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }" if (parenthesized_expression "(CONCAT31(extraout_var,bVar2) == 0)" ( (binary_expression "CONCAT31(extraout_var,bVar2) == 0" (call_expression "CONCAT31(extraout_var,bVar2)" identifier (argument_list "(extraout_var,bVar2)" ( identifier , identifier ))) == number_literal) )) (compound_statement "{\n          pOVar1 = *__first1._M_current;\n          __first1._M_current = __first1._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }" { (expression_statement "pOVar1 = *__first1._M_current;" (assignment_expression "pOVar1 = *__first1._M_current" identifier = (pointer_expression "*__first1._M_current" * (field_expression "__first1._M_current" identifier . field_identifier))) ;) (expression_statement "__first1._M_current = __first1._M_current + 1;" (assignment_expression "__first1._M_current = __first1._M_current + 1" (field_expression "__first1._M_current" identifier . field_identifier) = (binary_expression "__first1._M_current + 1" (field_expression "__first1._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "*ppOVar4 = pOVar1;" (assignment_expression "*ppOVar4 = pOVar1" (pointer_expression "*ppOVar4" * identifier) = identifier) ;) }) (else_clause "else {\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }" else (compound_statement "{\n          pOVar1 = *__first2._M_current;\n          __first2._M_current = __first2._M_current + 1;\n          *ppOVar4 = pOVar1;\n        }" { (expression_statement "pOVar1 = *__first2._M_current;" (assignment_expression "pOVar1 = *__first2._M_current" identifier = (pointer_expression "*__first2._M_current" * (field_expression "__first2._M_current" identifier . field_identifier))) ;) (expression_statement "__first2._M_current = __first2._M_current + 1;" (assignment_expression "__first2._M_current = __first2._M_current + 1" (field_expression "__first2._M_current" identifier . field_identifier) = (binary_expression "__first2._M_current + 1" (field_expression "__first2._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "*ppOVar4 = pOVar1;" (assignment_expression "*ppOVar4 = pOVar1" (pointer_expression "*ppOVar4" * identifier) = identifier) ;) }))) (expression_statement "__result = ppOVar4 + 1;" (assignment_expression "__result = ppOVar4 + 1" identifier = (binary_expression "ppOVar4 + 1" identifier + number_literal)) ;) (if_statement "if (__first1._M_current == __last1._M_current) goto LAB_0021aa18;" if (parenthesized_expression "(__first1._M_current == __last1._M_current)" ( (binary_expression "__first1._M_current == __last1._M_current" (field_expression "__first1._M_current" identifier . field_identifier) == (field_expression "__last1._M_current" identifier . field_identifier)) )) (goto_statement "goto LAB_0021aa18;" goto statement_identifier ;)) (expression_statement "__result = ppOVar4 + 1;" (assignment_expression "__result = ppOVar4 + 1" identifier = (binary_expression "ppOVar4 + 1" identifier + number_literal)) ;) (expression_statement "ppOVar4 = __result;" (assignment_expression "ppOVar4 = __result" identifier = identifier) ;) }) while (parenthesized_expression "(__first2._M_current != __last2._M_current)" ( (binary_expression "__first2._M_current != __last2._M_current" (field_expression "__first2._M_current" identifier . field_identifier) != (field_expression "__last2._M_current" identifier . field_identifier)) )) ;) })) (expression_statement "(*(code *)PTR_memmove_004366d8)\n              (__result,__first1._M_current,(int)__last1._M_current - (int)__first1._M_current);" (call_expression "(*(code *)PTR_memmove_004366d8)\n              (__result,__first1._M_current,(int)__last1._M_current - (int)__first1._M_current)" (parenthesized_expression "(*(code *)PTR_memmove_004366d8)" ( (pointer_expression "*(code *)PTR_memmove_004366d8" * (cast_expression "(code *)PTR_memmove_004366d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(__result,__first1._M_current,(int)__last1._M_current - (int)__first1._M_current)" ( identifier , (field_expression "__first1._M_current" identifier . field_identifier) , (binary_expression "(int)__last1._M_current - (int)__first1._M_current" (cast_expression "(int)__last1._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last1._M_current" identifier . field_identifier)) - (cast_expression "(int)__first1._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first1._M_current" identifier . field_identifier))) ))) ;) (expression_statement "__result = (Output_section **)\n               ((int)__result + ((int)__last1._M_current - (int)__first1._M_current));" (assignment_expression "__result = (Output_section **)\n               ((int)__result + ((int)__last1._M_current - (int)__first1._M_current))" identifier = (cast_expression "(Output_section **)\n               ((int)__result + ((int)__last1._M_current - (int)__first1._M_current))" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)__result + ((int)__last1._M_current - (int)__first1._M_current))" ( (binary_expression "(int)__result + ((int)__last1._M_current - (int)__first1._M_current)" (cast_expression "(int)__result" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)__last1._M_current - (int)__first1._M_current)" ( (binary_expression "(int)__last1._M_current - (int)__first1._M_current" (cast_expression "(int)__last1._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last1._M_current" identifier . field_identifier)) - (cast_expression "(int)__first1._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first1._M_current" identifier . field_identifier))) ))) )))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }))) (if_statement "if (__first2._M_current != __last2._M_current) {\n    (*(code *)PTR_memmove_004366d8)(__result,__first2._M_current,iVar3);\n  }" if (parenthesized_expression "(__first2._M_current != __last2._M_current)" ( (binary_expression "__first2._M_current != __last2._M_current" (field_expression "__first2._M_current" identifier . field_identifier) != (field_expression "__last2._M_current" identifier . field_identifier)) )) (compound_statement "{\n    (*(code *)PTR_memmove_004366d8)(__result,__first2._M_current,iVar3);\n  }" { (expression_statement "(*(code *)PTR_memmove_004366d8)(__result,__first2._M_current,iVar3);" (call_expression "(*(code *)PTR_memmove_004366d8)(__result,__first2._M_current,iVar3)" (parenthesized_expression "(*(code *)PTR_memmove_004366d8)" ( (pointer_expression "*(code *)PTR_memmove_004366d8" * (cast_expression "(code *)PTR_memmove_004366d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(__result,__first2._M_current,iVar3)" ( identifier , (field_expression "__first2._M_current" identifier . field_identifier) , identifier ))) ;) })) (return_statement "return (Output_section **)((int)__result + iVar3);" return (cast_expression "(Output_section **)((int)__result + iVar3)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)__result + iVar3)" ( (binary_expression "(int)__result + iVar3" (cast_expression "(int)__result" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ;) (ERROR "}" }))
(translation_unit "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  \n  if (param_1 == param_2) {\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }\n  else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }\n  if (param_3 != param_4) {\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }\n  return (Output_section **)((int)param_5 + iVar1);\n}\n\n" (ERROR "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator" (binary_expression "Output_section **\nstd" identifier * (pointer_expression "*\nstd" * identifier)) (ERROR "::\n__move_merge" : : identifier) < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,__ops" * (ERROR "," ,) identifier)) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) >> (parenthesized_expression "(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" ( (comma_expression "undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_1" identifier * identifier) , (comma_expression "undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_2" identifier * identifier) , (comma_expression "undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_3" identifier * identifier) , (comma_expression "undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_4" identifier * identifier) , (binary_expression "undefined4 *param_5" identifier * identifier))))) )))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  \n  if (param_1 == param_2) {\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }\n  else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }\n  if (param_3 != param_4) {\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }\n  return (Output_section **)((int)param_5 + iVar1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (if_statement "if (param_1 == param_2) {\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }\n  else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (compound_statement "{\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }" { (labeled_statement "LAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;" statement_identifier : (expression_statement "iVar1 = (int)param_4 - (int)param_3;" (assignment_expression "iVar1 = (int)param_4 - (int)param_3" identifier = (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }) (else_clause "else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" else (compound_statement "{\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" { (if_statement "if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }" if (parenthesized_expression "(param_4 != param_3)" ( (binary_expression "param_4 != param_3" identifier != identifier) )) (compound_statement "{\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }" { (expression_statement "puVar3 = param_5;" (assignment_expression "puVar3 = param_5" identifier = identifier) ;) (do_statement "do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);" do (compound_statement "{\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (labeled_statement "Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);" statement_identifier : (ERROR ":" :) (expression_statement "operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);" (call_expression "operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1)" ( (cast_expression "(Sort_output_sections *)&stack0x00000014" ( (type_descriptor "Sort_output_sections *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0x00000014" & identifier)) , (cast_expression "(Output_section *)*param_3" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_3" * identifier)) , (cast_expression "(Output_section *)*param_1" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) ))) ;)) (if_statement "if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }" { (expression_statement "uVar2 = *param_1;" (assignment_expression "uVar2 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" * identifier) = identifier) ;) }) (else_clause "else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" else (compound_statement "{\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" { (expression_statement "uVar2 = *param_3;" (assignment_expression "uVar2 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" * identifier) = identifier) ;) }))) (expression_statement "param_5 = puVar3 + 1;" (assignment_expression "param_5 = puVar3 + 1" identifier = (binary_expression "puVar3 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 == param_2) goto LAB_0021aa18;" if (parenthesized_expression "(param_1 == param_2)" ( (binary_expression "param_1 == param_2" identifier == identifier) )) (goto_statement "goto LAB_0021aa18;" goto statement_identifier ;)) (expression_statement "param_5 = puVar3 + 1;" (assignment_expression "param_5 = puVar3 + 1" identifier = (binary_expression "puVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar3 = param_5;" (assignment_expression "puVar3 = param_5" identifier = identifier) ;) }) while (parenthesized_expression "(param_3 != param_4)" ( (binary_expression "param_3 != param_4" identifier != identifier) )) ;) })) (expression_statement "(*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004366d8)" ( (pointer_expression "*(code *)PTR_memmove_004366d8" * (cast_expression "(code *)PTR_memmove_004366d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,param_1,(int)param_2 - (int)param_1)" ( identifier , identifier , (binary_expression "(int)param_2 - (int)param_1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));" (assignment_expression "param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1))" identifier = (cast_expression "(undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + ((int)param_2 - (int)param_1))" ( (binary_expression "(int)param_5 + ((int)param_2 - (int)param_1)" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)param_2 - (int)param_1)" ( (binary_expression "(int)param_2 - (int)param_1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }))) (if_statement "if (param_3 != param_4) {\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }" if (parenthesized_expression "(param_3 != param_4)" ( (binary_expression "param_3 != param_4" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }" { (expression_statement "(*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);" (call_expression "(*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1)" (parenthesized_expression "(*(code *)PTR_memmove_004366d8)" ( (pointer_expression "*(code *)PTR_memmove_004366d8" * (cast_expression "(code *)PTR_memmove_004366d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,param_3,iVar1)" ( identifier , identifier , identifier ))) ;) })) (return_statement "return (Output_section **)((int)param_5 + iVar1);" return (cast_expression "(Output_section **)((int)param_5 + iVar1)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_5 + iVar1)" ( (binary_expression "(int)param_5 + iVar1" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ;) }))
(translation_unit (ERROR (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT * (pointer_expression * IDENT)) (ERROR : : IDENT) < IDENT) < IDENT) (ERROR : : IDENT) * (pointer_expression * (ERROR ,) IDENT)) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) * (ERROR ,) IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT * >>) > (ERROR ,) IDENT) (ERROR : : IDENT) * (pointer_expression * (ERROR ,) IDENT)) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) >> (parenthesized_expression ( (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (binary_expression IDENT * IDENT))))) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression (call_expression IDENT (argument_list ( ))) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) ;) }))
(ERROR "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold::Output_section**,std" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator<gold" (binary_expression "Output_section **\nstd::\n__move_merge<__normal_iterator" (binary_expression "Output_section **\nstd" (identifier "Output_section") (* "*") (pointer_expression "*\nstd" (* "*") (identifier "std"))) (ERROR "::\n__move_merge" (: ":") (: ":") (identifier "__move_merge")) (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Output_section*>>" (: ":") (: ":") (identifier "Output_section") (* "*") (>> ">>")) (> ">") (ERROR "," (, ",")) (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,__ops" (* "*") (ERROR "," (, ",")) (identifier "__ops"))) (ERROR "::_Iter_comp_iter" (: ":") (: ":") (identifier "_Iter_comp_iter")) (< "<") (identifier "gold")) (ERROR "::Sort_output_sections" (: ":") (: ":") (identifier "Sort_output_sections")) (>> ">>") (parenthesized_expression "(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5)" (( "(") (comma_expression "undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_1" (identifier "undefined4") (* "*") (identifier "param_1")) (, ",") (comma_expression "undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_2" (identifier "undefined4") (* "*") (identifier "param_2")) (, ",") (comma_expression "undefined4 *param_3,undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_3" (identifier "undefined4") (* "*") (identifier "param_3")) (, ",") (comma_expression "undefined4 *param_4,\n          undefined4 *param_5" (binary_expression "undefined4 *param_4" (identifier "undefined4") (* "*") (identifier "param_4")) (, ",") (binary_expression "undefined4 *param_5" (identifier "undefined4") (* "*") (identifier "param_5")))))) () ")")))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  \n  if (param_1 == param_2) {\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }\n  else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }\n  if (param_3 != param_4) {\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }\n  return (Output_section **)((int)param_5 + iVar1);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (if_statement "if (param_1 == param_2) {\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }\n  else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" (if "if") (parenthesized_expression "(param_1 == param_2)" (( "(") (binary_expression "param_1 == param_2" (identifier "param_1") (== "==") (identifier "param_2")) () ")")) (compound_statement "{\nLAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;\n  }" ({ "{") (labeled_statement "LAB_0021aa18:\n    iVar1 = (int)param_4 - (int)param_3;" (statement_identifier "LAB_0021aa18") (: ":") (expression_statement "iVar1 = (int)param_4 - (int)param_3;" (assignment_expression "iVar1 = (int)param_4 - (int)param_3" (identifier "iVar1") (= "=") (binary_expression "(int)param_4 - (int)param_3" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (- "-") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")))) (; ";"))) (} "}")) (else_clause "else {\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" (else "else") (compound_statement "{\n    if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }\n    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);\n    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));\n    iVar1 = 0;\n  }" ({ "{") (if_statement "if (param_4 != param_3) {\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }" (if "if") (parenthesized_expression "(param_4 != param_3)" (( "(") (binary_expression "param_4 != param_3" (identifier "param_4") (!= "!=") (identifier "param_3")) () ")")) (compound_statement "{\n      puVar3 = param_5;\n      do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);\n    }" ({ "{") (expression_statement "puVar3 = param_5;" (assignment_expression "puVar3 = param_5" (identifier "puVar3") (= "=") (identifier "param_5")) (; ";")) (do_statement "do {\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      } while (param_3 != param_4);" (do "do") (compound_statement "{\n        iVar1 = gold::Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);\n        if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }\n        param_5 = puVar3 + 1;\n        if (param_1 == param_2) goto LAB_0021aa18;\n        param_5 = puVar3 + 1;\n        puVar3 = param_5;\n      }" ({ "{") (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" (identifier "iVar1") (= "=") (identifier "gold")) (: ":") (: ":")) (labeled_statement "Sort_output_sections::operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);" (statement_identifier "Sort_output_sections") (: ":") (ERROR ":" (: ":")) (expression_statement "operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1);" (call_expression "operator()\n                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1)" (call_expression "operator()" (identifier "operator") (argument_list "()" (( "(") () ")"))) (argument_list "((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,\n                           (Output_section *)*param_1)" (( "(") (cast_expression "(Sort_output_sections *)&stack0x00000014" (( "(") (type_descriptor "Sort_output_sections *" (type_identifier "Sort_output_sections") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0x00000014" (& "&") (identifier "stack0x00000014"))) (, ",") (cast_expression "(Output_section *)*param_3" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (, ",") (cast_expression "(Output_section *)*param_1" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) () ")"))) (; ";"))) (if_statement "if (iVar1 == 0) {\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }\n        else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar2 = *param_1;\n          param_1 = param_1 + 1;\n          *puVar3 = uVar2;\n        }" ({ "{") (expression_statement "uVar2 = *param_1;" (assignment_expression "uVar2 = *param_1" (identifier "uVar2") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "uVar2")) (; ";")) (} "}")) (else_clause "else {\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" (else "else") (compound_statement "{\n          uVar2 = *param_3;\n          param_3 = param_3 + 1;\n          *puVar3 = uVar2;\n        }" ({ "{") (expression_statement "uVar2 = *param_3;" (assignment_expression "uVar2 = *param_3" (identifier "uVar2") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "uVar2")) (; ";")) (} "}")))) (expression_statement "param_5 = puVar3 + 1;" (assignment_expression "param_5 = puVar3 + 1" (identifier "param_5") (= "=") (binary_expression "puVar3 + 1" (identifier "puVar3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_1 == param_2) goto LAB_0021aa18;" (if "if") (parenthesized_expression "(param_1 == param_2)" (( "(") (binary_expression "param_1 == param_2" (identifier "param_1") (== "==") (identifier "param_2")) () ")")) (goto_statement "goto LAB_0021aa18;" (goto "goto") (statement_identifier "LAB_0021aa18") (; ";"))) (expression_statement "param_5 = puVar3 + 1;" (assignment_expression "param_5 = puVar3 + 1" (identifier "param_5") (= "=") (binary_expression "puVar3 + 1" (identifier "puVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar3 = param_5;" (assignment_expression "puVar3 = param_5" (identifier "puVar3") (= "=") (identifier "param_5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_3 != param_4)" (( "(") (binary_expression "param_3 != param_4" (identifier "param_3") (!= "!=") (identifier "param_4")) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004366d8)" (( "(") (pointer_expression "*(code *)PTR_memmove_004366d8" (* "*") (cast_expression "(code *)PTR_memmove_004366d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_004366d8"))) () ")")) (argument_list "(param_5,param_1,(int)param_2 - (int)param_1)" (( "(") (identifier "param_5") (, ",") (identifier "param_1") (, ",") (binary_expression "(int)param_2 - (int)param_1" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")"))) (; ";")) (expression_statement "param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));" (assignment_expression "param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1))" (identifier "param_5") (= "=") (cast_expression "(undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_5 + ((int)param_2 - (int)param_1))" (( "(") (binary_expression "(int)param_5 + ((int)param_2 - (int)param_1)" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (parenthesized_expression "((int)param_2 - (int)param_1)" (( "(") (binary_expression "(int)param_2 - (int)param_1" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")"))) () ")")))) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (param_3 != param_4) {\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }" (if "if") (parenthesized_expression "(param_3 != param_4)" (( "(") (binary_expression "param_3 != param_4" (identifier "param_3") (!= "!=") (identifier "param_4")) () ")")) (compound_statement "{\n    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);\n  }" ({ "{") (expression_statement "(*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);" (call_expression "(*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1)" (parenthesized_expression "(*(code *)PTR_memmove_004366d8)" (( "(") (pointer_expression "*(code *)PTR_memmove_004366d8" (* "*") (cast_expression "(code *)PTR_memmove_004366d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_004366d8"))) () ")")) (argument_list "(param_5,param_3,iVar1)" (( "(") (identifier "param_5") (, ",") (identifier "param_3") (, ",") (identifier "iVar1") () ")"))) (; ";")) (} "}"))) (return_statement "return (Output_section **)((int)param_5 + iVar1);" (return "return") (cast_expression "(Output_section **)((int)param_5 + iVar1)" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)param_5 + iVar1)" (( "(") (binary_expression "(int)param_5 + iVar1" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (identifier "iVar1")) () ")"))) (; ";")) (} "}"))
(translation_unit (ERROR (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) (ERROR (identifier)) right: (identifier)) right: (identifier)) (ERROR (identifier)) right: (pointer_expression (ERROR) argument: (identifier))) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) (ERROR) right: (identifier)) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) (ERROR) right: (identifier)) (ERROR (identifier)) right: (pointer_expression (ERROR) argument: (identifier))) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))))))))) (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (ERROR (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (call_expression function: (identifier) arguments: (argument_list)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* gold::Output_section** std::__move_merge<__normal_iterator<gold::Output_section**,
   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,
   gold::Output_section**, __ops::_Iter_comp_iter<gold::Sort_output_sections>
   >(__normal_iterator<gold::Output_section**, std::vector<gold::Output_section*,
   std::allocator<gold::Output_section*> > >, __normal_iterator<gold::Output_section**,
   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,
   __normal_iterator<gold::Output_section**, std::vector<gold::Output_section*,
   std::allocator<gold::Output_section*> > >, __normal_iterator<gold::Output_section**,
   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,
   gold::Output_section**, __ops::_Iter_comp_iter<gold::Sort_output_sections>) */

Output_section **
std::
MASKED
          (undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4,
          undefined4 *param_5)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  
  if (param_1 == param_2) {
LAB_0021aa18:
    iVar1 = (int)param_4 - (int)param_3;
  }
  else {
    if (param_4 != param_3) {
      puVar3 = param_5;
      do {
        iVar1 = gold::Sort_output_sections::operator()
                          ((Sort_output_sections *)&stack0x00000014,(Output_section *)*param_3,
                           (Output_section *)*param_1);
        if (iVar1 == 0) {
          uVar2 = *param_1;
          param_1 = param_1 + 1;
          *puVar3 = uVar2;
        }
        else {
          uVar2 = *param_3;
          param_3 = param_3 + 1;
          *puVar3 = uVar2;
        }
        param_5 = puVar3 + 1;
        if (param_1 == param_2) goto LAB_0021aa18;
        param_5 = puVar3 + 1;
        puVar3 = param_5;
      } while (param_3 != param_4);
    }
    (*(code *)PTR_memmove_004366d8)(param_5,param_1,(int)param_2 - (int)param_1);
    param_5 = (undefined4 *)((int)param_5 + ((int)param_2 - (int)param_1));
    iVar1 = 0;
  }
  if (param_3 != param_4) {
    (*(code *)PTR_memmove_004366d8)(param_5,param_3,iVar1);
  }
  return (Output_section **)((int)param_5 + iVar1);
}

