
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void ~Kept_section(Kept_section * this, int __in_chrg) */

void __thiscall gold::Kept_section::~Kept_section(Kept_section *this,int __in_chrg)

{
  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>
  *this_00;
  
  if (this->is_comdat_ == false) {
    return;
  }
  this_00 = &((this->u_).group_sections)->_M_t;
  if (this_00 !=
      (_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>
       *)0x0) {
    std::
    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>
    ::_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent);
    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);
    return;
  }
  return;
}



/* gold::Kept_section::~Kept_section() */

void __thiscall gold::Kept_section::~Kept_section(Kept_section *this)

{
  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>
  *this_00;
  
  if (this[8] == (Kept_section)0x0) {
    return;
  }
  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>
              **)(this + 0x10);
  if (this_00 !=
      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>
       *)0x0) {
    std::
    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>
    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));
    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);
    return;
  }
  return;
}


lui gp,0x40
addiu gp,gp,-0x2950
addu gp,gp,t9
lbu v0,0x8(a0)
bne v0,zero,0x000cbbb0
_nop
jr ra
_nop
addiu sp,sp,-0x20
sw s0,0x18(sp)
sw gp,0x10(sp)
sw ra,0x1c(sp)
lw s0,0x10(a0)
beq s0,zero,0x000cbbf8
_lw t9,-0x78e0(gp)
lw a1,0x8(s0)
bal 0x000cbae8
_or a0,s0,zero
or a0,s0,zero
lw gp,0x10(sp)
li a1,0x18
lw ra,0x1c(sp)
lw s0,0x18(sp)
lw t9,-0x7e1c(gp)
jr t9
_addiu sp,sp,0x20
lw ra,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x20
(translation_unit "/* gold::Kept_section::~Kept_section() */\n\nvoid __thiscall gold::Kept_section::~Kept_section(Kept_section *this)\n\n{\n  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n  *this_00;\n  \n  if (this[8] == (Kept_section)0x0) {\n    return;\n  }\n  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);\n  if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall gold::Kept_section::~Kept_section(Kept_section *this)\n\n{\n  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n  *this_00;\n  \n  if (this[8] == (Kept_section)0x0) {\n    return;\n  }\n  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);\n  if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Kept_section::~" identifier : : identifier : : ~) (function_declarator "Kept_section(Kept_section *this)" identifier (parameter_list "(Kept_section *this)" ( (parameter_declaration "Kept_section *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n  *this_00;\n  \n  if (this[8] == (Kept_section)0x0) {\n    return;\n  }\n  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);\n  if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}" { (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : (comma_expression "Kept_section::Comdat_section_info>,std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : (comma_expression "Kept_section::Comdat_section_info>>,std" identifier (ERROR "::Comdat_section_info>>" : : identifier >>) , identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : :) (expression_statement "Kept_section::Comdat_section_info>>>\n  *this_00;" (binary_expression "Kept_section::Comdat_section_info>>>\n  *this_00" identifier (ERROR "::Comdat_section_info>>" : : identifier >>) > (pointer_expression "*this_00" * identifier)) ;) (if_statement "if (this[8] == (Kept_section)0x0) {\n    return;\n  }" if (parenthesized_expression "(this[8] == (Kept_section)0x0)" ( (binary_expression "this[8] == (Kept_section)0x0" (subscript_expression "this[8]" identifier [ number_literal ]) == (cast_expression "(Kept_section)0x0" ( (type_descriptor "Kept_section" type_identifier) ) number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);" (assignment_expression "this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" identifier = (pointer_expression "*(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" * (call_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" (parenthesized_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)" ( (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : : (binary_expression "Comdat_section_info>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : : (binary_expression "Comdat_section_info>>,std" identifier >> (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : :) (binary_expression "Comdat_section_info>>>\n              **" identifier >> (ERROR ">" >) (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }" if (parenthesized_expression "(this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" ( (binary_expression "this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" identifier != (parenthesized_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" ( (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : : (binary_expression "Comdat_section_info>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : : (binary_expression "Comdat_section_info>>,std" identifier >> (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : :) (binary_expression "Comdat_section_info>>>\n       *)0x0" identifier >> (ERROR ">" >) (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }" { (ERROR "std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::" (comma_expression "std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std" identifier (ERROR "::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : (comma_expression "Kept_section::Comdat_section_info>,std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : (comma_expression "Kept_section::Comdat_section_info>>,std" identifier (ERROR "::Comdat_section_info>>" : : identifier >>) , identifier) : : (binary_expression "less<std" identifier < identifier) : : identifier >) , identifier) : : identifier < identifier : : identifier < identifier : : identifier , identifier : : identifier : : identifier >> > : :) (expression_statement "_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));" (call_expression "_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8))" identifier (argument_list "(this_00,*(_Rb_tree_node **)(this_00 + 8))" ( identifier , (pointer_expression "*(_Rb_tree_node **)(this_00 + 8)" * (cast_expression "(_Rb_tree_node **)(this_00 + 8)" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this_00 + 8)" ( (binary_expression "this_00 + 8" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_operator_delete_004c1424)(this_00,0x18);" (call_expression "(*(code *)PTR_operator_delete_004c1424)(this_00,0x18)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c1424)" ( (pointer_expression "*(code *)PTR_operator_delete_004c1424" * (cast_expression "(code *)PTR_operator_delete_004c1424" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this_00,0x18)" ( identifier , number_literal ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(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 ~Kept_section(Kept_section * this, int __in_chrg) */\n\nvoid __thiscall gold::Kept_section::~Kept_section(Kept_section *this,int __in_chrg)\n\n{\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n  *this_00;\n  \n  if (this->is_comdat_ == false) {\n    return;\n  }\n  this_00 = &((this->u_).group_sections)->_M_t;\n  if (this_00 !=\n      (_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n       *)0x0) {\n    std::\n    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n    ::_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent);\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}\n\n" comment comment comment (function_definition "void __thiscall gold::Kept_section::~Kept_section(Kept_section *this,int __in_chrg)\n\n{\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n  *this_00;\n  \n  if (this->is_comdat_ == false) {\n    return;\n  }\n  this_00 = &((this->u_).group_sections)->_M_t;\n  if (this_00 !=\n      (_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n       *)0x0) {\n    std::\n    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n    ::_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent);\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Kept_section::~" identifier : : identifier : : ~) (function_declarator "Kept_section(Kept_section *this,int __in_chrg)" identifier (parameter_list "(Kept_section *this,int __in_chrg)" ( (parameter_declaration "Kept_section *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "int __in_chrg" primitive_type identifier) ))) (compound_statement "{\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n  *this_00;\n  \n  if (this->is_comdat_ == false) {\n    return;\n  }\n  this_00 = &((this->u_).group_sections)->_M_t;\n  if (this_00 !=\n      (_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n       *)0x0) {\n    std::\n    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n    ::_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent);\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}" { (ERROR "_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::" (binary_expression "_Rb_tree<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>,_std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>_>,_std" identifier (ERROR "::Comdat_section_info>_>" : : (binary_expression "Comdat_section_info>_" identifier > identifier) >) , identifier) : : (binary_expression "less<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "Kept_section::Comdat_section_info>_>_>\n  *this_00;" statement_identifier : (ERROR ":" :) (expression_statement "Comdat_section_info>_>_>\n  *this_00;" (binary_expression "Comdat_section_info>_>_>\n  *this_00" (binary_expression "Comdat_section_info>_>_" (binary_expression "Comdat_section_info>_" identifier > identifier) > identifier) > (pointer_expression "*this_00" * identifier)) ;)) (if_statement "if (this->is_comdat_ == false) {\n    return;\n  }" if (parenthesized_expression "(this->is_comdat_ == false)" ( (binary_expression "this->is_comdat_ == false" (field_expression "this->is_comdat_" identifier -> field_identifier) == false) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "this_00 = &((this->u_).group_sections)->_M_t;" (assignment_expression "this_00 = &((this->u_).group_sections)->_M_t" identifier = (pointer_expression "&((this->u_).group_sections)->_M_t" & (field_expression "((this->u_).group_sections)->_M_t" (parenthesized_expression "((this->u_).group_sections)" ( (field_expression "(this->u_).group_sections" (parenthesized_expression "(this->u_)" ( (field_expression "this->u_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) (if_statement "if (this_00 !=\n      (_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n       *)0x0) {\n    std::\n    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n    ::_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent);\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }" if (parenthesized_expression "(this_00 !=\n      (_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n       *)0x0)" ( (binary_expression "this_00 !=\n      (_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n       *)0x0)" identifier != (parenthesized_expression "(_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n       *)0x0)" ( (ERROR "_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::" (binary_expression "_Rb_tree<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (binary_expression "Comdat_section_info>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (binary_expression "Comdat_section_info>_>,_std" (binary_expression "Comdat_section_info>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : :) (binary_expression "Comdat_section_info>_>_>\n       *)0x0" (binary_expression "Comdat_section_info>_>_" (binary_expression "Comdat_section_info>_" identifier > identifier) > identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n    std::\n    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>_>\n    ::_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent);\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }" { (ERROR "std::\n    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::" (comma_expression "std::\n    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n    _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>,_std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>_>,_std" identifier (ERROR "::Comdat_section_info>_>" : : (binary_expression "Comdat_section_info>_" identifier > identifier) >) , identifier) : : (binary_expression "less<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "Kept_section::Comdat_section_info>_>_>\n    ::_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent);" statement_identifier (ERROR "::Comdat_section_info>_>_>\n    :" : : (binary_expression "Comdat_section_info>_>_" (binary_expression "Comdat_section_info>_" identifier > identifier) > identifier) > :) : (expression_statement "_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent);" (call_expression "_M_erase(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent)" identifier (argument_list "(this_00,(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent)" ( identifier , (field_expression "(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header._M_parent" (field_expression "(_Link_type)(this_00->_M_impl).super__Rb_tree_header._M_header" (field_expression "(_Link_type)(this_00->_M_impl).super__Rb_tree_header" (call_expression "(_Link_type)(this_00->_M_impl)" (parenthesized_expression "(_Link_type)" ( identifier )) (argument_list "(this_00->_M_impl)" ( (field_expression "this_00->_M_impl" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) ))) ;)) (expression_statement "(*(code *)PTR_operator_delete_004c1424)(this_00,0x18);" (call_expression "(*(code *)PTR_operator_delete_004c1424)(this_00,0x18)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c1424)" ( (pointer_expression "*(code *)PTR_operator_delete_004c1424" * (cast_expression "(code *)PTR_operator_delete_004c1424" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this_00,0x18)" ( identifier , number_literal ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall gold::Kept_section::~Kept_section(Kept_section *this)\n\n{\n  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n  *this_00;\n  \n  if (this[8] == (Kept_section)0x0) {\n    return;\n  }\n  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);\n  if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void __thiscall gold::Kept_section::~Kept_section(Kept_section *this)\n\n{\n  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n  *this_00;\n  \n  if (this[8] == (Kept_section)0x0) {\n    return;\n  }\n  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);\n  if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Kept_section::~" identifier : : identifier : : ~) (function_declarator "Kept_section(Kept_section *this)" identifier (parameter_list "(Kept_section *this)" ( (parameter_declaration "Kept_section *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n  *this_00;\n  \n  if (this[8] == (Kept_section)0x0) {\n    return;\n  }\n  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);\n  if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}" { (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : (comma_expression "Kept_section::Comdat_section_info>,std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : (comma_expression "Kept_section::Comdat_section_info>>,std" identifier (ERROR "::Comdat_section_info>>" : : identifier >>) , identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : :) (expression_statement "Kept_section::Comdat_section_info>>>\n  *this_00;" (binary_expression "Kept_section::Comdat_section_info>>>\n  *this_00" identifier (ERROR "::Comdat_section_info>>" : : identifier >>) > (pointer_expression "*this_00" * identifier)) ;) (if_statement "if (this[8] == (Kept_section)0x0) {\n    return;\n  }" if (parenthesized_expression "(this[8] == (Kept_section)0x0)" ( (binary_expression "this[8] == (Kept_section)0x0" (subscript_expression "this[8]" identifier [ number_literal ]) == (cast_expression "(Kept_section)0x0" ( (type_descriptor "Kept_section" type_identifier) ) number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);" (assignment_expression "this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" identifier = (pointer_expression "*(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" * (call_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" (parenthesized_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)" ( (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : : (binary_expression "Comdat_section_info>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : : (binary_expression "Comdat_section_info>>,std" identifier >> (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : :) (binary_expression "Comdat_section_info>>>\n              **" identifier >> (ERROR ">" >) (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }" if (parenthesized_expression "(this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" ( (binary_expression "this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" identifier != (parenthesized_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" ( (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : : (binary_expression "Comdat_section_info>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : : (binary_expression "Comdat_section_info>>,std" identifier >> (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : identifier : :) (binary_expression "Comdat_section_info>>>\n       *)0x0" identifier >> (ERROR ">" >) (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }" { (ERROR "std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::" (comma_expression "std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std" identifier (ERROR "::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : (comma_expression "Kept_section::Comdat_section_info>,std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "string_const,gold" identifier , identifier) : : (comma_expression "Kept_section::Comdat_section_info>>,std" identifier (ERROR "::Comdat_section_info>>" : : identifier >>) , identifier) : : (binary_expression "less<std" identifier < identifier) : : identifier >) , identifier) : : identifier < identifier : : identifier < identifier : : identifier , identifier : : identifier : : identifier >> > : :) (expression_statement "_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));" (call_expression "_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8))" identifier (argument_list "(this_00,*(_Rb_tree_node **)(this_00 + 8))" ( identifier , (pointer_expression "*(_Rb_tree_node **)(this_00 + 8)" * (cast_expression "(_Rb_tree_node **)(this_00 + 8)" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this_00 + 8)" ( (binary_expression "this_00 + 8" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_operator_delete_004c1424)(this_00,0x18);" (call_expression "(*(code *)PTR_operator_delete_004c1424)(this_00,0x18)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c1424)" ( (pointer_expression "*(code *)PTR_operator_delete_004c1424" * (cast_expression "(code *)PTR_operator_delete_004c1424" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this_00,0x18)" ( identifier , number_literal ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : : ~) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (ERROR (comma_expression (binary_expression IDENT < IDENT) (ERROR : : IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT (ERROR : : IDENT >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT (ERROR : : IDENT >>) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : :) (expression_statement (binary_expression IDENT (ERROR : : IDENT >>) > (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (call_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) (ERROR : : IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : IDENT : : (binary_expression IDENT > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : IDENT : : (binary_expression IDENT >> (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : IDENT : :) (binary_expression IDENT >> (ERROR >) (pointer_expression * (pointer_expression * IDENT))) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) (ERROR : : IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : IDENT : : (binary_expression IDENT > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : IDENT : : (binary_expression IDENT >> (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : IDENT : :) (binary_expression IDENT >> (ERROR >) (pointer_expression * (ERROR )) LIT)) ))) )) (compound_statement { (ERROR (comma_expression IDENT (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT (ERROR : : IDENT >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT (ERROR : : IDENT >>) , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : IDENT < IDENT : : IDENT < IDENT : : IDENT , IDENT : : IDENT : : IDENT >> > : :) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (return_statement return ;) })) (return_statement return ;) })))
(function_definition "void __thiscall gold::Kept_section::~Kept_section(Kept_section *this)\n\n{\n  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n  *this_00;\n  \n  if (this[8] == (Kept_section)0x0) {\n    return;\n  }\n  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);\n  if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Kept_section::~" (identifier "gold") (: ":") (: ":") (identifier "Kept_section") (: ":") (: ":") (~ "~")) (function_declarator "Kept_section(Kept_section *this)" (identifier "Kept_section") (parameter_list "(Kept_section *this)" (( "(") (parameter_declaration "Kept_section *this" (type_identifier "Kept_section") (pointer_declarator "*this" (* "*") (identifier "this"))) () ")"))) (compound_statement "{\n  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n  *this_00;\n  \n  if (this[8] == (Kept_section)0x0) {\n    return;\n  }\n  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);\n  if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }\n  return;\n}" ({ "{") (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" (identifier "_Rb_tree") (< "<") (identifier "std")) (ERROR "::string" (: ":") (: ":") (identifier "string")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Kept_section::Comdat_section_info>,std" (identifier "Kept_section") (ERROR "::Comdat_section_info>" (: ":") (: ":") (identifier "Comdat_section_info") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Kept_section::Comdat_section_info>>,std" (identifier "Kept_section") (ERROR "::Comdat_section_info>>" (: ":") (: ":") (identifier "Comdat_section_info") (>> ">>")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "less<std" (identifier "less") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":")) (expression_statement "Kept_section::Comdat_section_info>>>\n  *this_00;" (binary_expression "Kept_section::Comdat_section_info>>>\n  *this_00" (identifier "Kept_section") (ERROR "::Comdat_section_info>>" (: ":") (: ":") (identifier "Comdat_section_info") (>> ">>")) (> ">") (pointer_expression "*this_00" (* "*") (identifier "this_00"))) (; ";")) (if_statement "if (this[8] == (Kept_section)0x0) {\n    return;\n  }" (if "if") (parenthesized_expression "(this[8] == (Kept_section)0x0)" (( "(") (binary_expression "this[8] == (Kept_section)0x0" (subscript_expression "this[8]" (identifier "this") ([ "[") (number_literal "8") (] "]")) (== "==") (cast_expression "(Kept_section)0x0" (( "(") (type_descriptor "Kept_section" (type_identifier "Kept_section")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10);" (assignment_expression "this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" (identifier "this_00") (= "=") (pointer_expression "*(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" (* "*") (call_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)(this + 0x10)" (parenthesized_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n              **)" (( "(") (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" (identifier "_Rb_tree") (< "<") (identifier "std")) (ERROR "::string" (: ":") (: ":") (identifier "string")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Kept_section") (: ":") (: ":") (binary_expression "Comdat_section_info>,std" (identifier "Comdat_section_info") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Kept_section") (: ":") (: ":") (binary_expression "Comdat_section_info>>,std" (identifier "Comdat_section_info") (>> ">>") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "less<std" (identifier "less") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Kept_section") (: ":") (: ":")) (binary_expression "Comdat_section_info>>>\n              **" (identifier "Comdat_section_info") (>> ">>") (ERROR ">" (> ">")) (pointer_expression "**" (* "*") (pointer_expression "*" (* "*") (identifier "")))) () ")")) (argument_list "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0) {\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }" (if "if") (parenthesized_expression "(this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" (( "(") (binary_expression "this_00 !=\n      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" (identifier "this_00") (!= "!=") (parenthesized_expression "(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n       *)0x0)" (( "(") (ERROR "_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::" (comma_expression "_Rb_tree<std::string,std" (binary_expression "_Rb_tree<std" (identifier "_Rb_tree") (< "<") (identifier "std")) (ERROR "::string" (: ":") (: ":") (identifier "string")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Kept_section") (: ":") (: ":") (binary_expression "Comdat_section_info>,std" (identifier "Comdat_section_info") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Kept_section") (: ":") (: ":") (binary_expression "Comdat_section_info>>,std" (identifier "Comdat_section_info") (>> ">>") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "less<std" (identifier "less") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Kept_section") (: ":") (: ":")) (binary_expression "Comdat_section_info>>>\n       *)0x0" (identifier "Comdat_section_info") (>> ">>") (ERROR ">" (> ">")) (pointer_expression "*)0x0" (* "*") (ERROR ")" () ")")) (number_literal "0x0"))) () ")"))) () "")) (compound_statement "{\n    std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));\n    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);\n    return;\n  }" ({ "{") (ERROR "std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>\n    ::" (comma_expression "std::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std" (identifier "std") (ERROR "::\n    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>" (: ":") (: ":") (binary_expression "_Rb_tree<std" (identifier "_Rb_tree") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Kept_section::Comdat_section_info>,std" (identifier "Kept_section") (ERROR "::Comdat_section_info>" (: ":") (: ":") (identifier "Comdat_section_info") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string_const,gold" (identifier "string_const") (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Kept_section::Comdat_section_info>>,std" (identifier "Kept_section") (ERROR "::Comdat_section_info>>" (: ":") (: ":") (identifier "Comdat_section_info") (>> ">>")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "less<std" (identifier "less") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (identifier "allocator") (< "<") (identifier "std") (: ":") (: ":") (identifier "pair") (< "<") (identifier "std") (: ":") (: ":") (identifier "string_const") (, ",") (identifier "gold") (: ":") (: ":") (identifier "Kept_section") (: ":") (: ":") (identifier "Comdat_section_info") (>> ">>") (> ">") (: ":") (: ":")) (expression_statement "_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));" (call_expression "_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8))" (identifier "_M_erase") (argument_list "(this_00,*(_Rb_tree_node **)(this_00 + 8))" (( "(") (identifier "this_00") (, ",") (pointer_expression "*(_Rb_tree_node **)(this_00 + 8)" (* "*") (cast_expression "(_Rb_tree_node **)(this_00 + 8)" (( "(") (type_descriptor "_Rb_tree_node **" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this_00 + 8)" (( "(") (binary_expression "this_00 + 8" (identifier "this_00") (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_operator_delete_004c1424)(this_00,0x18);" (call_expression "(*(code *)PTR_operator_delete_004c1424)(this_00,0x18)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c1424)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c1424" (* "*") (cast_expression "(code *)PTR_operator_delete_004c1424" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c1424"))) () ")")) (argument_list "(this_00,0x18)" (( "(") (identifier "this_00") (, ",") (number_literal "0x18") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (identifier) (ERROR (identifier)) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (call_expression function: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (identifier) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (identifier) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (identifier)) (binary_expression left: (identifier) (ERROR) right: (pointer_expression argument: (pointer_expression argument: (MISSING identifier))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (identifier) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (identifier) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (identifier)) (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (number_literal))))) (MISSING ")")) consequence: (compound_statement (ERROR (comma_expression left: (identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))) (return_statement))) (return_statement))))

/* gold::Kept_section::MASKED() */

void __thiscall gold::Kept_section::MASKED(Kept_section *this)

{
  _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>
  *this_00;
  
  if (this[8] == (Kept_section)0x0) {
    return;
  }
  this_00 = *(_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>
              **)(this + 0x10);
  if (this_00 !=
      (_Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>
       *)0x0) {
    std::
    _Rb_tree<std::string,std::pair<std::string_const,gold::Kept_section::Comdat_section_info>,std::_Select1st<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>,std::less<std::string>,std::allocator<std::pair<std::string_const,gold::Kept_section::Comdat_section_info>>>
    ::_M_erase(this_00,*(_Rb_tree_node **)(this_00 + 8));
    (*(code *)PTR_operator_delete_004c1424)(this_00,0x18);
    return;
  }
  return;
}

