
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void save(Copy_relocs<9,_32,_false> * this, Symbol * sym,
   Sized_relobj_file<32,_false> * object, uint shndx, Output_section * output_section, uint r_type,
   Elf_Addr r_offset, Elf_Swxword r_addend) */

void __thiscall
gold::Copy_relocs<9,_32,_false>::save
          (Copy_relocs<9,_32,_false> *this,Symbol *sym,Sized_relobj_file<32,_false> *object,
          uint shndx,Output_section *output_section,uint r_type,Elf_Addr r_offset,
          Elf_Swxword r_addend)

{
  iterator __position;
  Copy_reloc_entry local_28;
  
  __position._M_current =
       (this->entries_).
       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>
       ._M_impl._M_finish;
  local_28.reloc_type_ = r_type;
  local_28.output_section_ = output_section;
  local_28.address_ = r_offset;
  local_28.addend_ = r_addend;
  if (__position._M_current !=
      (this->entries_).
      super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>
      ._M_impl._M_end_of_storage) {
    (__position._M_current)->sym_ = sym;
    (__position._M_current)->reloc_type_ = r_type;
    (__position._M_current)->relobj_ = object;
    (__position._M_current)->shndx_ = shndx;
    (__position._M_current)->output_section_ = output_section;
    (__position._M_current)->address_ = r_offset;
    (__position._M_current)->addend_ = r_addend;
    (this->entries_).
    super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>
    ._M_impl._M_finish = __position._M_current + 1;
    return;
  }
  local_28.sym_ = sym;
  local_28.relobj_ = object;
  local_28.shndx_ = shndx;
  std::
  vector<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>
  ::_M_realloc_insert<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>
            (&this->entries_,__position,&local_28);
  return;
}



/* gold::Copy_relocs<9, 32, false>::save(gold::Symbol*, gold::Sized_relobj_file<32, false>*,
   unsigned int, gold::Output_section*, unsigned int, unsigned int, int) */

void __thiscall
gold::Copy_relocs<9,32,false>::save
          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,
          Output_section *param_4,uint param_5,uint param_6,int param_7)

{
  undefined4 *puVar1;
  Symbol *local_28;
  uint local_24;
  Sized_relobj_file *local_20;
  uint local_1c;
  Output_section *local_18;
  uint local_14;
  int local_10;
  
  puVar1 = *(undefined4 **)(this + 4);
  local_24 = param_5;
  local_18 = param_4;
  local_14 = param_6;
  local_10 = param_7;
  if (puVar1 != *(undefined4 **)(this + 8)) {
    *puVar1 = param_1;
    puVar1[1] = param_5;
    puVar1[2] = param_2;
    puVar1[3] = param_3;
    puVar1[4] = param_4;
    puVar1[5] = param_6;
    puVar1[6] = param_7;
    *(undefined4 **)(this + 4) = puVar1 + 7;
    return;
  }
  local_28 = param_1;
  local_20 = param_2;
  local_1c = param_3;
  std::
  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>
  ::_M_realloc_insert<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>
            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>
              *)this,puVar1,&local_28);
  return;
}


lui gp,0x37
addiu gp,gp,0x4284
addu gp,gp,t9
addiu sp,sp,-0x40
lw v0,0x4(a0)
lw t4,0x8(a0)
lw t2,0x50(sp)
lw t3,0x54(sp)
lw t1,0x58(sp)
lw t0,0x5c(sp)
sw gp,0x10(sp)
sw ra,0x3c(sp)
sw a1,0x18(sp)
sw t3,0x1c(sp)
sw a2,0x20(sp)
sw a3,0x24(sp)
sw t2,0x28(sp)
sw t1,0x2c(sp)
beq v0,t4,0x00155040
_sw t0,0x30(sp)
lw ra,0x3c(sp)
or v1,a0,zero
addiu a0,v0,0x1c
sw a1,0x0(v0)
sw t3,0x4(v0)
sw a2,0x8(v0)
sw a3,0xc(v0)
sw t2,0x10(v0)
sw t1,0x14(v0)
sw t0,0x18(v0)
sw a0,0x4(v1)
jr ra
_addiu sp,sp,0x40
lw t9,-0x5d84(gp)
addiu a2,sp,0x18
bal 0x00154d60
_or a1,v0,zero
lw ra,0x3c(sp)
jr ra
_addiu sp,sp,0x40
(translation_unit "/* gold::Copy_relocs<9, 32, false>::save(gold::Symbol*, gold::Sized_relobj_file<32, false>*,\n   unsigned int, gold::Output_section*, unsigned int, unsigned int, int) */\n\nvoid __thiscall\ngold::Copy_relocs<9,32,false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)\n\n{\n  undefined4 *puVar1;\n  Symbol *local_28;\n  uint local_24;\n  Sized_relobj_file *local_20;\n  uint local_1c;\n  Output_section *local_18;\n  uint local_14;\n  int local_10;\n  \n  puVar1 = *(undefined4 **)(this + 4);\n  local_24 = param_5;\n  local_18 = param_4;\n  local_14 = param_6;\n  local_10 = param_7;\n  if (puVar1 != *(undefined4 **)(this + 8)) {\n    *puVar1 = param_1;\n    puVar1[1] = param_5;\n    puVar1[2] = param_2;\n    puVar1[3] = param_3;\n    puVar1[4] = param_4;\n    puVar1[5] = param_6;\n    puVar1[6] = param_7;\n    *(undefined4 **)(this + 4) = puVar1 + 7;\n    return;\n  }\n  local_28 = param_1;\n  local_20 = param_2;\n  local_1c = param_3;\n  std::\n  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Copy_relocs<9,32,false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)\n\n{\n  undefined4 *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<9,32" < number_literal , number_literal) , (ERROR "false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)\n\n{\n  undefined4" (function_declarator "false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)" identifier (ERROR ">::save" > : : identifier) (parameter_list "(Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)" ( (parameter_declaration "Copy_relocs" type_identifier) (ERROR "<9,32" < number_literal , number_literal) , (parameter_declaration "false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Sized_relobj_file *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "Output_section *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "int param_7" primitive_type identifier) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "Symbol *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "Sized_relobj_file *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (declaration "uint local_1c;" type_identifier identifier ;) (declaration "Output_section *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (declaration "uint local_14;" type_identifier identifier ;) (declaration "int local_10;" primitive_type identifier ;) (expression_statement "puVar1 = *(undefined4 **)(this + 4);" (assignment_expression "puVar1 = *(undefined4 **)(this + 4)" identifier = (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "local_24 = param_5;" (assignment_expression "local_24 = param_5" identifier = identifier) ;) (expression_statement "local_18 = param_4;" (assignment_expression "local_18 = param_4" identifier = identifier) ;) (expression_statement "local_14 = param_6;" (assignment_expression "local_14 = param_6" identifier = identifier) ;) (expression_statement "local_10 = param_7;" (assignment_expression "local_10 = param_7" identifier = identifier) ;) (if_statement "if (puVar1 != *(undefined4 **)(this + 8)) {\n    *puVar1 = param_1;\n    puVar1[1] = param_5;\n    puVar1[2] = param_2;\n    puVar1[3] = param_3;\n    puVar1[4] = param_4;\n    puVar1[5] = param_6;\n    puVar1[6] = param_7;\n    *(undefined4 **)(this + 4) = puVar1 + 7;\n    return;\n  }" if (parenthesized_expression "(puVar1 != *(undefined4 **)(this + 8))" ( (binary_expression "puVar1 != *(undefined4 **)(this + 8)" identifier != (pointer_expression "*(undefined4 **)(this + 8)" * (cast_expression "(undefined4 **)(this + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) )) (compound_statement "{\n    *puVar1 = param_1;\n    puVar1[1] = param_5;\n    puVar1[2] = param_2;\n    puVar1[3] = param_3;\n    puVar1[4] = param_4;\n    puVar1[5] = param_6;\n    puVar1[6] = param_7;\n    *(undefined4 **)(this + 4) = puVar1 + 7;\n    return;\n  }" { (expression_statement "*puVar1 = param_1;" (assignment_expression "*puVar1 = param_1" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = param_5;" (assignment_expression "puVar1[1] = param_5" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[2] = param_2;" (assignment_expression "puVar1[2] = param_2" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[3] = param_3;" (assignment_expression "puVar1[3] = param_3" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[4] = param_4;" (assignment_expression "puVar1[4] = param_4" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[5] = param_6;" (assignment_expression "puVar1[5] = param_6" (subscript_expression "puVar1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[6] = param_7;" (assignment_expression "puVar1[6] = param_7" (subscript_expression "puVar1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 **)(this + 4) = puVar1 + 7;" (assignment_expression "*(undefined4 **)(this + 4) = puVar1 + 7" (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (binary_expression "puVar1 + 7" identifier + number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "local_28 = param_1;" (assignment_expression "local_28 = param_1" identifier = identifier) ;) (expression_statement "local_20 = param_2;" (assignment_expression "local_20 = param_2" identifier = identifier) ;) (expression_statement "local_1c = param_3;" (assignment_expression "local_1c = param_3" identifier = identifier) ;) (labeled_statement "std::\n  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28);" statement_identifier (ERROR "::\n  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry,std" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry,std" number_literal , (comma_expression "false>::Copy_reloc_entry,std" (binary_expression "false>::Copy_reloc_entry" false > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" number_literal , (binary_expression "false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" (binary_expression "false>::Copy_reloc_entry>>\n  ::_M_realloc_insert" false > (ERROR "::" : :) (binary_expression "Copy_reloc_entry>>\n  ::_M_realloc_insert" identifier >> (ERROR "::" : :) identifier)) < identifier))) :) : (expression_statement "Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28);" (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" number_literal , (binary_expression "false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (binary_expression "false>::Copy_reloc_entry" false > (ERROR "::" : :) identifier) > (parenthesized_expression "((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" ( (parenthesized_expression "(vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" ( (ERROR "vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry,std" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry,std" number_literal , (comma_expression "false>::Copy_reloc_entry,std" (binary_expression "false>::Copy_reloc_entry" false > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" number_literal , (comma_expression "false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" (binary_expression "false>::Copy_reloc_entry>>\n              *)this" false > (ERROR "::" : :) (binary_expression "Copy_reloc_entry>>\n              *)this" identifier >> (pointer_expression "*)this" * (ERROR ")" )) identifier))) , (comma_expression "puVar1,&local_28" identifier , (pointer_expression "&local_28" & identifier))))) )) ))))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: void save(Copy_relocs<9,_32,_false> * this, Symbol * sym,\n   Sized_relobj_file<32,_false> * object, uint shndx, Output_section * output_section, uint r_type,\n   Elf_Addr r_offset, Elf_Swxword r_addend) */\n\nvoid __thiscall\ngold::Copy_relocs<9,_32,_false>::save\n          (Copy_relocs<9,_32,_false> *this,Symbol *sym,Sized_relobj_file<32,_false> *object,\n          uint shndx,Output_section *output_section,uint r_type,Elf_Addr r_offset,\n          Elf_Swxword r_addend)\n\n{\n  iterator __position;\n  Copy_reloc_entry local_28;\n  \n  __position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n       ._M_impl._M_finish;\n  local_28.reloc_type_ = r_type;\n  local_28.output_section_ = output_section;\n  local_28.address_ = r_offset;\n  local_28.addend_ = r_addend;\n  if (__position._M_current !=\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_end_of_storage) {\n    (__position._M_current)->sym_ = sym;\n    (__position._M_current)->reloc_type_ = r_type;\n    (__position._M_current)->relobj_ = object;\n    (__position._M_current)->shndx_ = shndx;\n    (__position._M_current)->output_section_ = output_section;\n    (__position._M_current)->address_ = r_offset;\n    (__position._M_current)->addend_ = r_addend;\n    (this->entries_).\n    super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n    ._M_impl._M_finish = __position._M_current + 1;\n    return;\n  }\n  local_28.sym_ = sym;\n  local_28.relobj_ = object;\n  local_28.shndx_ = shndx;\n  std::\n  vector<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n  ::_M_realloc_insert<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>\n            (&this->entries_,__position,&local_28);\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Copy_relocs<9,_32,_false>::save\n          (Copy_relocs<9,_32,_false> *this,Symbol *sym,Sized_relobj_file<32,_false> *object,\n          uint shndx,Output_section *output_section,uint r_type,Elf_Addr r_offset,\n          Elf_Swxword r_addend)\n\n{\n  iterator __position;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<9" < number_literal) , identifier , (ERROR "_false>::save\n          (Copy_relocs<9,_32,_false> *this,Symbol *sym,Sized_relobj_file<32,_false> *object,\n          uint shndx,Output_section *output_section,uint r_type,Elf_Addr r_offset,\n          Elf_Swxword r_addend)\n\n{\n  iterator" (function_declarator "_false>::save\n          (Copy_relocs<9,_32,_false> *this,Symbol *sym,Sized_relobj_file<32,_false> *object,\n          uint shndx,Output_section *output_section,uint r_type,Elf_Addr r_offset,\n          Elf_Swxword r_addend)" identifier (ERROR ">::save" > : : identifier) (parameter_list "(Copy_relocs<9,_32,_false> *this,Symbol *sym,Sized_relobj_file<32,_false> *object,\n          uint shndx,Output_section *output_section,uint r_type,Elf_Addr r_offset,\n          Elf_Swxword r_addend)" ( (parameter_declaration "Copy_relocs" type_identifier) (ERROR "<9" < number_literal) , (parameter_declaration "_32" type_identifier) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol *sym" type_identifier (pointer_declarator "*sym" * identifier)) , (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *object" type_identifier (ERROR ">" >) (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "Output_section *output_section" type_identifier (pointer_declarator "*output_section" * identifier)) , (parameter_declaration "uint r_type" type_identifier identifier) , (parameter_declaration "Elf_Addr r_offset" type_identifier identifier) , (parameter_declaration "Elf_Swxword r_addend" type_identifier identifier) ))) { identifier) identifier ;) (declaration "Copy_reloc_entry local_28;" type_identifier identifier ;) (expression_statement "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n       ._M_impl._M_finish;" (field_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n       ._M_impl._M_finish" (field_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n       ._M_impl" (binary_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_" (binary_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry" (binary_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9" (binary_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold" (binary_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry" (binary_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold::Copy_relocs<9" (assignment_expression "__position._M_current =\n       (this->entries_).\n       super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(this->entries_).\n       super__Vector_base<gold" (field_expression "(this->entries_).\n       super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Copy_relocs" : : identifier) < number_literal) (ERROR ",_32,_false" , identifier , identifier) > (ERROR "::" : :) identifier) (ERROR ",_std::allocator" , identifier : : identifier) < identifier) (ERROR "::Copy_relocs" : : identifier) < number_literal) (ERROR ",_32,_false" , identifier , identifier) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "local_28.reloc_type_ = r_type;" (assignment_expression "local_28.reloc_type_ = r_type" (field_expression "local_28.reloc_type_" identifier . field_identifier) = identifier) ;) (expression_statement "local_28.output_section_ = output_section;" (assignment_expression "local_28.output_section_ = output_section" (field_expression "local_28.output_section_" identifier . field_identifier) = identifier) ;) (expression_statement "local_28.address_ = r_offset;" (assignment_expression "local_28.address_ = r_offset" (field_expression "local_28.address_" identifier . field_identifier) = identifier) ;) (expression_statement "local_28.addend_ = r_addend;" (assignment_expression "local_28.addend_ = r_addend" (field_expression "local_28.addend_" identifier . field_identifier) = identifier) ;) (if_statement "if (__position._M_current !=\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_end_of_storage) {\n    (__position._M_current)->sym_ = sym;\n    (__position._M_current)->reloc_type_ = r_type;\n    (__position._M_current)->relobj_ = object;\n    (__position._M_current)->shndx_ = shndx;\n    (__position._M_current)->output_section_ = output_section;\n    (__position._M_current)->address_ = r_offset;\n    (__position._M_current)->addend_ = r_addend;\n    (this->entries_).\n    super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n    ._M_impl._M_finish = __position._M_current + 1;\n    return;\n  }" if (parenthesized_expression "(__position._M_current !=\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_end_of_storage)" ( (ERROR "__position._M_current !=\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::" (comma_expression "__position._M_current !=\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std" (binary_expression "__position._M_current !=\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9" (binary_expression "__position._M_current !=\n      (this->entries_).\n      super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) != (binary_expression "(this->entries_).\n      super__Vector_base<gold" (field_expression "(this->entries_).\n      super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Copy_relocs" : : identifier) < number_literal) , (comma_expression "_32,_false>::Copy_reloc_entry,_std" identifier , (comma_expression "_false>::Copy_reloc_entry,_std" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_end_of_storage" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_32,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_end_of_storage" identifier , (field_expression "_false>::Copy_reloc_entry>_>\n      ._M_impl._M_end_of_storage" (field_expression "_false>::Copy_reloc_entry>_>\n      ._M_impl" (binary_expression "_false>::Copy_reloc_entry>_" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier))) )) (compound_statement "{\n    (__position._M_current)->sym_ = sym;\n    (__position._M_current)->reloc_type_ = r_type;\n    (__position._M_current)->relobj_ = object;\n    (__position._M_current)->shndx_ = shndx;\n    (__position._M_current)->output_section_ = output_section;\n    (__position._M_current)->address_ = r_offset;\n    (__position._M_current)->addend_ = r_addend;\n    (this->entries_).\n    super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n    ._M_impl._M_finish = __position._M_current + 1;\n    return;\n  }" { (expression_statement "(__position._M_current)->sym_ = sym;" (assignment_expression "(__position._M_current)->sym_ = sym" (field_expression "(__position._M_current)->sym_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->reloc_type_ = r_type;" (assignment_expression "(__position._M_current)->reloc_type_ = r_type" (field_expression "(__position._M_current)->reloc_type_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->relobj_ = object;" (assignment_expression "(__position._M_current)->relobj_ = object" (field_expression "(__position._M_current)->relobj_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->shndx_ = shndx;" (assignment_expression "(__position._M_current)->shndx_ = shndx" (field_expression "(__position._M_current)->shndx_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->output_section_ = output_section;" (assignment_expression "(__position._M_current)->output_section_ = output_section" (field_expression "(__position._M_current)->output_section_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->address_ = r_offset;" (assignment_expression "(__position._M_current)->address_ = r_offset" (field_expression "(__position._M_current)->address_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->addend_ = r_addend;" (assignment_expression "(__position._M_current)->addend_ = r_addend" (field_expression "(__position._M_current)->addend_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (ERROR "(this->entries_).\n    super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::" (comma_expression "(this->entries_).\n    super__Vector_base<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std" (binary_expression "(this->entries_).\n    super__Vector_base<gold::Copy_relocs<9" (binary_expression "(this->entries_).\n    super__Vector_base<gold" (field_expression "(this->entries_).\n    super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Copy_relocs" : : identifier) < number_literal) , (comma_expression "_32,_false>::Copy_reloc_entry,_std" identifier , (comma_expression "_false>::Copy_reloc_entry,_std" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n    ._M_impl._M_finish = __position._M_current + 1;" (comma_expression "Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n    ._M_impl._M_finish = __position._M_current + 1" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_32,_false>::Copy_reloc_entry>_>\n    ._M_impl._M_finish = __position._M_current + 1" identifier , (assignment_expression "_false>::Copy_reloc_entry>_>\n    ._M_impl._M_finish = __position._M_current + 1" (field_expression "_false>::Copy_reloc_entry>_>\n    ._M_impl._M_finish" (field_expression "_false>::Copy_reloc_entry>_>\n    ._M_impl" (binary_expression "_false>::Copy_reloc_entry>_" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)))) ;) (return_statement "return;" return ;) })) (expression_statement "local_28.sym_ = sym;" (assignment_expression "local_28.sym_ = sym" (field_expression "local_28.sym_" identifier . field_identifier) = identifier) ;) (expression_statement "local_28.relobj_ = object;" (assignment_expression "local_28.relobj_ = object" (field_expression "local_28.relobj_" identifier . field_identifier) = identifier) ;) (expression_statement "local_28.shndx_ = shndx;" (assignment_expression "local_28.shndx_ = shndx" (field_expression "local_28.shndx_" identifier . field_identifier) = identifier) ;) (labeled_statement "std::\n  vector<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n  ::_M_realloc_insert<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>\n            (&this->entries_,__position,&local_28);" statement_identifier (ERROR "::\n  vector<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n  ::_M_realloc_insert<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Copy_relocs<9,_32,_false>::Copy_reloc_entry,_std" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_32,_false>::Copy_reloc_entry,_std" identifier , (comma_expression "_false>::Copy_reloc_entry,_std" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Copy_relocs<9,_32,_false>::Copy_reloc_entry>_>\n  ::_M_realloc_insert<gold" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_32,_false>::Copy_reloc_entry>_>\n  ::_M_realloc_insert<gold" identifier , (binary_expression "_false>::Copy_reloc_entry>_>\n  ::_M_realloc_insert<gold" (binary_expression "_false>::Copy_reloc_entry>_>\n  ::_M_realloc_insert" (binary_expression "_false>::Copy_reloc_entry>_" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "::" : :) identifier) < identifier))) :) : (expression_statement "Copy_relocs<9,_32,_false>::Copy_reloc_entry>\n            (&this->entries_,__position,&local_28);" (comma_expression "Copy_relocs<9,_32,_false>::Copy_reloc_entry>\n            (&this->entries_,__position,&local_28)" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_32,_false>::Copy_reloc_entry>\n            (&this->entries_,__position,&local_28)" identifier , (binary_expression "_false>::Copy_reloc_entry>\n            (&this->entries_,__position,&local_28)" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) > (parenthesized_expression "(&this->entries_,__position,&local_28)" ( (comma_expression "&this->entries_,__position,&local_28" (pointer_expression "&this->entries_" & (field_expression "this->entries_" identifier -> field_identifier)) , (comma_expression "__position,&local_28" identifier , (pointer_expression "&local_28" & identifier))) ))))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Copy_relocs<9,32,false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)\n\n{\n  undefined4 *puVar1;\n  Symbol *local_28;\n  uint local_24;\n  Sized_relobj_file *local_20;\n  uint local_1c;\n  Output_section *local_18;\n  uint local_14;\n  int local_10;\n  \n  puVar1 = *(undefined4 **)(this + 4);\n  local_24 = param_5;\n  local_18 = param_4;\n  local_14 = param_6;\n  local_10 = param_7;\n  if (puVar1 != *(undefined4 **)(this + 8)) {\n    *puVar1 = param_1;\n    puVar1[1] = param_5;\n    puVar1[2] = param_2;\n    puVar1[3] = param_3;\n    puVar1[4] = param_4;\n    puVar1[5] = param_6;\n    puVar1[6] = param_7;\n    *(undefined4 **)(this + 4) = puVar1 + 7;\n    return;\n  }\n  local_28 = param_1;\n  local_20 = param_2;\n  local_1c = param_3;\n  std::\n  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28);\n  return;\n}\n\n" (declaration "void __thiscall\ngold::Copy_relocs<9,32,false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)\n\n{\n  undefined4 *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<9,32" < number_literal , number_literal) , (ERROR "false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)\n\n{\n  undefined4" (function_declarator "false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)" identifier (ERROR ">::save" > : : identifier) (parameter_list "(Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)" ( (parameter_declaration "Copy_relocs" type_identifier) (ERROR "<9,32" < number_literal , number_literal) , (parameter_declaration "false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Sized_relobj_file *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "Output_section *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "int param_7" primitive_type identifier) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "Symbol *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "Sized_relobj_file *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (declaration "uint local_1c;" type_identifier identifier ;) (declaration "Output_section *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (declaration "uint local_14;" type_identifier identifier ;) (declaration "int local_10;" primitive_type identifier ;) (expression_statement "puVar1 = *(undefined4 **)(this + 4);" (assignment_expression "puVar1 = *(undefined4 **)(this + 4)" identifier = (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "local_24 = param_5;" (assignment_expression "local_24 = param_5" identifier = identifier) ;) (expression_statement "local_18 = param_4;" (assignment_expression "local_18 = param_4" identifier = identifier) ;) (expression_statement "local_14 = param_6;" (assignment_expression "local_14 = param_6" identifier = identifier) ;) (expression_statement "local_10 = param_7;" (assignment_expression "local_10 = param_7" identifier = identifier) ;) (if_statement "if (puVar1 != *(undefined4 **)(this + 8)) {\n    *puVar1 = param_1;\n    puVar1[1] = param_5;\n    puVar1[2] = param_2;\n    puVar1[3] = param_3;\n    puVar1[4] = param_4;\n    puVar1[5] = param_6;\n    puVar1[6] = param_7;\n    *(undefined4 **)(this + 4) = puVar1 + 7;\n    return;\n  }" if (parenthesized_expression "(puVar1 != *(undefined4 **)(this + 8))" ( (binary_expression "puVar1 != *(undefined4 **)(this + 8)" identifier != (pointer_expression "*(undefined4 **)(this + 8)" * (cast_expression "(undefined4 **)(this + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) )) (compound_statement "{\n    *puVar1 = param_1;\n    puVar1[1] = param_5;\n    puVar1[2] = param_2;\n    puVar1[3] = param_3;\n    puVar1[4] = param_4;\n    puVar1[5] = param_6;\n    puVar1[6] = param_7;\n    *(undefined4 **)(this + 4) = puVar1 + 7;\n    return;\n  }" { (expression_statement "*puVar1 = param_1;" (assignment_expression "*puVar1 = param_1" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = param_5;" (assignment_expression "puVar1[1] = param_5" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[2] = param_2;" (assignment_expression "puVar1[2] = param_2" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[3] = param_3;" (assignment_expression "puVar1[3] = param_3" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[4] = param_4;" (assignment_expression "puVar1[4] = param_4" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[5] = param_6;" (assignment_expression "puVar1[5] = param_6" (subscript_expression "puVar1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[6] = param_7;" (assignment_expression "puVar1[6] = param_7" (subscript_expression "puVar1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 **)(this + 4) = puVar1 + 7;" (assignment_expression "*(undefined4 **)(this + 4) = puVar1 + 7" (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (binary_expression "puVar1 + 7" identifier + number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "local_28 = param_1;" (assignment_expression "local_28 = param_1" identifier = identifier) ;) (expression_statement "local_20 = param_2;" (assignment_expression "local_20 = param_2" identifier = identifier) ;) (expression_statement "local_1c = param_3;" (assignment_expression "local_1c = param_3" identifier = identifier) ;) (labeled_statement "std::\n  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28);" statement_identifier (ERROR "::\n  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry,std" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry,std" number_literal , (comma_expression "false>::Copy_reloc_entry,std" (binary_expression "false>::Copy_reloc_entry" false > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" number_literal , (binary_expression "false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" (binary_expression "false>::Copy_reloc_entry>>\n  ::_M_realloc_insert" false > (ERROR "::" : :) (binary_expression "Copy_reloc_entry>>\n  ::_M_realloc_insert" identifier >> (ERROR "::" : :) identifier)) < identifier))) :) : (expression_statement "Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28);" (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" number_literal , (binary_expression "false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (binary_expression "false>::Copy_reloc_entry" false > (ERROR "::" : :) identifier) > (parenthesized_expression "((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" ( (parenthesized_expression "(vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" ( (ERROR "vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry,std" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry,std" number_literal , (comma_expression "false>::Copy_reloc_entry,std" (binary_expression "false>::Copy_reloc_entry" false > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" number_literal , (comma_expression "false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" (binary_expression "false>::Copy_reloc_entry>>\n              *)this" false > (ERROR "::" : :) (binary_expression "Copy_reloc_entry>>\n              *)this" identifier >> (pointer_expression "*)this" * (ERROR ")" )) identifier))) , (comma_expression "puVar1,&local_28" identifier , (pointer_expression "&local_28" & identifier))))) )) ))))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : :) IDENT (ERROR < LIT , LIT) , (ERROR (function_declarator IDENT (ERROR > : : IDENT) (parameter_list ( (parameter_declaration TYPE) (ERROR < LIT , LIT) , (parameter_declaration TYPE (ERROR >) (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) { IDENT) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression LIT , (comma_expression (binary_expression BOOL > (ERROR : :) IDENT) , IDENT))) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression LIT , (binary_expression (binary_expression BOOL > (ERROR : :) (binary_expression IDENT >> (ERROR : :) IDENT)) < IDENT))) :) : (expression_statement (comma_expression (binary_expression IDENT < LIT) , (comma_expression LIT , (binary_expression (binary_expression BOOL > (ERROR : :) IDENT) > (parenthesized_expression ( (parenthesized_expression ( (ERROR (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression LIT , (comma_expression (binary_expression BOOL > (ERROR : :) IDENT) , IDENT))) : : (binary_expression IDENT < IDENT) : :) (comma_expression (binary_expression IDENT < LIT) , (comma_expression LIT , (comma_expression (binary_expression BOOL > (ERROR : :) (binary_expression IDENT >> (pointer_expression * (ERROR )) IDENT))) , (comma_expression IDENT , (pointer_expression & IDENT))))) )) ))))) ;)) (return_statement return ;) (ERROR }))
(declaration "void __thiscall\ngold::Copy_relocs<9,32,false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)\n\n{\n  undefined4 *puVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::" (identifier "gold") (: ":") (: ":")) (identifier "Copy_relocs") (ERROR "<9,32" (< "<") (number_literal "9") (, ",") (number_literal "32")) (, ",") (ERROR "false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)\n\n{\n  undefined4" (function_declarator "false>::save\n          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)" (identifier "false") (ERROR ">::save" (> ">") (: ":") (: ":") (identifier "save")) (parameter_list "(Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,\n          Output_section *param_4,uint param_5,uint param_6,int param_7)" (( "(") (parameter_declaration "Copy_relocs" (type_identifier "Copy_relocs")) (ERROR "<9,32" (< "<") (number_literal "9") (, ",") (number_literal "32")) (, ",") (parameter_declaration "false> *this" (type_identifier "false") (ERROR ">" (> ">")) (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Symbol *param_1" (type_identifier "Symbol") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "Sized_relobj_file *param_2" (type_identifier "Sized_relobj_file") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "Output_section *param_4" (type_identifier "Output_section") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "uint param_6" (type_identifier "uint") (identifier "param_6")) (, ",") (parameter_declaration "int param_7" (primitive_type "int") (identifier "param_7")) () ")"))) ({ "{") (identifier "undefined4")) (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "Symbol *local_28;" (type_identifier "Symbol") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (declaration "Sized_relobj_file *local_20;" (type_identifier "Sized_relobj_file") (pointer_declarator "*local_20" (* "*") (identifier "local_20")) (; ";")) (declaration "uint local_1c;" (type_identifier "uint") (identifier "local_1c") (; ";")) (declaration "Output_section *local_18;" (type_identifier "Output_section") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (declaration "uint local_14;" (type_identifier "uint") (identifier "local_14") (; ";")) (declaration "int local_10;" (primitive_type "int") (identifier "local_10") (; ";")) (expression_statement "puVar1 = *(undefined4 **)(this + 4);" (assignment_expression "puVar1 = *(undefined4 **)(this + 4)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(this + 4)" (* "*") (cast_expression "(undefined4 **)(this + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_24 = param_5;" (assignment_expression "local_24 = param_5" (identifier "local_24") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_18 = param_4;" (assignment_expression "local_18 = param_4" (identifier "local_18") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_14 = param_6;" (assignment_expression "local_14 = param_6" (identifier "local_14") (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_10 = param_7;" (assignment_expression "local_10 = param_7" (identifier "local_10") (= "=") (identifier "param_7")) (; ";")) (if_statement "if (puVar1 != *(undefined4 **)(this + 8)) {\n    *puVar1 = param_1;\n    puVar1[1] = param_5;\n    puVar1[2] = param_2;\n    puVar1[3] = param_3;\n    puVar1[4] = param_4;\n    puVar1[5] = param_6;\n    puVar1[6] = param_7;\n    *(undefined4 **)(this + 4) = puVar1 + 7;\n    return;\n  }" (if "if") (parenthesized_expression "(puVar1 != *(undefined4 **)(this + 8))" (( "(") (binary_expression "puVar1 != *(undefined4 **)(this + 8)" (identifier "puVar1") (!= "!=") (pointer_expression "*(undefined4 **)(this + 8)" (* "*") (cast_expression "(undefined4 **)(this + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n    *puVar1 = param_1;\n    puVar1[1] = param_5;\n    puVar1[2] = param_2;\n    puVar1[3] = param_3;\n    puVar1[4] = param_4;\n    puVar1[5] = param_6;\n    puVar1[6] = param_7;\n    *(undefined4 **)(this + 4) = puVar1 + 7;\n    return;\n  }" ({ "{") (expression_statement "*puVar1 = param_1;" (assignment_expression "*puVar1 = param_1" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar1[1] = param_5;" (assignment_expression "puVar1[1] = param_5" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "puVar1[2] = param_2;" (assignment_expression "puVar1[2] = param_2" (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "puVar1[3] = param_3;" (assignment_expression "puVar1[3] = param_3" (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "puVar1[4] = param_4;" (assignment_expression "puVar1[4] = param_4" (subscript_expression "puVar1[4]" (identifier "puVar1") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puVar1[5] = param_6;" (assignment_expression "puVar1[5] = param_6" (subscript_expression "puVar1[5]" (identifier "puVar1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "puVar1[6] = param_7;" (assignment_expression "puVar1[6] = param_7" (subscript_expression "puVar1[6]" (identifier "puVar1") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "param_7")) (; ";")) (expression_statement "*(undefined4 **)(this + 4) = puVar1 + 7;" (assignment_expression "*(undefined4 **)(this + 4) = puVar1 + 7" (pointer_expression "*(undefined4 **)(this + 4)" (* "*") (cast_expression "(undefined4 **)(this + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "puVar1 + 7" (identifier "puVar1") (+ "+") (number_literal "7"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_28 = param_1;" (assignment_expression "local_28 = param_1" (identifier "local_28") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_20 = param_2;" (assignment_expression "local_20 = param_2" (identifier "local_20") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_1c = param_3;" (assignment_expression "local_1c = param_3" (identifier "local_1c") (= "=") (identifier "param_3")) (; ";")) (labeled_statement "std::\n  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28);" (statement_identifier "std") (ERROR "::\n  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold:" (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry,std" (binary_expression "Copy_relocs<9" (identifier "Copy_relocs") (< "<") (number_literal "9")) (, ",") (comma_expression "32,false>::Copy_reloc_entry,std" (number_literal "32") (, ",") (comma_expression "false>::Copy_reloc_entry,std" (binary_expression "false>::Copy_reloc_entry" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Copy_reloc_entry")) (, ",") (identifier "std")))) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" (binary_expression "Copy_relocs<9" (identifier "Copy_relocs") (< "<") (number_literal "9")) (, ",") (comma_expression "32,false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" (number_literal "32") (, ",") (binary_expression "false>::Copy_reloc_entry>>\n  ::_M_realloc_insert<gold" (binary_expression "false>::Copy_reloc_entry>>\n  ::_M_realloc_insert" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (binary_expression "Copy_reloc_entry>>\n  ::_M_realloc_insert" (identifier "Copy_reloc_entry") (>> ">>") (ERROR "::" (: ":") (: ":")) (identifier "_M_realloc_insert"))) (< "<") (identifier "gold")))) (: ":")) (: ":") (expression_statement "Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28);" (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (binary_expression "Copy_relocs<9" (identifier "Copy_relocs") (< "<") (number_literal "9")) (, ",") (comma_expression "32,false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (number_literal "32") (, ",") (binary_expression "false>::Copy_reloc_entry>\n            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (binary_expression "false>::Copy_reloc_entry" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Copy_reloc_entry")) (> ">") (parenthesized_expression "((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (( "(") (parenthesized_expression "(vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28)" (( "(") (ERROR "vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::" (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry,std" (binary_expression "Copy_relocs<9" (identifier "Copy_relocs") (< "<") (number_literal "9")) (, ",") (comma_expression "32,false>::Copy_reloc_entry,std" (number_literal "32") (, ",") (comma_expression "false>::Copy_reloc_entry,std" (binary_expression "false>::Copy_reloc_entry" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Copy_reloc_entry")) (, ",") (identifier "std")))) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":")) (comma_expression "Copy_relocs<9,32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" (binary_expression "Copy_relocs<9" (identifier "Copy_relocs") (< "<") (number_literal "9")) (, ",") (comma_expression "32,false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" (number_literal "32") (, ",") (comma_expression "false>::Copy_reloc_entry>>\n              *)this,puVar1,&local_28" (binary_expression "false>::Copy_reloc_entry>>\n              *)this" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (binary_expression "Copy_reloc_entry>>\n              *)this" (identifier "Copy_reloc_entry") (>> ">>") (pointer_expression "*)this" (* "*") (ERROR ")" () ")")) (identifier "this")))) (, ",") (comma_expression "puVar1,&local_28" (identifier "puVar1") (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")))))) () ")")) () ""))))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void save(Copy_relocs<9,_32,_false> * this, Symbol * sym,
   Sized_relobj_file<32,_false> * object, uint shndx, Output_section * output_section, uint r_type,
   Elf_Addr r_offset, Elf_Swxword r_addend) */

void __thiscall
var_1::var_3<9,_32,var_4>::save
          (var_3<9,_32,var_4> *this,Symbol *sym,Sized_relobj_file<32,var_4> *object,
          uint shndx,Output_section *output_section,uint r_type,Elf_Addr r_offset,
          Elf_Swxword r_addend)

{
  iterator __position;
  type_1 local_28;
  
  __position._M_current =
       (this->entries_).
       super__Vector_base<var_1::var_3<9,_32,var_4>::type_1,_std::allocator<var_1::var_3<9,_32,var_4>::type_1>var_2>
       ._M_impl._M_finish;
  local_28.reloc_type_ = r_type;
  local_28.output_section_ = output_section;
  local_28.address_ = r_offset;
  local_28.addend_ = r_addend;
  if (__position._M_current !=
      (this->entries_).
      super__Vector_base<var_1::var_3<9,_32,var_4>::type_1,_std::allocator<var_1::var_3<9,_32,var_4>::type_1>var_2>
      ._M_impl._M_end_of_storage) {
    (__position._M_current)->sym_ = sym;
    (__position._M_current)->reloc_type_ = r_type;
    (__position._M_current)->relobj_ = object;
    (__position._M_current)->shndx_ = shndx;
    (__position._M_current)->output_section_ = output_section;
    (__position._M_current)->address_ = r_offset;
    (__position._M_current)->addend_ = r_addend;
    (this->entries_).
    super__Vector_base<var_1::var_3<9,_32,var_4>::type_1,_std::allocator<var_1::var_3<9,_32,var_4>::type_1>var_2>
    ._M_impl._M_finish = __position._M_current + 1;
    return;
  }
  local_28.sym_ = sym;
  local_28.relobj_ = object;
  local_28.shndx_ = shndx;
  std::
  vector<var_1::var_3<9,_32,var_4>::type_1,_std::allocator<var_1::var_3<9,_32,var_4>::type_1>var_2>
  ::_M_realloc_insert<var_1::var_3<9,_32,var_4>::type_1>
            (&this->entries_,__position,&local_28);
  return;
}


(translation_unit (declaration type: (primitive_type) declarator: (ms_call_modifier) (ERROR (identifier)) declarator: (identifier) (ERROR (number_literal) (number_literal)) (ERROR (function_declarator declarator: (identifier) (ERROR (identifier)) parameters: (parameter_list (parameter_declaration type: (type_identifier)) (ERROR (number_literal) (number_literal)) (parameter_declaration type: (type_identifier) (ERROR) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) (identifier)) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (number_literal) right: (comma_expression left: (binary_expression left: (false) (ERROR) right: (identifier)) right: (identifier)))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (number_literal) right: (binary_expression left: (binary_expression left: (false) (ERROR) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) right: (identifier))))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (number_literal) right: (binary_expression left: (binary_expression left: (false) (ERROR) right: (identifier)) right: (parenthesized_expression (parenthesized_expression (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (number_literal) right: (comma_expression left: (binary_expression left: (false) (ERROR) right: (identifier)) right: (identifier)))) (binary_expression left: (identifier) right: (identifier))) (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (number_literal) right: (comma_expression left: (binary_expression left: (false) (ERROR) right: (binary_expression left: (identifier) right: (pointer_expression (ERROR) argument: (identifier)))) right: (comma_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (MISSING ")"))))))) (return_statement) (ERROR))

/* gold::Copy_relocs<9, 32, false>::MASKED(gold::Symbol*, gold::Sized_relobj_file<32, false>*,
   unsigned int, gold::Output_section*, unsigned int, unsigned int, int) */

void __thiscall
gold::Copy_relocs<9,32,false>::MASKED
          (Copy_relocs<9,32,false> *this,Symbol *param_1,Sized_relobj_file *param_2,uint param_3,
          Output_section *param_4,uint param_5,uint param_6,int param_7)

{
  undefined4 *puVar1;
  Symbol *local_28;
  uint local_24;
  Sized_relobj_file *local_20;
  uint local_1c;
  Output_section *local_18;
  uint local_14;
  int local_10;
  
  puVar1 = *(undefined4 **)(this + 4);
  local_24 = param_5;
  local_18 = param_4;
  local_14 = param_6;
  local_10 = param_7;
  if (puVar1 != *(undefined4 **)(this + 8)) {
    *puVar1 = param_1;
    puVar1[1] = param_5;
    puVar1[2] = param_2;
    puVar1[3] = param_3;
    puVar1[4] = param_4;
    puVar1[5] = param_6;
    puVar1[6] = param_7;
    *(undefined4 **)(this + 4) = puVar1 + 7;
    return;
  }
  local_28 = param_1;
  local_20 = param_2;
  local_1c = param_3;
  std::
  vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>
  ::_M_realloc_insert<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>
            ((vector<gold::Copy_relocs<9,32,false>::Copy_reloc_entry,std::allocator<gold::Copy_relocs<9,32,false>::Copy_reloc_entry>>
              *)this,puVar1,&local_28);
  return;
}

