
/* 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_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original name: __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,
   std::vector<gold::Symbol*> >, __gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32> > > */

void std::
     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>
               (__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
                __first,__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
                        __last,_Iter_comp_iter<gold::Sort_commons<32>_> __comp)

{
  _Val_comp_iter<gold::Sort_commons<32>_> __comp_00;
  undefined3 extraout_var;
  bool bVar1;
  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
  __last_00;
  Symbol *pSVar2;
  Sort_commons<32> local_res8;
  Symbol_table *pSVar3;
  Sort_commons_order in_stack_ffffffc4;
  
  pSVar3 = (Symbol_table *)
           &gold::Position_dependent_options::default_options_.relax_.user_set_via_option;
  if (__first._M_current != __last._M_current) {
    __last_00._M_current = __first._M_current + 1;
    if (__last_00._M_current != __last._M_current) {
      do {
        bVar1 = gold::Sort_commons<32>::operator()
                          (&local_res8,*__last_00._M_current,*__first._M_current);
        if (CONCAT31(extraout_var,bVar1) == 0) {
          __comp_00._M_comp.symtab_ = pSVar3;
          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;
          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>
                    (__last_00,__comp_00);
        }
        else {
          pSVar2 = *__last_00._M_current;
          if (__first._M_current != __last_00._M_current) {
            (*(code *)pSVar3[-0x26].namepool_.offset_)
                      (__first._M_current + 1,__first._M_current,
                       (int)__last_00._M_current - (int)__first._M_current);
          }
          *__first._M_current = pSVar2;
        }
        __last_00._M_current = __last_00._M_current + 1;
      } while (__last._M_current != __last_00._M_current);
    }
  }
  return;
}



/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* void std::__insertion_sort<__normal_iterator<gold::Symbol**, std::vector<gold::Symbol*,
   std::allocator<gold::Symbol*> > >, __ops::_Iter_comp_iter<gold::Sort_commons<32> >
   >(__normal_iterator<gold::Symbol**, std::vector<gold::Symbol*, std::allocator<gold::Symbol*> > >,
   __normal_iterator<gold::Symbol**, std::vector<gold::Symbol*, std::allocator<gold::Symbol*> > >,
   __ops::_Iter_comp_iter<gold::Sort_commons<32> >) */

void std::
     __insertion_sort<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Iter_comp_iter<gold::Sort_commons<32>>>
               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 local_res8;
  undefined4 local_resc;
  
  if (param_1 != param_2) {
    puVar2 = param_1 + 1;
    if (puVar2 != param_2) {
      local_res8 = param_3;
      local_resc = param_4;
      do {
        iVar1 = gold::Sort_commons<32>::operator()
                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);
        if (iVar1 == 0) {
          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>
                    (puVar2,local_res8,local_resc);
        }
        else {
          uVar3 = *puVar2;
          if (param_1 != puVar2) {
            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);
          }
          *param_1 = uVar3;
        }
        puVar2 = puVar2 + 1;
      } while (param_2 != puVar2);
    }
  }
  return;
}


lui gp,0x1f
addiu gp,gp,-0x2460
addu gp,gp,t9
addiu sp,sp,-0x50
sw gp,0x10(sp)
sw ra,0x4c(sp)
sw s7,0x48(sp)
sw s6,0x44(sp)
sw s5,0x40(sp)
sw s4,0x3c(sp)
sw s3,0x38(sp)
sw s2,0x34(sp)
sw s1,0x30(sp)
sw s0,0x2c(sp)
sw a2,0x58(sp)
beq a0,a1,0x002db74c
_sw a3,0x5c(sp)
addiu s0,a0,0x4
beq s0,a1,0x002db74c
_lw s4,-0x4530(gp)
addiu s7,sp,0x58
lw s6,-0x452c(gp)
li s5,0x4
or s2,a1,zero
or s1,a0,zero
lw a1,0x0(s0)
or a0,s7,zero
or t9,s4,zero
bal 0x002db494
_lw a2,0x0(s1)
beq v0,zero,0x002db778
_lw gp,0x10(sp)
lw t9,-0x3748(gp)
subu a2,s0,s1
addu a0,s1,s5
beq s1,s0,0x002db73c
_lw s3,0x0(s0)
jalr t9
_or a1,s1,zero
sw s3,0x0(s1)
addiu s0,s0,0x4
bne s2,s0,0x002db704
_nop
lw ra,0x4c(sp)
lw s7,0x48(sp)
lw s6,0x44(sp)
lw s5,0x40(sp)
lw s4,0x3c(sp)
lw s3,0x38(sp)
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x50
lw v1,0x58(sp)
or a0,s0,zero
lw v0,0x5c(sp)
or t9,s6,zero
or a1,v1,zero
sw v1,0x18(sp)
or a2,v0,zero
sw v0,0x1c(sp)
sw v1,0x20(sp)
bal 0x002db60c
_sw v0,0x24(sp)
b 0x002db744
_addiu s0,s0,0x4
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* void std::__insertion_sort<__normal_iterator<gold::Symbol**, std::vector<gold::Symbol*,\n   std::allocator<gold::Symbol*> > >, __ops::_Iter_comp_iter<gold::Sort_commons<32> >\n   >(__normal_iterator<gold::Symbol**, std::vector<gold::Symbol*, std::allocator<gold::Symbol*> > >,\n   __normal_iterator<gold::Symbol**, std::vector<gold::Symbol*, std::allocator<gold::Symbol*> > >,\n   __ops::_Iter_comp_iter<gold::Sort_commons<32> >) */\n\nvoid std::\n     __insertion_sort<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Iter_comp_iter<gold::Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}\n\n" comment comment (declaration "void std::\n     __insertion_sort<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Iter_comp_iter<gold::Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __insertion_sort<__normal_iterator<gold::Symbol" identifier : : identifier < identifier < identifier : : identifier) (pointer_declarator "**,std::vector<gold::Symbol" * (pointer_declarator "*,std::vector<gold::Symbol" * (ERROR ",std::vector<gold::" , identifier : : identifier < identifier : :) identifier)) (ERROR "*" *) , (ERROR "std::allocator<gold::" identifier : : identifier < identifier : :) identifier (ERROR "*>>>" * >> >) , (ERROR "__ops::_Iter_comp_iter<gold::Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int" identifier : : identifier < identifier : : (function_declarator "Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)" identifier (ERROR "<32>>>" < number_literal >> >) (parameter_list "(undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (if_statement "if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" if (parenthesized_expression "(param_1 != param_2)" ( (binary_expression "param_1 != param_2" identifier != identifier) )) (compound_statement "{\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" { (expression_statement "puVar2 = param_1 + 1;" (assignment_expression "puVar2 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (if_statement "if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" if (parenthesized_expression "(puVar2 != param_2)" ( (binary_expression "puVar2 != param_2" identifier != identifier) )) (compound_statement "{\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" { (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (do_statement "do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);" do (compound_statement "{\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (expression_statement "Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);" (binary_expression "Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" (binary_expression "Sort_commons<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" ( (binary_expression "(Sort_commons<32> *)&local_res8" (parenthesized_expression "(Sort_commons<32> *)" ( (binary_expression "Sort_commons<32> *" (binary_expression "Sort_commons<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) & identifier) , (cast_expression "(Symbol *)*puVar2" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Symbol *)*param_1" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) )))) ;) (if_statement "if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }" { (expression_statement "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc)" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::_Val_comp_iter" : : identifier) < identifier) (ERROR "::Sort_commons" : : identifier) < (binary_expression "32>>>\n                    (puVar2,local_res8,local_resc)" number_literal >> (ERROR ">" >) (parenthesized_expression "(puVar2,local_res8,local_resc)" ( (comma_expression "puVar2,local_res8,local_resc" identifier , (comma_expression "local_res8,local_resc" identifier , identifier)) )))) ;) }) (else_clause "else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" else (compound_statement "{\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" { (expression_statement "uVar3 = *puVar2;" (assignment_expression "uVar3 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (if_statement "if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" if (parenthesized_expression "(param_1 != puVar2)" ( (binary_expression "param_1 != puVar2" identifier != identifier) )) (compound_statement "{\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" { (expression_statement "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004c5af8)" ( (pointer_expression "*(code *)PTR_memmove_004c5af8" * (cast_expression "(code *)PTR_memmove_004c5af8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" ( (binary_expression "param_1 + 1" identifier + number_literal) , identifier , (binary_expression "(int)puVar2 - (int)param_1" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) }))) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" identifier = (binary_expression "puVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_2 != puVar2)" ( (binary_expression "param_2 != puVar2" identifier != identifier) )) ;) })) })) (return_statement "return;" return ;) (ERROR "}" }))
(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/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original name: __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,\n   std::vector<gold::Symbol*> >, __gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32> > > */\n\nvoid std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n               (__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                __first,__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                        __last,_Iter_comp_iter<gold::Sort_commons<32>_> __comp)\n\n{\n  _Val_comp_iter<gold::Sort_commons<32>_> __comp_00;\n  undefined3 extraout_var;\n  bool bVar1;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;\n  Symbol *pSVar2;\n  Sort_commons<32> local_res8;\n  Symbol_table *pSVar3;\n  Sort_commons_order in_stack_ffffffc4;\n  \n  pSVar3 = (Symbol_table *)\n           &gold::Position_dependent_options::default_options_.relax_.user_set_via_option;\n  if (__first._M_current != __last._M_current) {\n    __last_00._M_current = __first._M_current + 1;\n    if (__last_00._M_current != __last._M_current) {\n      do {\n        bVar1 = gold::Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }\n        else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }\n        __last_00._M_current = __last_00._M_current + 1;\n      } while (__last._M_current != __last_00._M_current);\n    }\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment comment (declaration "void std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n               (__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                __first,__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                        __last,_Iter_comp_iter<gold::Sort_commons<32>_> __comp)\n\n{\n  _Val_comp_iter<gold::Sort_commons<32>_> __comp_00;" primitive_type (ERROR "std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol" identifier : : identifier < identifier : : identifier < identifier : : identifier) (pointer_declarator "**,_std::vector<gold::Symbol*>_" * (pointer_declarator "*,_std::vector<gold::Symbol*>_" * (ERROR ",_std::vector<gold::Symbol*>" , identifier : : identifier < identifier : : identifier * >) identifier)) (ERROR ">" >) , (ERROR "___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n               (__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                __first,__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                        __last,_Iter_comp_iter<gold::Sort_commons<32>_> __comp)\n\n{\n  _Val_comp_iter<gold::Sort_commons<32>_>" identifier : : identifier : : identifier < identifier : : identifier < number_literal > identifier > (function_declarator "_>\n               (__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                __first,__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                        __last,_Iter_comp_iter<gold::Sort_commons<32>_> __comp)" identifier (ERROR ">" >) (parameter_list "(__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                __first,__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n                        __last,_Iter_comp_iter<gold::Sort_commons<32>_> __comp)" ( (parameter_declaration "__normal_iterator<gold::Symbol**" type_identifier (ERROR "<gold::Symbol" < identifier : : identifier) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) , (parameter_declaration "_std::vector<gold::Symbol*" type_identifier (ERROR "::vector<gold::Symbol" : : identifier < identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::allocator<gold::Symbol*>_>_>\n                __first" type_identifier (ERROR "::allocator<gold::Symbol*>_>_>" : : identifier < identifier : : identifier * > identifier > identifier >) identifier) , (parameter_declaration "__normal_iterator<gold::Symbol**" type_identifier (ERROR "<gold::Symbol" < identifier : : identifier) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) , (parameter_declaration "_std::vector<gold::Symbol*" type_identifier (ERROR "::vector<gold::Symbol" : : identifier < identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::allocator<gold::Symbol*>_>_>\n                        __last" type_identifier (ERROR "::allocator<gold::Symbol*>_>_>" : : identifier < identifier : : identifier * > identifier > identifier >) identifier) , (parameter_declaration "_Iter_comp_iter<gold::Sort_commons<32>_> __comp" type_identifier (ERROR "<gold::Sort_commons<32>_>" < identifier : : identifier < number_literal > identifier >) identifier) ))) { identifier < identifier : : identifier < number_literal > identifier >) identifier ;) (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "bool bVar1;" primitive_type identifier ;) (expression_statement "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;" (update_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) --) ;) (declaration "Symbol *pSVar2;" type_identifier (pointer_declarator "*pSVar2" * identifier) ;) (expression_statement "Sort_commons<32> local_res8;" (update_expression "Sort_commons<32> local_res8" (binary_expression "Sort_commons<32> local_res8" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) --) ;) (declaration "Symbol_table *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "Sort_commons_order in_stack_ffffffc4;" type_identifier identifier ;) (ERROR "pSVar3 = (Symbol_table *)\n           &gold::" (assignment_expression "pSVar3 = (Symbol_table *)\n           &gold" identifier = (cast_expression "(Symbol_table *)\n           &gold" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&gold" & identifier))) : :) (labeled_statement "Position_dependent_options::default_options_.relax_.user_set_via_option;" statement_identifier : (ERROR ":" :) (expression_statement "default_options_.relax_.user_set_via_option;" (field_expression "default_options_.relax_.user_set_via_option" (field_expression "default_options_.relax_" identifier . field_identifier) . field_identifier) ;)) (if_statement "if (__first._M_current != __last._M_current) {\n    __last_00._M_current = __first._M_current + 1;\n    if (__last_00._M_current != __last._M_current) {\n      do {\n        bVar1 = gold::Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }\n        else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }\n        __last_00._M_current = __last_00._M_current + 1;\n      } while (__last._M_current != __last_00._M_current);\n    }\n  }" if (parenthesized_expression "(__first._M_current != __last._M_current)" ( (binary_expression "__first._M_current != __last._M_current" (field_expression "__first._M_current" identifier . field_identifier) != (field_expression "__last._M_current" identifier . field_identifier)) )) (compound_statement "{\n    __last_00._M_current = __first._M_current + 1;\n    if (__last_00._M_current != __last._M_current) {\n      do {\n        bVar1 = gold::Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }\n        else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }\n        __last_00._M_current = __last_00._M_current + 1;\n      } while (__last._M_current != __last_00._M_current);\n    }\n  }" { (expression_statement "__last_00._M_current = __first._M_current + 1;" (assignment_expression "__last_00._M_current = __first._M_current + 1" (field_expression "__last_00._M_current" identifier . field_identifier) = (binary_expression "__first._M_current + 1" (field_expression "__first._M_current" identifier . field_identifier) + number_literal)) ;) (if_statement "if (__last_00._M_current != __last._M_current) {\n      do {\n        bVar1 = gold::Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }\n        else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }\n        __last_00._M_current = __last_00._M_current + 1;\n      } while (__last._M_current != __last_00._M_current);\n    }" if (parenthesized_expression "(__last_00._M_current != __last._M_current)" ( (binary_expression "__last_00._M_current != __last._M_current" (field_expression "__last_00._M_current" identifier . field_identifier) != (field_expression "__last._M_current" identifier . field_identifier)) )) (compound_statement "{\n      do {\n        bVar1 = gold::Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }\n        else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }\n        __last_00._M_current = __last_00._M_current + 1;\n      } while (__last._M_current != __last_00._M_current);\n    }" { (do_statement "do {\n        bVar1 = gold::Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }\n        else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }\n        __last_00._M_current = __last_00._M_current + 1;\n      } while (__last._M_current != __last_00._M_current);" do (compound_statement "{\n        bVar1 = gold::Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }\n        else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }\n        __last_00._M_current = __last_00._M_current + 1;\n      }" { (ERROR "bVar1 = gold::" (assignment_expression "bVar1 = gold" identifier = identifier) : :) (expression_statement "Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current);" (binary_expression "Sort_commons<32>::operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current)" (binary_expression "Sort_commons<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "operator()\n                          (&local_res8,*__last_00._M_current,*__first._M_current)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "(&local_res8,*__last_00._M_current,*__first._M_current)" ( (pointer_expression "&local_res8" & identifier) , (pointer_expression "*__last_00._M_current" * (field_expression "__last_00._M_current" identifier . field_identifier)) , (pointer_expression "*__first._M_current" * (field_expression "__first._M_current" identifier . field_identifier)) )))) ;) (if_statement "if (CONCAT31(extraout_var,bVar1) == 0) {\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }\n        else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }" if (parenthesized_expression "(CONCAT31(extraout_var,bVar1) == 0)" ( (binary_expression "CONCAT31(extraout_var,bVar1) == 0" (call_expression "CONCAT31(extraout_var,bVar1)" identifier (argument_list "(extraout_var,bVar1)" ( identifier , identifier ))) == number_literal) )) (compound_statement "{\n          __comp_00._M_comp.symtab_ = pSVar3;\n          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);\n        }" { (expression_statement "__comp_00._M_comp.symtab_ = pSVar3;" (assignment_expression "__comp_00._M_comp.symtab_ = pSVar3" (field_expression "__comp_00._M_comp.symtab_" (field_expression "__comp_00._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_00._M_comp.sort_order_ = in_stack_ffffffc4;" (assignment_expression "__comp_00._M_comp.sort_order_ = in_stack_ffffffc4" (field_expression "__comp_00._M_comp.sort_order_" (field_expression "__comp_00._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00);" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                    (__last_00,__comp_00)" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold" (binary_expression "__unguarded_linear_insert<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) (ERROR "::__ops::_Val_comp_iter" : : identifier : : identifier) < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) > (parenthesized_expression "(__last_00,__comp_00)" ( (comma_expression "__last_00,__comp_00" identifier , identifier) ))) ;) }) (else_clause "else {\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }" else (compound_statement "{\n          pSVar2 = *__last_00._M_current;\n          if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }\n          *__first._M_current = pSVar2;\n        }" { (expression_statement "pSVar2 = *__last_00._M_current;" (assignment_expression "pSVar2 = *__last_00._M_current" identifier = (pointer_expression "*__last_00._M_current" * (field_expression "__last_00._M_current" identifier . field_identifier))) ;) (if_statement "if (__first._M_current != __last_00._M_current) {\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }" if (parenthesized_expression "(__first._M_current != __last_00._M_current)" ( (binary_expression "__first._M_current != __last_00._M_current" (field_expression "__first._M_current" identifier . field_identifier) != (field_expression "__last_00._M_current" identifier . field_identifier)) )) (compound_statement "{\n            (*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);\n          }" { (expression_statement "(*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current);" (call_expression "(*(code *)pSVar3[-0x26].namepool_.offset_)\n                      (__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current)" (parenthesized_expression "(*(code *)pSVar3[-0x26].namepool_.offset_)" ( (pointer_expression "*(code *)pSVar3[-0x26].namepool_.offset_" * (cast_expression "(code *)pSVar3[-0x26].namepool_.offset_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar3[-0x26].namepool_.offset_" (field_expression "pSVar3[-0x26].namepool_" (subscript_expression "pSVar3[-0x26]" identifier [ number_literal ]) . field_identifier) . field_identifier))) )) (argument_list "(__first._M_current + 1,__first._M_current,\n                       (int)__last_00._M_current - (int)__first._M_current)" ( (binary_expression "__first._M_current + 1" (field_expression "__first._M_current" identifier . field_identifier) + number_literal) , (field_expression "__first._M_current" identifier . field_identifier) , (binary_expression "(int)__last_00._M_current - (int)__first._M_current" (cast_expression "(int)__last_00._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last_00._M_current" identifier . field_identifier)) - (cast_expression "(int)__first._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first._M_current" identifier . field_identifier))) ))) ;) })) (expression_statement "*__first._M_current = pSVar2;" (assignment_expression "*__first._M_current = pSVar2" (pointer_expression "*__first._M_current" * (field_expression "__first._M_current" identifier . field_identifier)) = identifier) ;) }))) (expression_statement "__last_00._M_current = __last_00._M_current + 1;" (assignment_expression "__last_00._M_current = __last_00._M_current + 1" (field_expression "__last_00._M_current" identifier . field_identifier) = (binary_expression "__last_00._M_current + 1" (field_expression "__last_00._M_current" identifier . field_identifier) + number_literal)) ;) }) while (parenthesized_expression "(__last._M_current != __last_00._M_current)" ( (binary_expression "__last._M_current != __last_00._M_current" (field_expression "__last._M_current" identifier . field_identifier) != (field_expression "__last_00._M_current" identifier . field_identifier)) )) ;) })) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void std::\n     __insertion_sort<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Iter_comp_iter<gold::Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}\n\n" (declaration "void std::\n     __insertion_sort<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Iter_comp_iter<gold::Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __insertion_sort<__normal_iterator<gold::Symbol" identifier : : identifier < identifier < identifier : : identifier) (pointer_declarator "**,std::vector<gold::Symbol" * (pointer_declarator "*,std::vector<gold::Symbol" * (ERROR ",std::vector<gold::" , identifier : : identifier < identifier : :) identifier)) (ERROR "*" *) , (ERROR "std::allocator<gold::" identifier : : identifier < identifier : :) identifier (ERROR "*>>>" * >> >) , (ERROR "__ops::_Iter_comp_iter<gold::Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int" identifier : : identifier < identifier : : (function_declarator "Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)" identifier (ERROR "<32>>>" < number_literal >> >) (parameter_list "(undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (if_statement "if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" if (parenthesized_expression "(param_1 != param_2)" ( (binary_expression "param_1 != param_2" identifier != identifier) )) (compound_statement "{\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" { (expression_statement "puVar2 = param_1 + 1;" (assignment_expression "puVar2 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (if_statement "if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" if (parenthesized_expression "(puVar2 != param_2)" ( (binary_expression "puVar2 != param_2" identifier != identifier) )) (compound_statement "{\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" { (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (do_statement "do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);" do (compound_statement "{\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (expression_statement "Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);" (binary_expression "Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" (binary_expression "Sort_commons<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" ( (binary_expression "(Sort_commons<32> *)&local_res8" (parenthesized_expression "(Sort_commons<32> *)" ( (binary_expression "Sort_commons<32> *" (binary_expression "Sort_commons<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) & identifier) , (cast_expression "(Symbol *)*puVar2" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Symbol *)*param_1" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) )))) ;) (if_statement "if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }" { (expression_statement "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc)" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::_Val_comp_iter" : : identifier) < identifier) (ERROR "::Sort_commons" : : identifier) < (binary_expression "32>>>\n                    (puVar2,local_res8,local_resc)" number_literal >> (ERROR ">" >) (parenthesized_expression "(puVar2,local_res8,local_resc)" ( (comma_expression "puVar2,local_res8,local_resc" identifier , (comma_expression "local_res8,local_resc" identifier , identifier)) )))) ;) }) (else_clause "else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" else (compound_statement "{\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" { (expression_statement "uVar3 = *puVar2;" (assignment_expression "uVar3 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (if_statement "if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" if (parenthesized_expression "(param_1 != puVar2)" ( (binary_expression "param_1 != puVar2" identifier != identifier) )) (compound_statement "{\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" { (expression_statement "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004c5af8)" ( (pointer_expression "*(code *)PTR_memmove_004c5af8" * (cast_expression "(code *)PTR_memmove_004c5af8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" ( (binary_expression "param_1 + 1" identifier + number_literal) , identifier , (binary_expression "(int)puVar2 - (int)param_1" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) }))) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" identifier = (binary_expression "puVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_2 != puVar2)" ( (binary_expression "param_2 != puVar2" identifier != identifier) )) ;) })) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ERROR IDENT : : IDENT < IDENT < IDENT : : IDENT) (pointer_declarator * (pointer_declarator * (ERROR , IDENT : : IDENT < IDENT : :) IDENT)) (ERROR *) , (ERROR IDENT : : IDENT < IDENT : :) IDENT (ERROR * >> >) , (ERROR IDENT : : IDENT < IDENT : : (function_declarator IDENT (ERROR < LIT >> >) (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) { TYPE) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : :) (expression_statement (binary_expression (binary_expression IDENT < LIT) > (ERROR : :) (call_expression (call_expression IDENT (argument_list ( ))) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT < LIT) > (pointer_expression * IDENT)) )) & 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 (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression 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) < IDENT) (ERROR : : IDENT) < (binary_expression LIT >> (ERROR >) (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , IDENT)) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 ( (binary_expression IDENT + LIT) , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) })) (return_statement return ;) (ERROR }))
(declaration "void std::\n     __insertion_sort<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Iter_comp_iter<gold::Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int iVar1;" (primitive_type "void") (ERROR "std::\n     __insertion_sort<__normal_iterator<gold::Symbol" (identifier "std") (: ":") (: ":") (identifier "__insertion_sort") (< "<") (identifier "__normal_iterator") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Symbol")) (pointer_declarator "**,std::vector<gold::Symbol" (* "*") (pointer_declarator "*,std::vector<gold::Symbol" (* "*") (ERROR ",std::vector<gold::" (, ",") (identifier "std") (: ":") (: ":") (identifier "vector") (< "<") (identifier "gold") (: ":") (: ":")) (identifier "Symbol"))) (ERROR "*" (* "*")) (, ",") (ERROR "std::allocator<gold::" (identifier "std") (: ":") (: ":") (identifier "allocator") (< "<") (identifier "gold") (: ":") (: ":")) (identifier "Symbol") (ERROR "*>>>" (* "*") (>> ">>") (> ">")) (, ",") (ERROR "__ops::_Iter_comp_iter<gold::Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  int" (identifier "__ops") (: ":") (: ":") (identifier "_Iter_comp_iter") (< "<") (identifier "gold") (: ":") (: ":") (function_declarator "Sort_commons<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)" (identifier "Sort_commons") (ERROR "<32>>>" (< "<") (number_literal "32") (>> ">>") (> ">")) (parameter_list "(undefined4 *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) ({ "{") (primitive_type "int")) (identifier "iVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 local_res8;" (type_identifier "undefined4") (identifier "local_res8") (; ";")) (declaration "undefined4 local_resc;" (type_identifier "undefined4") (identifier "local_resc") (; ";")) (if_statement "if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" (if "if") (parenthesized_expression "(param_1 != param_2)" (( "(") (binary_expression "param_1 != param_2" (identifier "param_1") (!= "!=") (identifier "param_2")) () ")")) (compound_statement "{\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" ({ "{") (expression_statement "puVar2 = param_1 + 1;" (assignment_expression "puVar2 = param_1 + 1" (identifier "puVar2") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar2 != param_2) {\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" (if "if") (parenthesized_expression "(puVar2 != param_2)" (( "(") (binary_expression "puVar2 != param_2" (identifier "puVar2") (!= "!=") (identifier "param_2")) () ")")) (compound_statement "{\n      local_res8 = param_3;\n      local_resc = param_4;\n      do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" ({ "{") (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" (identifier "local_res8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" (identifier "local_resc") (= "=") (identifier "param_4")) (; ";")) (do_statement "do {\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);" (do "do") (compound_statement "{\n        iVar1 = gold::Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      }" ({ "{") (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" (identifier "iVar1") (= "=") (identifier "gold")) (: ":") (: ":")) (expression_statement "Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);" (binary_expression "Sort_commons<32>::operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" (binary_expression "Sort_commons<32" (identifier "Sort_commons") (< "<") (number_literal "32")) (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "operator()\n                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" (call_expression "operator()" (identifier "operator") (argument_list "()" (( "(") () ")"))) (argument_list "((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1)" (( "(") (binary_expression "(Sort_commons<32> *)&local_res8" (parenthesized_expression "(Sort_commons<32> *)" (( "(") (binary_expression "Sort_commons<32> *" (binary_expression "Sort_commons<32" (identifier "Sort_commons") (< "<") (number_literal "32")) (> ">") (pointer_expression "*" (* "*") (identifier ""))) () ")")) (& "&") (identifier "local_res8")) (, ",") (cast_expression "(Symbol *)*puVar2" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (, ",") (cast_expression "(Symbol *)*param_1" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);\n        }" ({ "{") (expression_statement "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc);" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>\n                    (puVar2,local_res8,local_resc)" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Symbol**,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator" (identifier "__unguarded_linear_insert") (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Symbol" (: ":") (: ":") (identifier "Symbol")) (* "*") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Symbol" (: ":") (: ":") (identifier "Symbol")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Symbol*>>" (: ":") (: ":") (identifier "Symbol") (* "*") (>> ">>")) (> ">") (ERROR "," (, ",")) (identifier "__ops")) (ERROR "::_Val_comp_iter" (: ":") (: ":") (identifier "_Val_comp_iter")) (< "<") (identifier "gold")) (ERROR "::Sort_commons" (: ":") (: ":") (identifier "Sort_commons")) (< "<") (binary_expression "32>>>\n                    (puVar2,local_res8,local_resc)" (number_literal "32") (>> ">>") (ERROR ">" (> ">")) (parenthesized_expression "(puVar2,local_res8,local_resc)" (( "(") (comma_expression "puVar2,local_res8,local_resc" (identifier "puVar2") (, ",") (comma_expression "local_res8,local_resc" (identifier "local_res8") (, ",") (identifier "local_resc"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" (else "else") (compound_statement "{\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" ({ "{") (expression_statement "uVar3 = *puVar2;" (assignment_expression "uVar3 = *puVar2" (identifier "uVar3") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (if_statement "if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" (if "if") (parenthesized_expression "(param_1 != puVar2)" (( "(") (binary_expression "param_1 != puVar2" (identifier "param_1") (!= "!=") (identifier "puVar2")) () ")")) (compound_statement "{\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" ({ "{") (expression_statement "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004c5af8)" (( "(") (pointer_expression "*(code *)PTR_memmove_004c5af8" (* "*") (cast_expression "(code *)PTR_memmove_004c5af8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_004c5af8"))) () ")")) (argument_list "(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" (( "(") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) (, ",") (identifier "param_1") (, ",") (binary_expression "(int)puVar2 - (int)param_1" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")"))) (; ";")) (} "}"))) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar3")) (; ";")) (} "}")))) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" (identifier "puVar2") (= "=") (binary_expression "puVar2 + 1" (identifier "puVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_2 != puVar2)" (( "(") (binary_expression "param_2 != puVar2" (identifier "param_2") (!= "!=") (identifier "puVar2")) () ")")) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* 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_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original name: __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,
   std::vector<gold::Symbol*> >, __gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32> > > */

void std::
     __insertion_sort<var_11::var_1<var_2::type_2**,var_3::vector<var_2::type_2*>var_4>,var_12::__ops::_Iter_comp_iter<var_2::var_6<32>var_4>var_4>
               (var_1<var_2::type_2**,var_3::vector<var_2::type_2*,var_3::allocator<var_2::type_2*>var_4>var_4>
                __first,var_1<var_2::type_2**,var_3::vector<var_2::type_2*,var_3::allocator<var_2::type_2*>var_4>var_4>
                        __last,_Iter_comp_iter<var_2::var_6<32>var_4> __comp)

{
  _Val_comp_iter<var_2::var_6<32>var_4> __comp_00;
  type_1 extraout_var;
  bool bVar1;
  var_1<var_2::type_2**,var_3::vector<var_2::type_2*,var_3::allocator<var_2::type_2*>var_4>var_4>
  var_5;
  type_2 *pSVar2;
  var_6<32> var_7;
  type_3 *pSVar3;
  type_4 in_stack_ffffffc4;
  
  pSVar3 = (type_3 *)
           &var_2::Position_dependent_options::default_options_.relax_.user_set_via_option;
  if (__first._M_current != __last._M_current) {
    var_5._M_current = __first._M_current + 1;
    if (var_5._M_current != __last._M_current) {
      do {
        bVar1 = var_2::var_6<32>::var_8()
                          (&var_7,*var_5._M_current,*__first._M_current);
        if (var_9(extraout_var,bVar1) == 0) {
          __comp_00._M_comp.symtab_ = pSVar3;
          __comp_00._M_comp.sort_order_ = in_stack_ffffffc4;
          var_10<var_11::var_1<var_2::type_2**,var_3::vector<var_2::type_2*>var_4>,var_12::__ops::_Val_comp_iter<var_2::var_6<32>var_4>var_4>
                    (var_5,__comp_00);
        }
        else {
          pSVar2 = *var_5._M_current;
          if (__first._M_current != var_5._M_current) {
            (*(type_5 *)pSVar3[-0x26].namepool_.offset_)
                      (__first._M_current + 1,__first._M_current,
                       (int)var_5._M_current - (int)__first._M_current);
          }
          *__first._M_current = pSVar2;
        }
        var_5._M_current = var_5._M_current + 1;
      } while (__last._M_current != var_5._M_current);
    }
  }
  return;
}


(translation_unit (declaration type: (primitive_type) (ERROR (identifier) (identifier) (identifier) (identifier) (identifier)) declarator: (pointer_declarator declarator: (pointer_declarator (ERROR (identifier) (identifier) (identifier)) declarator: (identifier))) (ERROR) (ERROR (identifier) (identifier) (identifier)) declarator: (identifier) (ERROR) (ERROR (identifier) (identifier) (identifier) (function_declarator declarator: (identifier) (ERROR (number_literal)) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) (primitive_type)) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (ERROR (assignment_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR) right: (call_expression function: (call_expression function: (identifier) arguments: (argument_list)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (MISSING identifier)))) right: (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 (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: (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: (identifier)) (ERROR (identifier)) right: (binary_expression left: (number_literal) (ERROR) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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 (binary_expression left: (identifier) right: (number_literal)) (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: (pointer_expression argument: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (return_statement) (ERROR))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* void std::__insertion_sort<__normal_iterator<gold::Symbol**, std::vector<gold::Symbol*,
   std::allocator<gold::Symbol*> > >, __ops::_Iter_comp_iter<gold::Sort_commons<32> >
   >(__normal_iterator<gold::Symbol**, std::vector<gold::Symbol*, std::allocator<gold::Symbol*> > >,
   __normal_iterator<gold::Symbol**, std::vector<gold::Symbol*, std::allocator<gold::Symbol*> > >,
   __ops::_Iter_comp_iter<gold::Sort_commons<32> >) */

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

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 local_res8;
  undefined4 local_resc;
  
  if (param_1 != param_2) {
    puVar2 = param_1 + 1;
    if (puVar2 != param_2) {
      local_res8 = param_3;
      local_resc = param_4;
      do {
        iVar1 = gold::Sort_commons<32>::operator()
                          ((Sort_commons<32> *)&local_res8,(Symbol *)*puVar2,(Symbol *)*param_1);
        if (iVar1 == 0) {
          __unguarded_linear_insert<__normal_iterator<gold::Symbol**,std::vector<gold::Symbol*,std::allocator<gold::Symbol*>>>,__ops::_Val_comp_iter<gold::Sort_commons<32>>>
                    (puVar2,local_res8,local_resc);
        }
        else {
          uVar3 = *puVar2;
          if (param_1 != puVar2) {
            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);
          }
          *param_1 = uVar3;
        }
        puVar2 = puVar2 + 1;
      } while (param_2 != puVar2);
    }
  }
  return;
}

