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

void std::
     __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>
               (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>
                __first,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>
                        __last,Output_section **__buffer,int __buffer_size,
               _Iter_comp_iter<gold::Sort_output_sections> __comp)

{
  int iVar1;
  __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>
  __last_00;
  
  iVar1 = (((int)__last._M_current - (int)__first._M_current >> 2) + 1) / 2;
  __last_00._M_current = __first._M_current + iVar1;
  if (__buffer_size < iVar1) {
    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>
              (__first,__last_00,__buffer,__buffer_size,__comp);
    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>
              (__last_00,__last,__buffer,__buffer_size,__comp);
  }
  else {
    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>
              (__first,__last_00,__buffer,__comp);
    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>
              (__last_00,__last,__buffer,__comp);
  }
  __merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>
            (__first,__last_00,__last,iVar1 * 4 >> 2,
             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp);
  return;
}



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

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

{
  int iVar1;
  int iVar2;
  int iVar3;
  
  iVar1 = ((param_2 - param_1 >> 2) + 1) / 2;
  iVar3 = iVar1 * 4;
  iVar2 = param_1 + iVar3;
  if (param_4 < iVar1) {
    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
              (param_1,iVar2,param_3,param_4,param_5);
    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
              (iVar2,param_2,param_3,param_4,param_5);
  }
  else {
    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
              (param_1,iVar2,param_3,param_5);
    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
              (iVar2,param_2,param_3,param_5);
  }
  __merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5);
  return;
}


lui gp,0x22
addiu gp,gp,0x5abc
addu gp,gp,t9
subu v0,a1,a0
addiu sp,sp,-0x50
sra v0,v0,0x2
addiu v1,v0,0x1
sw s6,0x44(sp)
sw gp,0x20(sp)
srl v0,v1,0x1f
sw s5,0x40(sp)
sw s4,0x3c(sp)
or s5,a3,zero
addu v0,v0,v1
sw s3,0x38(sp)
sw s2,0x34(sp)
or s4,a0,zero
sra v0,v0,0x1
sw s1,0x30(sp)
sw s0,0x2c(sp)
or s3,a1,zero
sll s6,v0,0x2
sw ra,0x4c(sp)
slt v0,a3,v0
sw s7,0x48(sp)
lw s1,0x60(sp)
or s2,a2,zero
beq v0,zero,0x002a3888
_addu s0,a0,s6
lw s7,-0x4a90(gp)
or a1,s0,zero
or t9,s7,zero
bal 0x002a3784
_sw s1,0x10(sp)
or a3,s5,zero
sw s1,0x10(sp)
or a2,s2,zero
or a1,s3,zero
or t9,s7,zero
bal 0x002a3784
_or a0,s0,zero
lw gp,0x20(sp)
subu v0,s3,s0
lw t9,-0x4a34(gp)
sra a3,s6,0x2
sw s1,0x1c(sp)
sra v0,v0,0x2
sw s5,0x18(sp)
sw s2,0x14(sp)
or a2,s3,zero
sw v0,0x10(sp)
or a1,s0,zero
bal 0x002a2cb8
_or a0,s4,zero
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 s7,-0x4a28(gp)
or a3,s1,zero
or t9,s7,zero
bal 0x002a34e8
_or a1,s0,zero
or a3,s1,zero
or a2,s2,zero
or a1,s3,zero
or t9,s7,zero
bal 0x002a34e8
_or a0,s0,zero
b 0x002a382c
_lw gp,0x20(sp)
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* void std::__stable_sort_adaptive<__normal_iterator<gold::Output_section**,\n   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,\n   gold::Output_section**, int, __ops::_Iter_comp_iter<gold::Sort_output_sections>\n   >(__normal_iterator<gold::Output_section**, std::vector<gold::Output_section*,\n   std::allocator<gold::Output_section*> > >, __normal_iterator<gold::Output_section**,\n   std::vector<gold::Output_section*, std::allocator<gold::Output_section*> > >,\n   gold::Output_section**, int, __ops::_Iter_comp_iter<gold::Sort_output_sections>) */\n\nvoid std::\n     __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  \n  iVar1 = ((param_2 - param_1 >> 2) + 1) / 2;\n  iVar3 = iVar1 * 4;\n  iVar2 = param_1 + iVar3;\n  if (param_4 < iVar1) {\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);\n  }\n  else {\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }\n  __merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5);\n  return;\n}\n\n" comment comment (declaration "void std::\n     __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __stable_sort_adaptive<__normal_iterator<gold::Output_section" identifier : : identifier < identifier < identifier : : identifier) (pointer_declarator "**,std::vector<gold::Output_section" * (pointer_declarator "*,std::vector<gold::Output_section" * (ERROR ",std::vector<gold::" , identifier : : identifier < identifier : :) identifier)) (ERROR "*" *) , (ERROR "std::allocator<gold::" identifier : : identifier < identifier : :) identifier (ERROR "*>>>" * >> >) , (ERROR "gold::Output_section" identifier : : identifier) (pointer_declarator "**" * (pointer_declarator "*" * identifier)) , identifier , (ERROR "__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)\n\n{\n  int" identifier : : identifier < identifier : : (function_declarator "Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)" identifier (ERROR ">>" >>) (parameter_list "(int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (expression_statement "iVar1 = ((param_2 - param_1 >> 2) + 1) / 2;" (assignment_expression "iVar1 = ((param_2 - param_1 >> 2) + 1) / 2" identifier = (binary_expression "((param_2 - param_1 >> 2) + 1) / 2" (parenthesized_expression "((param_2 - param_1 >> 2) + 1)" ( (binary_expression "(param_2 - param_1 >> 2) + 1" (parenthesized_expression "(param_2 - param_1 >> 2)" ( (binary_expression "param_2 - param_1 >> 2" (binary_expression "param_2 - param_1" identifier - identifier) >> number_literal) )) + number_literal) )) / number_literal)) ;) (expression_statement "iVar3 = iVar1 * 4;" (assignment_expression "iVar3 = iVar1 * 4" identifier = (binary_expression "iVar1 * 4" identifier * number_literal)) ;) (expression_statement "iVar2 = param_1 + iVar3;" (assignment_expression "iVar2 = param_1 + iVar3" identifier = (binary_expression "param_1 + iVar3" identifier + identifier)) ;) (if_statement "if (param_4 < iVar1) {\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);\n  }\n  else {\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" if (parenthesized_expression "(param_4 < iVar1)" ( (binary_expression "param_4 < iVar1" identifier < identifier) )) (compound_statement "{\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);\n  }" { (ERROR "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::" (comma_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*" * identifier)) , (comma_expression "int,__ops" identifier , identifier)) : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) : :) (expression_statement "Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);" (binary_expression "Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5)" identifier >> (parenthesized_expression "(param_1,iVar2,param_3,param_4,param_5)" ( (comma_expression "param_1,iVar2,param_3,param_4,param_5" identifier , (comma_expression "iVar2,param_3,param_4,param_5" identifier , (comma_expression "param_3,param_4,param_5" identifier , (comma_expression "param_4,param_5" identifier , identifier)))) ))) ;) (ERROR "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::" (comma_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*" * identifier)) , (comma_expression "int,__ops" identifier , identifier)) : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) : :) (expression_statement "Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);" (binary_expression "Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5)" identifier >> (parenthesized_expression "(iVar2,param_2,param_3,param_4,param_5)" ( (comma_expression "iVar2,param_2,param_3,param_4,param_5" identifier , (comma_expression "param_2,param_3,param_4,param_5" identifier , (comma_expression "param_3,param_4,param_5" identifier , (comma_expression "param_4,param_5" identifier , identifier)))) ))) ;) }) (else_clause "else {\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" else (compound_statement "{\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" { (expression_statement "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5)" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,__ops" * (ERROR "," ,) identifier)) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) >> (parenthesized_expression "(param_1,iVar2,param_3,param_5)" ( (comma_expression "param_1,iVar2,param_3,param_5" identifier , (comma_expression "iVar2,param_3,param_5" identifier , (comma_expression "param_3,param_5" identifier , identifier))) ))) ;) (expression_statement "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5)" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,__ops" * (ERROR "," ,) identifier)) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) >> (parenthesized_expression "(iVar2,param_2,param_3,param_5)" ( (comma_expression "iVar2,param_2,param_3,param_5" identifier , (comma_expression "param_2,param_3,param_5" identifier , (comma_expression "param_3,param_5" identifier , identifier))) ))) ;) }))) (expression_statement "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5);" (update_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_adaptive<__normal_iterator<gold" (binary_expression "__merge_adaptive<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR ",int," , primitive_type ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,__ops" * (ERROR "," ,) identifier)) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) >> (parenthesized_expression "(param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" ( (comma_expression "param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" identifier , (comma_expression "iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" identifier , (comma_expression "param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" identifier , (comma_expression "iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" (binary_expression "iVar3 >> 2" identifier >> number_literal) , (comma_expression "param_2 - iVar2 >> 2,param_3,param_4,param_5" (binary_expression "param_2 - iVar2 >> 2" (binary_expression "param_2 - iVar2" identifier - identifier) >> number_literal) , (comma_expression "param_3,param_4,param_5" identifier , (comma_expression "param_4,param_5" 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/* DWARF original name: __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,\n   std::vector<gold::Output_section*> >, gold::Output_section**, int,\n   __gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections> > */\n\nvoid std::\n     __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n               (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                __first,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                        __last,Output_section **__buffer,int __buffer_size,\n               _Iter_comp_iter<gold::Sort_output_sections> __comp)\n\n{\n  int iVar1;\n  __normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n  __last_00;\n  \n  iVar1 = (((int)__last._M_current - (int)__first._M_current >> 2) + 1) / 2;\n  __last_00._M_current = __first._M_current + iVar1;\n  if (__buffer_size < iVar1) {\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__buffer_size,__comp);\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__buffer_size,__comp);\n  }\n  else {\n    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__comp);\n    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__comp);\n  }\n  __merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n            (__first,__last_00,__last,iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp);\n  return;\n}\n\n" comment comment comment comment (declaration "void std::\n     __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n               (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                __first,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                        __last,Output_section **__buffer,int __buffer_size,\n               _Iter_comp_iter<gold::Sort_output_sections> __comp)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section" identifier : : identifier < identifier : : identifier < identifier : : identifier) (pointer_declarator "**,_std::vector<gold::Output_section*>_" * (pointer_declarator "*,_std::vector<gold::Output_section*>_" * (ERROR ",_std::vector<gold::Output_section*>" , identifier : : identifier < identifier : : identifier * >) identifier)) (ERROR ">,_gold::Output_section**" > , (ERROR "_gold::Output_section" identifier : : identifier) * *) , identifier , (ERROR "___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n               (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                __first,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                        __last,Output_section **__buffer,int __buffer_size,\n               _Iter_comp_iter<gold::Sort_output_sections> __comp)\n\n{\n  int" identifier : : identifier : : identifier < identifier : : identifier > (function_declarator "_>\n               (__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                __first,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                        __last,Output_section **__buffer,int __buffer_size,\n               _Iter_comp_iter<gold::Sort_output_sections> __comp)" identifier (ERROR ">" >) (parameter_list "(__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                __first,__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n                        __last,Output_section **__buffer,int __buffer_size,\n               _Iter_comp_iter<gold::Sort_output_sections> __comp)" ( (parameter_declaration "__normal_iterator<gold::Output_section**" type_identifier (ERROR "<gold::Output_section" < identifier : : identifier) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) , (parameter_declaration "_std::vector<gold::Output_section*" type_identifier (ERROR "::vector<gold::Output_section" : : identifier < identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::allocator<gold::Output_section*>_>_>\n                __first" type_identifier (ERROR "::allocator<gold::Output_section*>_>_>" : : identifier < identifier : : identifier * > identifier > identifier >) identifier) , (parameter_declaration "__normal_iterator<gold::Output_section**" type_identifier (ERROR "<gold::Output_section" < identifier : : identifier) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) , (parameter_declaration "_std::vector<gold::Output_section*" type_identifier (ERROR "::vector<gold::Output_section" : : identifier < identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::allocator<gold::Output_section*>_>_>\n                        __last" type_identifier (ERROR "::allocator<gold::Output_section*>_>_>" : : identifier < identifier : : identifier * > identifier > identifier >) identifier) , (parameter_declaration "Output_section **__buffer" type_identifier (pointer_declarator "**__buffer" * (pointer_declarator "*__buffer" * identifier))) , (parameter_declaration "int __buffer_size" primitive_type identifier) , (parameter_declaration "_Iter_comp_iter<gold::Sort_output_sections> __comp" type_identifier (ERROR "<gold::Sort_output_sections>" < identifier : : identifier >) identifier) ))) { primitive_type) identifier ;) (expression_statement "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n  __last_00;" (update_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n  __last_00" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_>\n  __last_00" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>_" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*,_std" (binary_expression "__normal_iterator<gold::Output_section**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Output_section**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) --) ;) (expression_statement "iVar1 = (((int)__last._M_current - (int)__first._M_current >> 2) + 1) / 2;" (assignment_expression "iVar1 = (((int)__last._M_current - (int)__first._M_current >> 2) + 1) / 2" identifier = (binary_expression "(((int)__last._M_current - (int)__first._M_current >> 2) + 1) / 2" (parenthesized_expression "(((int)__last._M_current - (int)__first._M_current >> 2) + 1)" ( (binary_expression "((int)__last._M_current - (int)__first._M_current >> 2) + 1" (parenthesized_expression "((int)__last._M_current - (int)__first._M_current >> 2)" ( (binary_expression "(int)__last._M_current - (int)__first._M_current >> 2" (binary_expression "(int)__last._M_current - (int)__first._M_current" (cast_expression "(int)__last._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last._M_current" identifier . field_identifier)) - (cast_expression "(int)__first._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first._M_current" identifier . field_identifier))) >> number_literal) )) + number_literal) )) / number_literal)) ;) (expression_statement "__last_00._M_current = __first._M_current + iVar1;" (assignment_expression "__last_00._M_current = __first._M_current + iVar1" (field_expression "__last_00._M_current" identifier . field_identifier) = (binary_expression "__first._M_current + iVar1" (field_expression "__first._M_current" identifier . field_identifier) + identifier)) ;) (if_statement "if (__buffer_size < iVar1) {\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__buffer_size,__comp);\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__buffer_size,__comp);\n  }\n  else {\n    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__comp);\n    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__comp);\n  }" if (parenthesized_expression "(__buffer_size < iVar1)" ( (binary_expression "__buffer_size < iVar1" identifier < identifier) )) (compound_statement "{\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__buffer_size,__comp);\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__buffer_size,__comp);\n  }" { (ERROR "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::" (comma_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold" (binary_expression "__stable_sort_adaptive<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_int" * (ERROR "," ,) identifier)) , identifier) : : identifier : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) : :) (expression_statement "Sort_output_sections>_>\n              (__first,__last_00,__buffer,__buffer_size,__comp);" (binary_expression "Sort_output_sections>_>\n              (__first,__last_00,__buffer,__buffer_size,__comp)" (binary_expression "Sort_output_sections>_" identifier > identifier) > (parenthesized_expression "(__first,__last_00,__buffer,__buffer_size,__comp)" ( (comma_expression "__first,__last_00,__buffer,__buffer_size,__comp" identifier , (comma_expression "__last_00,__buffer,__buffer_size,__comp" identifier , (comma_expression "__buffer,__buffer_size,__comp" identifier , (comma_expression "__buffer_size,__comp" identifier , identifier)))) ))) ;) (ERROR "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::" (comma_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std" (binary_expression "__stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold" (binary_expression "__stable_sort_adaptive<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_int" * (ERROR "," ,) identifier)) , identifier) : : identifier : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) : :) (expression_statement "Sort_output_sections>_>\n              (__last_00,__last,__buffer,__buffer_size,__comp);" (binary_expression "Sort_output_sections>_>\n              (__last_00,__last,__buffer,__buffer_size,__comp)" (binary_expression "Sort_output_sections>_" identifier > identifier) > (parenthesized_expression "(__last_00,__last,__buffer,__buffer_size,__comp)" ( (comma_expression "__last_00,__last,__buffer,__buffer_size,__comp" identifier , (comma_expression "__last,__buffer,__buffer_size,__comp" identifier , (comma_expression "__buffer,__buffer_size,__comp" identifier , (comma_expression "__buffer_size,__comp" identifier , identifier)))) ))) ;) }) (else_clause "else {\n    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__comp);\n    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__comp);\n  }" else (compound_statement "{\n    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__comp);\n    __merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__comp);\n  }" { (expression_statement "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__comp);" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__first,__last_00,__buffer,__comp)" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold" (binary_expression "__merge_sort_with_buffer<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,___gnu_cxx" * (ERROR "," ,) identifier)) (ERROR "::__ops::_Iter_comp_iter" : : identifier : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) > identifier) > (parenthesized_expression "(__first,__last_00,__buffer,__comp)" ( (comma_expression "__first,__last_00,__buffer,__comp" identifier , (comma_expression "__last_00,__buffer,__comp" identifier , (comma_expression "__buffer,__comp" identifier , identifier))) ))) ;) (expression_statement "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__comp);" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n              (__last_00,__last,__buffer,__comp)" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,___gnu_cxx" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold::Output_section**,_std" (binary_expression "__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<gold" (binary_expression "__merge_sort_with_buffer<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,___gnu_cxx" * (ERROR "," ,) identifier)) (ERROR "::__ops::_Iter_comp_iter" : : identifier : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) > identifier) > (parenthesized_expression "(__last_00,__last,__buffer,__comp)" ( (comma_expression "__last_00,__last,__buffer,__comp" identifier , (comma_expression "__last,__buffer,__comp" identifier , (comma_expression "__buffer,__comp" identifier , identifier))) ))) ;) }))) (expression_statement "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n            (__first,__last_00,__last,iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp);" (update_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n            (__first,__last_00,__last,iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp)" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_>\n            (__first,__last_00,__last,iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp)" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_output_sections>_" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int,_gold::Output_section**,___gnu_cxx::__ops::_Iter_comp_iter<gold" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int,_gold::Output_section**,___gnu_cxx" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_int" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std" (binary_expression "__merge_adaptive<__gnu_cxx::__normal_iterator<gold" (binary_expression "__merge_adaptive<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) (ERROR ",_gold::Output_section" , identifier : : identifier) * (pointer_expression "*,___gnu_cxx" * (ERROR "," ,) identifier)) (ERROR "::__ops::_Iter_comp_iter" : : identifier : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) > identifier) > (parenthesized_expression "(__first,__last_00,__last,iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp)" ( (comma_expression "__first,__last_00,__last,iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp" identifier , (comma_expression "__last_00,__last,iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp" identifier , (comma_expression "__last,iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp" identifier , (comma_expression "iVar1 * 4 >> 2,\n             (int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp" (binary_expression "iVar1 * 4 >> 2" (binary_expression "iVar1 * 4" identifier * number_literal) >> number_literal) , (comma_expression "(int)__last._M_current - (int)__last_00._M_current >> 2,__buffer,__buffer_size,__comp" (binary_expression "(int)__last._M_current - (int)__last_00._M_current >> 2" (binary_expression "(int)__last._M_current - (int)__last_00._M_current" (cast_expression "(int)__last._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last._M_current" identifier . field_identifier)) - (cast_expression "(int)__last_00._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last_00._M_current" identifier . field_identifier))) >> number_literal) , (comma_expression "__buffer,__buffer_size,__comp" identifier , (comma_expression "__buffer_size,__comp" identifier , identifier))))))) ))) --) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void std::\n     __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  \n  iVar1 = ((param_2 - param_1 >> 2) + 1) / 2;\n  iVar3 = iVar1 * 4;\n  iVar2 = param_1 + iVar3;\n  if (param_4 < iVar1) {\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);\n  }\n  else {\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }\n  __merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5);\n  return;\n}\n\n" (declaration "void std::\n     __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __stable_sort_adaptive<__normal_iterator<gold::Output_section" identifier : : identifier < identifier < identifier : : identifier) (pointer_declarator "**,std::vector<gold::Output_section" * (pointer_declarator "*,std::vector<gold::Output_section" * (ERROR ",std::vector<gold::" , identifier : : identifier < identifier : :) identifier)) (ERROR "*" *) , (ERROR "std::allocator<gold::" identifier : : identifier < identifier : :) identifier (ERROR "*>>>" * >> >) , (ERROR "gold::Output_section" identifier : : identifier) (pointer_declarator "**" * (pointer_declarator "*" * identifier)) , identifier , (ERROR "__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)\n\n{\n  int" identifier : : identifier < identifier : : (function_declarator "Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)" identifier (ERROR ">>" >>) (parameter_list "(int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (expression_statement "iVar1 = ((param_2 - param_1 >> 2) + 1) / 2;" (assignment_expression "iVar1 = ((param_2 - param_1 >> 2) + 1) / 2" identifier = (binary_expression "((param_2 - param_1 >> 2) + 1) / 2" (parenthesized_expression "((param_2 - param_1 >> 2) + 1)" ( (binary_expression "(param_2 - param_1 >> 2) + 1" (parenthesized_expression "(param_2 - param_1 >> 2)" ( (binary_expression "param_2 - param_1 >> 2" (binary_expression "param_2 - param_1" identifier - identifier) >> number_literal) )) + number_literal) )) / number_literal)) ;) (expression_statement "iVar3 = iVar1 * 4;" (assignment_expression "iVar3 = iVar1 * 4" identifier = (binary_expression "iVar1 * 4" identifier * number_literal)) ;) (expression_statement "iVar2 = param_1 + iVar3;" (assignment_expression "iVar2 = param_1 + iVar3" identifier = (binary_expression "param_1 + iVar3" identifier + identifier)) ;) (if_statement "if (param_4 < iVar1) {\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);\n  }\n  else {\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" if (parenthesized_expression "(param_4 < iVar1)" ( (binary_expression "param_4 < iVar1" identifier < identifier) )) (compound_statement "{\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);\n  }" { (ERROR "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::" (comma_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*" * identifier)) , (comma_expression "int,__ops" identifier , identifier)) : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) : :) (expression_statement "Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);" (binary_expression "Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5)" identifier >> (parenthesized_expression "(param_1,iVar2,param_3,param_4,param_5)" ( (comma_expression "param_1,iVar2,param_3,param_4,param_5" identifier , (comma_expression "iVar2,param_3,param_4,param_5" identifier , (comma_expression "param_3,param_4,param_5" identifier , (comma_expression "param_4,param_5" identifier , identifier)))) ))) ;) (ERROR "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::" (comma_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*" * identifier)) , (comma_expression "int,__ops" identifier , identifier)) : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) : :) (expression_statement "Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);" (binary_expression "Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5)" identifier >> (parenthesized_expression "(iVar2,param_2,param_3,param_4,param_5)" ( (comma_expression "iVar2,param_2,param_3,param_4,param_5" identifier , (comma_expression "param_2,param_3,param_4,param_5" identifier , (comma_expression "param_3,param_4,param_5" identifier , (comma_expression "param_4,param_5" identifier , identifier)))) ))) ;) }) (else_clause "else {\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" else (compound_statement "{\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" { (expression_statement "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5)" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,__ops" * (ERROR "," ,) identifier)) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) >> (parenthesized_expression "(param_1,iVar2,param_3,param_5)" ( (comma_expression "param_1,iVar2,param_3,param_5" identifier , (comma_expression "iVar2,param_3,param_5" identifier , (comma_expression "param_3,param_5" identifier , identifier))) ))) ;) (expression_statement "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5)" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,__ops" * (ERROR "," ,) identifier)) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) >> (parenthesized_expression "(iVar2,param_2,param_3,param_5)" ( (comma_expression "iVar2,param_2,param_3,param_5" identifier , (comma_expression "param_2,param_3,param_5" identifier , (comma_expression "param_3,param_5" identifier , identifier))) ))) ;) }))) (expression_statement "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5);" (update_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_adaptive<__normal_iterator<gold" (binary_expression "__merge_adaptive<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section*>>" : : identifier * >>) > (ERROR ",int," , primitive_type ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,__ops" * (ERROR "," ,) identifier)) (ERROR "::_Iter_comp_iter" : : identifier) < identifier) (ERROR "::Sort_output_sections" : : identifier) >> (parenthesized_expression "(param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" ( (comma_expression "param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" identifier , (comma_expression "iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" identifier , (comma_expression "param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" identifier , (comma_expression "iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" (binary_expression "iVar3 >> 2" identifier >> number_literal) , (comma_expression "param_2 - iVar2 >> 2,param_3,param_4,param_5" (binary_expression "param_2 - iVar2 >> 2" (binary_expression "param_2 - iVar2" identifier - identifier) >> number_literal) , (comma_expression "param_3,param_4,param_5" identifier , (comma_expression "param_4,param_5" 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) (pointer_declarator * (pointer_declarator * IDENT)) , IDENT , (ERROR IDENT : : IDENT < IDENT : : (function_declarator IDENT (ERROR >>) (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) { TYPE) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) >> LIT) )) + LIT) )) / LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (ERROR (comma_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) * (pointer_expression * IDENT)) , (comma_expression IDENT , IDENT)) : : (binary_expression IDENT < IDENT) : :) (expression_statement (binary_expression IDENT >> (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , IDENT)))) ))) ;) (ERROR (comma_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) * (pointer_expression * IDENT)) , (comma_expression IDENT , IDENT)) : : (binary_expression IDENT < IDENT) : :) (expression_statement (binary_expression IDENT >> (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , IDENT)))) ))) ;) }) (else_clause else (compound_statement { (expression_statement (binary_expression (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) * (pointer_expression * (ERROR ,) IDENT)) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) >> (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , IDENT))) ))) ;) (expression_statement (binary_expression (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) * (pointer_expression * (ERROR ,) IDENT)) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) >> (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , IDENT))) ))) ;) }))) (expression_statement (update_expression (binary_expression (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 , TYPE ,) IDENT) (ERROR : : IDENT) * (pointer_expression * (ERROR ,) IDENT)) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) >> (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , (comma_expression (binary_expression IDENT >> LIT) , (comma_expression (binary_expression (binary_expression IDENT - IDENT) >> LIT) , (comma_expression IDENT , (comma_expression IDENT , IDENT))))))) ))) --) ;) (return_statement return ;) (ERROR }))
(declaration "void std::\n     __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)\n\n{\n  int iVar1;" (primitive_type "void") (ERROR "std::\n     __stable_sort_adaptive<__normal_iterator<gold::Output_section" (identifier "std") (: ":") (: ":") (identifier "__stable_sort_adaptive") (< "<") (identifier "__normal_iterator") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Output_section")) (pointer_declarator "**,std::vector<gold::Output_section" (* "*") (pointer_declarator "*,std::vector<gold::Output_section" (* "*") (ERROR ",std::vector<gold::" (, ",") (identifier "std") (: ":") (: ":") (identifier "vector") (< "<") (identifier "gold") (: ":") (: ":")) (identifier "Output_section"))) (ERROR "*" (* "*")) (, ",") (ERROR "std::allocator<gold::" (identifier "std") (: ":") (: ":") (identifier "allocator") (< "<") (identifier "gold") (: ":") (: ":")) (identifier "Output_section") (ERROR "*>>>" (* "*") (>> ">>") (> ">")) (, ",") (ERROR "gold::Output_section" (identifier "gold") (: ":") (: ":") (identifier "Output_section")) (pointer_declarator "**" (* "*") (pointer_declarator "*" (* "*") (identifier ""))) (, ",") (identifier "int") (, ",") (ERROR "__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)\n\n{\n  int" (identifier "__ops") (: ":") (: ":") (identifier "_Iter_comp_iter") (< "<") (identifier "gold") (: ":") (: ":") (function_declarator "Sort_output_sections>>\n               (int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)" (identifier "Sort_output_sections") (ERROR ">>" (>> ">>")) (parameter_list "(int param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) ({ "{") (primitive_type "int")) (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (expression_statement "iVar1 = ((param_2 - param_1 >> 2) + 1) / 2;" (assignment_expression "iVar1 = ((param_2 - param_1 >> 2) + 1) / 2" (identifier "iVar1") (= "=") (binary_expression "((param_2 - param_1 >> 2) + 1) / 2" (parenthesized_expression "((param_2 - param_1 >> 2) + 1)" (( "(") (binary_expression "(param_2 - param_1 >> 2) + 1" (parenthesized_expression "(param_2 - param_1 >> 2)" (( "(") (binary_expression "param_2 - param_1 >> 2" (binary_expression "param_2 - param_1" (identifier "param_2") (- "-") (identifier "param_1")) (>> ">>") (number_literal "2")) () ")")) (+ "+") (number_literal "1")) () ")")) (/ "/") (number_literal "2"))) (; ";")) (expression_statement "iVar3 = iVar1 * 4;" (assignment_expression "iVar3 = iVar1 * 4" (identifier "iVar3") (= "=") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar2 = param_1 + iVar3;" (assignment_expression "iVar2 = param_1 + iVar3" (identifier "iVar2") (= "=") (binary_expression "param_1 + iVar3" (identifier "param_1") (+ "+") (identifier "iVar3"))) (; ";")) (if_statement "if (param_4 < iVar1) {\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);\n  }\n  else {\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" (if "if") (parenthesized_expression "(param_4 < iVar1)" (( "(") (binary_expression "param_4 < iVar1" (identifier "param_4") (< "<") (identifier "iVar1")) () ")")) (compound_statement "{\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);\n    __stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);\n  }" ({ "{") (ERROR "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::" (comma_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator" (identifier "__stable_sort_adaptive") (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Output_section*>>" (: ":") (: ":") (identifier "Output_section") (* "*") (>> ">>")) (> ">") (ERROR "," (, ",")) (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*" (* "*") (identifier ""))) (, ",") (comma_expression "int,__ops" (identifier "int") (, ",") (identifier "__ops"))) (: ":") (: ":") (binary_expression "_Iter_comp_iter<gold" (identifier "_Iter_comp_iter") (< "<") (identifier "gold")) (: ":") (: ":")) (expression_statement "Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5);" (binary_expression "Sort_output_sections>>\n              (param_1,iVar2,param_3,param_4,param_5)" (identifier "Sort_output_sections") (>> ">>") (parenthesized_expression "(param_1,iVar2,param_3,param_4,param_5)" (( "(") (comma_expression "param_1,iVar2,param_3,param_4,param_5" (identifier "param_1") (, ",") (comma_expression "iVar2,param_3,param_4,param_5" (identifier "iVar2") (, ",") (comma_expression "param_3,param_4,param_5" (identifier "param_3") (, ",") (comma_expression "param_4,param_5" (identifier "param_4") (, ",") (identifier "param_5"))))) () ")"))) (; ";")) (ERROR "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops::_Iter_comp_iter<gold::" (comma_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,int,__ops" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__stable_sort_adaptive<__normal_iterator<gold" (binary_expression "__stable_sort_adaptive<__normal_iterator" (identifier "__stable_sort_adaptive") (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Output_section*>>" (: ":") (: ":") (identifier "Output_section") (* "*") (>> ">>")) (> ">") (ERROR "," (, ",")) (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*" (* "*") (identifier ""))) (, ",") (comma_expression "int,__ops" (identifier "int") (, ",") (identifier "__ops"))) (: ":") (: ":") (binary_expression "_Iter_comp_iter<gold" (identifier "_Iter_comp_iter") (< "<") (identifier "gold")) (: ":") (: ":")) (expression_statement "Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5);" (binary_expression "Sort_output_sections>>\n              (iVar2,param_2,param_3,param_4,param_5)" (identifier "Sort_output_sections") (>> ">>") (parenthesized_expression "(iVar2,param_2,param_3,param_4,param_5)" (( "(") (comma_expression "iVar2,param_2,param_3,param_4,param_5" (identifier "iVar2") (, ",") (comma_expression "param_2,param_3,param_4,param_5" (identifier "param_2") (, ",") (comma_expression "param_3,param_4,param_5" (identifier "param_3") (, ",") (comma_expression "param_4,param_5" (identifier "param_4") (, ",") (identifier "param_5"))))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" (else "else") (compound_statement "{\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);\n    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);\n  }" ({ "{") (expression_statement "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5);" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (param_1,iVar2,param_3,param_5)" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator" (identifier "__merge_sort_with_buffer") (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Output_section*>>" (: ":") (: ":") (identifier "Output_section") (* "*") (>> ">>")) (> ">") (ERROR "," (, ",")) (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,__ops" (* "*") (ERROR "," (, ",")) (identifier "__ops"))) (ERROR "::_Iter_comp_iter" (: ":") (: ":") (identifier "_Iter_comp_iter")) (< "<") (identifier "gold")) (ERROR "::Sort_output_sections" (: ":") (: ":") (identifier "Sort_output_sections")) (>> ">>") (parenthesized_expression "(param_1,iVar2,param_3,param_5)" (( "(") (comma_expression "param_1,iVar2,param_3,param_5" (identifier "param_1") (, ",") (comma_expression "iVar2,param_3,param_5" (identifier "iVar2") (, ",") (comma_expression "param_3,param_5" (identifier "param_3") (, ",") (identifier "param_5")))) () ")"))) (; ";")) (expression_statement "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5);" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n              (iVar2,param_2,param_3,param_5)" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_sort_with_buffer<__normal_iterator<gold" (binary_expression "__merge_sort_with_buffer<__normal_iterator" (identifier "__merge_sort_with_buffer") (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Output_section*>>" (: ":") (: ":") (identifier "Output_section") (* "*") (>> ">>")) (> ">") (ERROR "," (, ",")) (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,__ops" (* "*") (ERROR "," (, ",")) (identifier "__ops"))) (ERROR "::_Iter_comp_iter" (: ":") (: ":") (identifier "_Iter_comp_iter")) (< "<") (identifier "gold")) (ERROR "::Sort_output_sections" (: ":") (: ":") (identifier "Sort_output_sections")) (>> ">>") (parenthesized_expression "(iVar2,param_2,param_3,param_5)" (( "(") (comma_expression "iVar2,param_2,param_3,param_5" (identifier "iVar2") (, ",") (comma_expression "param_2,param_3,param_5" (identifier "param_2") (, ",") (comma_expression "param_3,param_5" (identifier "param_3") (, ",") (identifier "param_5")))) () ")"))) (; ";")) (} "}")))) (expression_statement "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5);" (update_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>\n            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold" (binary_expression "__merge_adaptive<__normal_iterator<gold::Output_section**,std" (binary_expression "__merge_adaptive<__normal_iterator<gold" (binary_expression "__merge_adaptive<__normal_iterator" (identifier "__merge_adaptive") (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Output_section*>>" (: ":") (: ":") (identifier "Output_section") (* "*") (>> ">>")) (> ">") (ERROR ",int," (, ",") (primitive_type "int") (, ",")) (identifier "gold")) (ERROR "::Output_section" (: ":") (: ":") (identifier "Output_section")) (* "*") (pointer_expression "*,__ops" (* "*") (ERROR "," (, ",")) (identifier "__ops"))) (ERROR "::_Iter_comp_iter" (: ":") (: ":") (identifier "_Iter_comp_iter")) (< "<") (identifier "gold")) (ERROR "::Sort_output_sections" (: ":") (: ":") (identifier "Sort_output_sections")) (>> ">>") (parenthesized_expression "(param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5)" (( "(") (comma_expression "param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" (identifier "param_1") (, ",") (comma_expression "iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" (identifier "iVar2") (, ",") (comma_expression "param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" (identifier "param_2") (, ",") (comma_expression "iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5" (binary_expression "iVar3 >> 2" (identifier "iVar3") (>> ">>") (number_literal "2")) (, ",") (comma_expression "param_2 - iVar2 >> 2,param_3,param_4,param_5" (binary_expression "param_2 - iVar2 >> 2" (binary_expression "param_2 - iVar2" (identifier "param_2") (- "-") (identifier "iVar2")) (>> ">>") (number_literal "2")) (, ",") (comma_expression "param_3,param_4,param_5" (identifier "param_3") (, ",") (comma_expression "param_4,param_5" (identifier "param_4") (, ",") (identifier "param_5")))))))) () ")"))) (-- "")) (; ";")) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))
(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)) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (MISSING identifier))) declarator: (identifier) (ERROR (identifier) (identifier) (identifier) (function_declarator declarator: (identifier) (ERROR) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) (primitive_type)) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (ERROR (comma_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: (pointer_expression argument: (MISSING identifier))) right: (comma_expression left: (identifier) right: (identifier))) (binary_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (identifier) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (identifier)))))))) (ERROR (comma_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: (pointer_expression argument: (MISSING identifier))) right: (comma_expression left: (identifier) right: (identifier))) (binary_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (identifier) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (identifier))))))))) alternative: (else_clause (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: (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: (pointer_expression (ERROR) argument: (identifier))) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (identifier))))))) (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: (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: (pointer_expression (ERROR) argument: (identifier))) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (identifier)))))))))) (expression_statement (update_expression argument: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (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 (primitive_type)) right: (identifier)) (ERROR (identifier)) right: (pointer_expression (ERROR) argument: (identifier))) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (identifier)))))))))) operator: (MISSING "--"))) (return_statement) (ERROR))

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

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

{
  int iVar1;
  int iVar2;
  int iVar3;
  
  iVar1 = ((param_2 - param_1 >> 2) + 1) / 2;
  iVar3 = iVar1 * 4;
  iVar2 = param_1 + iVar3;
  if (param_4 < iVar1) {
    MASKED
              (param_1,iVar2,param_3,param_4,param_5);
    MASKED
              (iVar2,param_2,param_3,param_4,param_5);
  }
  else {
    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
              (param_1,iVar2,param_3,param_5);
    __merge_sort_with_buffer<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
              (iVar2,param_2,param_3,param_5);
  }
  __merge_adaptive<__normal_iterator<gold::Output_section**,std::vector<gold::Output_section*,std::allocator<gold::Output_section*>>>,int,gold::Output_section**,__ops::_Iter_comp_iter<gold::Sort_output_sections>>
            (param_1,iVar2,param_2,iVar3 >> 2,param_2 - iVar2 >> 2,param_3,param_4,param_5);
  return;
}

