
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void ~Command_line(Command_line * this, int __in_chrg) */

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

{
  Input_file_argument *pIVar1;
  Input_file_argument *pIVar2;
  pointer pIVar3;
  pointer pIVar4;
  
  pIVar3 = (this->inputs_).input_argument_list_.
           super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
           _M_start;
  pIVar4 = (this->inputs_).input_argument_list_.
           super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
           _M_finish;
  if (pIVar3 != pIVar4) {
    do {
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=
          &(pIVar3->file_).extra_search_path_.field_2) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
      pIVar1 = &pIVar3->file_;
      pIVar2 = &pIVar3->file_;
      pIVar3 = pIVar3 + 1;
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
    } while (pIVar4 != pIVar3);
    pIVar4 = (this->inputs_).input_argument_list_.
             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl
             ._M_start;
  }
  if (pIVar4 != (pointer)0x0) {
    (*(code *)PTR_operator_delete_004c12fc)(pIVar4);
  }
  (*(code *)PTR__Version_script_info_004c1984)(&(this->script_options_).version_script_info_);
  if ((this->script_options_).assertions_.
      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl.
      _M_start != (pointer)0x0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  std::
  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                 *)&(this->script_options_).symbol_references_,__in_chrg);
  std::
  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                 *)&(this->script_options_).symbol_definitions_,__in_chrg);
  if ((this->script_options_).symbol_assignments_.
      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.
      _M_impl._M_start != (pointer)0x0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)(this->script_options_).entry_._M_dataplus._M_p != &(this->script_options_).entry_.field_2)
  {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  General_options::~General_options(&this->options_,__in_chrg);
  return;
}



/* gold::Command_line::~Command_line() */

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

{
  int *piVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  
  iVar3 = *(int *)(this + 0x5b84);
  iVar4 = *(int *)(this + 0x5b88);
  if (iVar3 != iVar4) {
    do {
      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
      piVar1 = (int *)(iVar3 + 4);
      iVar2 = iVar3 + 0xc;
      iVar3 = iVar3 + 0x5c;
      if (*piVar1 != iVar2) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
    } while (iVar4 != iVar3);
    iVar4 = *(int *)(this + 0x5b84);
  }
  if (iVar4 != 0) {
    (*(code *)PTR_operator_delete_004c12fc)(iVar4);
  }
  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);
  if (*(int *)(this + 0x5b14) != 0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  std::
  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
                 *)(this + 0x5af8));
  std::
  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
                 *)(this + 0x5adc));
  if (*(int *)(this + 0x5ad0) != 0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  General_options::~General_options((General_options *)(this + 8));
  return;
}


lui gp,0x40
addiu gp,gp,-0x6a54
addu gp,gp,t9
addiu sp,sp,-0x28
sw s2,0x20(sp)
sw s1,0x1c(sp)
sw gp,0x10(sp)
sw s0,0x18(sp)
sw ra,0x24(sp)
lw s1,0x5b84(a0)
lw s2,0x5b88(a0)
beq s1,s2,0x000cfd10
_or s0,a0,zero
lw a0,0x20(s1)
addiu v0,s1,0x28
beq a0,v0,0x000cfce4
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw a0,0x4(s1)
addiu v0,s1,0xc
lw t9,-0x7f44(gp)
beq a0,v0,0x000cfd04
_addiu s1,s1,0x5c
jalr t9
_nop
lw gp,0x10(sp)
bne s2,s1,0x000cfcc8
_nop
lw s2,0x5b84(s0)
beq s2,zero,0x000cfd24
_lw t9,-0x7f44(gp)
jalr t9
_or a0,s2,zero
lw gp,0x10(sp)
lw t9,-0x78bc(gp)
jalr t9
_addiu a0,s0,0x5b20
lw a0,0x5b14(s0)
beq a0,zero,0x000cfd4c
_lw gp,0x10(sp)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw s1,-0x78fc(gp)
or t9,s1,zero
bal 0x000cb270
_addiu a0,s0,0x5af8
or t9,s1,zero
bal 0x000cb270
_addiu a0,s0,0x5adc
lw a0,0x5ad0(s0)
beq a0,zero,0x000cfd84
_lw gp,0x10(sp)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw a0,0x5ab8(s0)
addiu v0,s0,0x5ac0
beq a0,v0,0x000cfda0
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw ra,0x24(sp)
addiu a0,s0,0x8
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
lw t9,-0x78b8(gp)
b 0x000cc390
_addiu sp,sp,0x28
(translation_unit "/* gold::Command_line::~Command_line() */\n\nvoid __thiscall gold::Command_line::~Command_line(Command_line *this)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar3 = *(int *)(this + 0x5b84);\n  iVar4 = *(int *)(this + 0x5b88);\n  if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }\n  if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);\n  if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));\n  if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options((General_options *)(this + 8));\n  return;\n}\n\n" comment (function_definition "void __thiscall gold::Command_line::~Command_line(Command_line *this)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar3 = *(int *)(this + 0x5b84);\n  iVar4 = *(int *)(this + 0x5b88);\n  if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }\n  if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);\n  if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));\n  if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options((General_options *)(this + 8));\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Command_line::~" identifier : : identifier : : ~) (function_declarator "Command_line(Command_line *this)" identifier (parameter_list "(Command_line *this)" ( (parameter_declaration "Command_line *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar3 = *(int *)(this + 0x5b84);\n  iVar4 = *(int *)(this + 0x5b88);\n  if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }\n  if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);\n  if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));\n  if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options((General_options *)(this + 8));\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (expression_statement "iVar3 = *(int *)(this + 0x5b84);" (assignment_expression "iVar3 = *(int *)(this + 0x5b84)" identifier = (pointer_expression "*(int *)(this + 0x5b84)" * (cast_expression "(int *)(this + 0x5b84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5b84)" ( (binary_expression "this + 0x5b84" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(this + 0x5b88);" (assignment_expression "iVar4 = *(int *)(this + 0x5b88)" identifier = (pointer_expression "*(int *)(this + 0x5b88)" * (cast_expression "(int *)(this + 0x5b88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5b88)" ( (binary_expression "this + 0x5b88" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }" if (parenthesized_expression "(iVar3 != iVar4)" ( (binary_expression "iVar3 != iVar4" identifier != identifier) )) (compound_statement "{\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }" { (do_statement "do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);" do (compound_statement "{\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" { (if_statement "if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 0x20) != iVar3 + 0x28)" ( (binary_expression "*(int *)(iVar3 + 0x20) != iVar3 + 0x28" (pointer_expression "*(int *)(iVar3 + 0x20)" * (cast_expression "(int *)(iVar3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) != (binary_expression "iVar3 + 0x28" identifier + number_literal)) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar1 = (int *)(iVar3 + 4);" (assignment_expression "piVar1 = (int *)(iVar3 + 4)" identifier = (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) ;) (expression_statement "iVar2 = iVar3 + 0xc;" (assignment_expression "iVar2 = iVar3 + 0xc" identifier = (binary_expression "iVar3 + 0xc" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar3 + 0x5c;" (assignment_expression "iVar3 = iVar3 + 0x5c" identifier = (binary_expression "iVar3 + 0x5c" identifier + number_literal)) ;) (if_statement "if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(*piVar1 != iVar2)" ( (binary_expression "*piVar1 != iVar2" (pointer_expression "*piVar1" * identifier) != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }) while (parenthesized_expression "(iVar4 != iVar3)" ( (binary_expression "iVar4 != iVar3" identifier != identifier) )) ;) (expression_statement "iVar4 = *(int *)(this + 0x5b84);" (assignment_expression "iVar4 = *(int *)(this + 0x5b84)" identifier = (pointer_expression "*(int *)(this + 0x5b84)" * (cast_expression "(int *)(this + 0x5b84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5b84)" ( (binary_expression "this + 0x5b84" identifier + number_literal) ))))) ;) })) (if_statement "if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(iVar4);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(iVar4)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);" (call_expression "(*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20)" (parenthesized_expression "(*(code *)PTR__Version_script_info_004c1984)" ( (pointer_expression "*(code *)PTR__Version_script_info_004c1984" * (cast_expression "(code *)PTR__Version_script_info_004c1984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this + 0x5b20)" ( (binary_expression "this + 0x5b20" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(*(int *)(this + 0x5b14) != 0)" ( (binary_expression "*(int *)(this + 0x5b14) != 0" (pointer_expression "*(int *)(this + 0x5b14)" * (cast_expression "(int *)(this + 0x5b14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5b14)" ( (binary_expression "this + 0x5b14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (ERROR "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n  _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" statement_identifier (ERROR "::_Mod_range_hashing,std:" : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" statement_identifier (ERROR "::_Default_ranged_hash,std:" : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" (comma_expression "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" true , (binary_expression "true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" true >> (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" ~ (call_expression "_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" identifier (argument_list "((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" ( (call_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8)" (parenthesized_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)" ( (ERROR "_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::string,std" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,true,true>>\n                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n                 *" true , (binary_expression "true>>\n                 *" true >> (pointer_expression "*" * identifier)))) )) (argument_list "(this + 0x5af8)" ( (binary_expression "this + 0x5af8" identifier + number_literal) ))) ))))))) ;))))) (ERROR "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n  _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" statement_identifier (ERROR "::_Mod_range_hashing,std:" : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" statement_identifier (ERROR "::_Default_ranged_hash,std:" : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" (comma_expression "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" true , (binary_expression "true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" true >> (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" ~ (call_expression "_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" identifier (argument_list "((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" ( (call_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc)" (parenthesized_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)" ( (ERROR "_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::string,std" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,true,true>>\n                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n                 *" true , (binary_expression "true>>\n                 *" true >> (pointer_expression "*" * identifier)))) )) (argument_list "(this + 0x5adc)" ( (binary_expression "this + 0x5adc" identifier + number_literal) ))) ))))))) ;))))) (if_statement "if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(*(int *)(this + 0x5ad0) != 0)" ( (binary_expression "*(int *)(this + 0x5ad0) != 0" (pointer_expression "*(int *)(this + 0x5ad0)" * (cast_expression "(int *)(this + 0x5ad0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5ad0)" ( (binary_expression "this + 0x5ad0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(*(Command_line **)(this + 0x5ab8) != this + 0x5ac0)" ( (binary_expression "*(Command_line **)(this + 0x5ab8) != this + 0x5ac0" (pointer_expression "*(Command_line **)(this + 0x5ab8)" * (cast_expression "(Command_line **)(this + 0x5ab8)" ( (type_descriptor "Command_line **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x5ab8)" ( (binary_expression "this + 0x5ab8" identifier + number_literal) )))) != (binary_expression "this + 0x5ac0" identifier + number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (labeled_statement "General_options::~General_options((General_options *)(this + 8));" statement_identifier : (ERROR ":" :) (expression_statement "~General_options((General_options *)(this + 8));" (unary_expression "~General_options((General_options *)(this + 8))" ~ (call_expression "General_options((General_options *)(this + 8))" identifier (argument_list "((General_options *)(this + 8))" ( (cast_expression "(General_options *)(this + 8)" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))) )))) ;)) (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/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: void ~Command_line(Command_line * this, int __in_chrg) */\n\nvoid __thiscall gold::Command_line::~Command_line(Command_line *this,int __in_chrg)\n\n{\n  Input_file_argument *pIVar1;\n  Input_file_argument *pIVar2;\n  pointer pIVar3;\n  pointer pIVar4;\n  \n  pIVar3 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n           _M_start;\n  pIVar4 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n           _M_finish;\n  if (pIVar3 != pIVar4) {\n    do {\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      pIVar1 = &pIVar3->file_;\n      pIVar2 = &pIVar3->file_;\n      pIVar3 = pIVar3 + 1;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (pIVar4 != pIVar3);\n    pIVar4 = (this->inputs_).input_argument_list_.\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl\n             ._M_start;\n  }\n  if (pIVar4 != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)(pIVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(&(this->script_options_).version_script_info_);\n  if ((this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl.\n      _M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg);\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg);\n  if ((this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.\n      _M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_._M_dataplus._M_p != &(this->script_options_).entry_.field_2)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options(&this->options_,__in_chrg);\n  return;\n}\n\n" comment comment comment comment comment comment comment (function_definition "void __thiscall gold::Command_line::~Command_line(Command_line *this,int __in_chrg)\n\n{\n  Input_file_argument *pIVar1;\n  Input_file_argument *pIVar2;\n  pointer pIVar3;\n  pointer pIVar4;\n  \n  pIVar3 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n           _M_start;\n  pIVar4 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n           _M_finish;\n  if (pIVar3 != pIVar4) {\n    do {\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      pIVar1 = &pIVar3->file_;\n      pIVar2 = &pIVar3->file_;\n      pIVar3 = pIVar3 + 1;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (pIVar4 != pIVar3);\n    pIVar4 = (this->inputs_).input_argument_list_.\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl\n             ._M_start;\n  }\n  if (pIVar4 != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)(pIVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(&(this->script_options_).version_script_info_);\n  if ((this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl.\n      _M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg);\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg);\n  if ((this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.\n      _M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_._M_dataplus._M_p != &(this->script_options_).entry_.field_2)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options(&this->options_,__in_chrg);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Command_line::~" identifier : : identifier : : ~) (function_declarator "Command_line(Command_line *this,int __in_chrg)" identifier (parameter_list "(Command_line *this,int __in_chrg)" ( (parameter_declaration "Command_line *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "int __in_chrg" primitive_type identifier) ))) (compound_statement "{\n  Input_file_argument *pIVar1;\n  Input_file_argument *pIVar2;\n  pointer pIVar3;\n  pointer pIVar4;\n  \n  pIVar3 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n           _M_start;\n  pIVar4 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n           _M_finish;\n  if (pIVar3 != pIVar4) {\n    do {\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      pIVar1 = &pIVar3->file_;\n      pIVar2 = &pIVar3->file_;\n      pIVar3 = pIVar3 + 1;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (pIVar4 != pIVar3);\n    pIVar4 = (this->inputs_).input_argument_list_.\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl\n             ._M_start;\n  }\n  if (pIVar4 != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)(pIVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(&(this->script_options_).version_script_info_);\n  if ((this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl.\n      _M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg);\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg);\n  if ((this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.\n      _M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_._M_dataplus._M_p != &(this->script_options_).entry_.field_2)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options(&this->options_,__in_chrg);\n  return;\n}" { (declaration "Input_file_argument *pIVar1;" type_identifier (pointer_declarator "*pIVar1" * identifier) ;) (declaration "Input_file_argument *pIVar2;" type_identifier (pointer_declarator "*pIVar2" * identifier) ;) (declaration "pointer pIVar3;" type_identifier identifier ;) (declaration "pointer pIVar4;" type_identifier identifier ;) (ERROR "pIVar3 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "pIVar3 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std" (assignment_expression "pIVar3 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold" identifier = (binary_expression "(this->inputs_).input_argument_list_.\n           super__Vector_base<gold" (field_expression "(this->inputs_).input_argument_list_.\n           super__Vector_base" (field_expression "(this->inputs_).input_argument_list_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Input_argument>_>._M_impl.\n           _M_start;" (field_expression "Input_argument>_>._M_impl.\n           _M_start" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (ERROR "pIVar4 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "pIVar4 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold::Input_argument,_std" (assignment_expression "pIVar4 = (this->inputs_).input_argument_list_.\n           super__Vector_base<gold" identifier = (binary_expression "(this->inputs_).input_argument_list_.\n           super__Vector_base<gold" (field_expression "(this->inputs_).input_argument_list_.\n           super__Vector_base" (field_expression "(this->inputs_).input_argument_list_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Input_argument>_>._M_impl.\n           _M_finish;" (field_expression "Input_argument>_>._M_impl.\n           _M_finish" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (pIVar3 != pIVar4) {\n    do {\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      pIVar1 = &pIVar3->file_;\n      pIVar2 = &pIVar3->file_;\n      pIVar3 = pIVar3 + 1;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (pIVar4 != pIVar3);\n    pIVar4 = (this->inputs_).input_argument_list_.\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl\n             ._M_start;\n  }" if (parenthesized_expression "(pIVar3 != pIVar4)" ( (binary_expression "pIVar3 != pIVar4" identifier != identifier) )) (compound_statement "{\n    do {\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      pIVar1 = &pIVar3->file_;\n      pIVar2 = &pIVar3->file_;\n      pIVar3 = pIVar3 + 1;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (pIVar4 != pIVar3);\n    pIVar4 = (this->inputs_).input_argument_list_.\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl\n             ._M_start;\n  }" { (do_statement "do {\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      pIVar1 = &pIVar3->file_;\n      pIVar2 = &pIVar3->file_;\n      pIVar3 = pIVar3 + 1;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (pIVar4 != pIVar3);" do (compound_statement "{\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      pIVar1 = &pIVar3->file_;\n      pIVar2 = &pIVar3->file_;\n      pIVar3 = pIVar3 + 1;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" { (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2)" ( (binary_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p !=\n          &(pIVar3->file_).extra_search_path_.field_2" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_._M_dataplus" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_).extra_search_path_" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar3->file_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar3->file_)" ( (field_expression "pIVar3->file_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) != (pointer_expression "&(pIVar3->file_).extra_search_path_.field_2" & (field_expression "(pIVar3->file_).extra_search_path_.field_2" (field_expression "(pIVar3->file_).extra_search_path_" (parenthesized_expression "(pIVar3->file_)" ( (field_expression "pIVar3->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "pIVar1 = &pIVar3->file_;" (assignment_expression "pIVar1 = &pIVar3->file_" identifier = (pointer_expression "&pIVar3->file_" & (field_expression "pIVar3->file_" identifier -> field_identifier))) ;) (expression_statement "pIVar2 = &pIVar3->file_;" (assignment_expression "pIVar2 = &pIVar3->file_" identifier = (pointer_expression "&pIVar3->file_" & (field_expression "pIVar3->file_" identifier -> field_identifier))) ;) (expression_statement "pIVar3 = pIVar3 + 1;" (assignment_expression "pIVar3 = pIVar3 + 1" identifier = (binary_expression "pIVar3 + 1" identifier + number_literal)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2)" ( (binary_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)._M_dataplus" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)(pIVar1->name_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(pIVar1->name_)" ( (field_expression "pIVar1->name_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) != (pointer_expression "&(pIVar2->name_).field_2" & (field_expression "(pIVar2->name_).field_2" (parenthesized_expression "(pIVar2->name_)" ( (field_expression "pIVar2->name_" identifier -> field_identifier) )) . field_identifier))) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }) while (parenthesized_expression "(pIVar4 != pIVar3)" ( (binary_expression "pIVar4 != pIVar3" identifier != identifier) )) ;) (ERROR "pIVar4 = (this->inputs_).input_argument_list_.\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "pIVar4 = (this->inputs_).input_argument_list_.\n             super__Vector_base<gold::Input_argument,_std" (assignment_expression "pIVar4 = (this->inputs_).input_argument_list_.\n             super__Vector_base<gold" identifier = (binary_expression "(this->inputs_).input_argument_list_.\n             super__Vector_base<gold" (field_expression "(this->inputs_).input_argument_list_.\n             super__Vector_base" (field_expression "(this->inputs_).input_argument_list_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Input_argument>_>._M_impl\n             ._M_start;" (field_expression "Input_argument>_>._M_impl\n             ._M_start" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) })) (if_statement "if (pIVar4 != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)(pIVar4);\n  }" if (parenthesized_expression "(pIVar4 != (pointer)0x0)" ( (binary_expression "pIVar4 != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)(pIVar4);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(pIVar4);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(pIVar4)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR__Version_script_info_004c1984)(&(this->script_options_).version_script_info_);" (call_expression "(*(code *)PTR__Version_script_info_004c1984)(&(this->script_options_).version_script_info_)" (parenthesized_expression "(*(code *)PTR__Version_script_info_004c1984)" ( (pointer_expression "*(code *)PTR__Version_script_info_004c1984" * (cast_expression "(code *)PTR__Version_script_info_004c1984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&(this->script_options_).version_script_info_)" ( (pointer_expression "&(this->script_options_).version_script_info_" & (field_expression "(this->script_options_).version_script_info_" (parenthesized_expression "(this->script_options_)" ( (field_expression "this->script_options_" identifier -> field_identifier) )) . field_identifier)) ))) ;) (if_statement "if ((this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl.\n      _M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "((this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl.\n      _M_start != (pointer)0x0)" ( (binary_expression "(this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl.\n      _M_start != (pointer)0x0" (field_expression "(this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl.\n      _M_start" (field_expression "(this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_>._M_impl" (binary_expression "(this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold::Script_assertion*>_" (binary_expression "(this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std::allocator<gold" (binary_expression "(this->script_options_).assertions_.\n      super__Vector_base<gold::Script_assertion*,_std" (binary_expression "(this->script_options_).assertions_.\n      super__Vector_base<gold" (field_expression "(this->script_options_).assertions_.\n      super__Vector_base" (field_expression "(this->script_options_).assertions_" (parenthesized_expression "(this->script_options_)" ( (field_expression "this->script_options_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Script_assertion" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Script_assertion" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (ERROR "std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<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) : : 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 "allocator<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) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<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) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg)" ~ (call_expression "_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg)" identifier (argument_list "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_,__in_chrg)" ( (binary_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_references_" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : 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) : : 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 "allocator<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) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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 "hash<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) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                 *" identifier , (binary_expression "_true>_>\n                 *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "(this->script_options_).symbol_references_" (parenthesized_expression "(this->script_options_)" ( (field_expression "this->script_options_" identifier -> field_identifier) )) . field_identifier)) , identifier ))))))) ;))))) (ERROR "std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<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) : : 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 "allocator<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) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<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) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg)" ~ (call_expression "_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg)" identifier (argument_list "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_,__in_chrg)" ( (binary_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)&(this->script_options_).symbol_definitions_" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : 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) : : 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 "allocator<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) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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 "hash<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) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                 *" identifier , (binary_expression "_true>_>\n                 *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "(this->script_options_).symbol_definitions_" (parenthesized_expression "(this->script_options_)" ( (field_expression "this->script_options_" identifier -> field_identifier) )) . field_identifier)) , identifier ))))))) ;))))) (if_statement "if ((this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.\n      _M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "((this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.\n      _M_impl._M_start != (pointer)0x0)" ( (binary_expression "(this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.\n      _M_impl._M_start != (pointer)0x0" (field_expression "(this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.\n      _M_impl._M_start" (field_expression "(this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_>.\n      _M_impl" (binary_expression "(this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold::Symbol_assignment*>_" (binary_expression "(this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std::allocator<gold" (binary_expression "(this->script_options_).symbol_assignments_.\n      super__Vector_base<gold::Symbol_assignment*,_std" (binary_expression "(this->script_options_).symbol_assignments_.\n      super__Vector_base<gold" (field_expression "(this->script_options_).symbol_assignments_.\n      super__Vector_base" (field_expression "(this->script_options_).symbol_assignments_" (parenthesized_expression "(this->script_options_)" ( (field_expression "this->script_options_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Symbol_assignment" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_assignment" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_._M_dataplus._M_p != &(this->script_options_).entry_.field_2)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_._M_dataplus._M_p != &(this->script_options_).entry_.field_2)" ( (binary_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_._M_dataplus._M_p != &(this->script_options_).entry_.field_2" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_._M_dataplus._M_p" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_._M_dataplus" (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_).entry_" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)(this->script_options_)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(this->script_options_)" ( (field_expression "this->script_options_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) != (pointer_expression "&(this->script_options_).entry_.field_2" & (field_expression "(this->script_options_).entry_.field_2" (field_expression "(this->script_options_).entry_" (parenthesized_expression "(this->script_options_)" ( (field_expression "this->script_options_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (labeled_statement "General_options::~General_options(&this->options_,__in_chrg);" statement_identifier : (ERROR ":" :) (expression_statement "~General_options(&this->options_,__in_chrg);" (unary_expression "~General_options(&this->options_,__in_chrg)" ~ (call_expression "General_options(&this->options_,__in_chrg)" identifier (argument_list "(&this->options_,__in_chrg)" ( (pointer_expression "&this->options_" & (field_expression "this->options_" identifier -> field_identifier)) , identifier )))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall gold::Command_line::~Command_line(Command_line *this)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar3 = *(int *)(this + 0x5b84);\n  iVar4 = *(int *)(this + 0x5b88);\n  if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }\n  if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);\n  if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));\n  if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options((General_options *)(this + 8));\n  return;\n}\n\n" (function_definition "void __thiscall gold::Command_line::~Command_line(Command_line *this)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar3 = *(int *)(this + 0x5b84);\n  iVar4 = *(int *)(this + 0x5b88);\n  if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }\n  if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);\n  if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));\n  if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options((General_options *)(this + 8));\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Command_line::~" identifier : : identifier : : ~) (function_declarator "Command_line(Command_line *this)" identifier (parameter_list "(Command_line *this)" ( (parameter_declaration "Command_line *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar3 = *(int *)(this + 0x5b84);\n  iVar4 = *(int *)(this + 0x5b88);\n  if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }\n  if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);\n  if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));\n  if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options((General_options *)(this + 8));\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (expression_statement "iVar3 = *(int *)(this + 0x5b84);" (assignment_expression "iVar3 = *(int *)(this + 0x5b84)" identifier = (pointer_expression "*(int *)(this + 0x5b84)" * (cast_expression "(int *)(this + 0x5b84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5b84)" ( (binary_expression "this + 0x5b84" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(this + 0x5b88);" (assignment_expression "iVar4 = *(int *)(this + 0x5b88)" identifier = (pointer_expression "*(int *)(this + 0x5b88)" * (cast_expression "(int *)(this + 0x5b88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5b88)" ( (binary_expression "this + 0x5b88" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }" if (parenthesized_expression "(iVar3 != iVar4)" ( (binary_expression "iVar3 != iVar4" identifier != identifier) )) (compound_statement "{\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }" { (do_statement "do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);" do (compound_statement "{\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" { (if_statement "if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 0x20) != iVar3 + 0x28)" ( (binary_expression "*(int *)(iVar3 + 0x20) != iVar3 + 0x28" (pointer_expression "*(int *)(iVar3 + 0x20)" * (cast_expression "(int *)(iVar3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) != (binary_expression "iVar3 + 0x28" identifier + number_literal)) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar1 = (int *)(iVar3 + 4);" (assignment_expression "piVar1 = (int *)(iVar3 + 4)" identifier = (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) ;) (expression_statement "iVar2 = iVar3 + 0xc;" (assignment_expression "iVar2 = iVar3 + 0xc" identifier = (binary_expression "iVar3 + 0xc" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar3 + 0x5c;" (assignment_expression "iVar3 = iVar3 + 0x5c" identifier = (binary_expression "iVar3 + 0x5c" identifier + number_literal)) ;) (if_statement "if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(*piVar1 != iVar2)" ( (binary_expression "*piVar1 != iVar2" (pointer_expression "*piVar1" * identifier) != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }) while (parenthesized_expression "(iVar4 != iVar3)" ( (binary_expression "iVar4 != iVar3" identifier != identifier) )) ;) (expression_statement "iVar4 = *(int *)(this + 0x5b84);" (assignment_expression "iVar4 = *(int *)(this + 0x5b84)" identifier = (pointer_expression "*(int *)(this + 0x5b84)" * (cast_expression "(int *)(this + 0x5b84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5b84)" ( (binary_expression "this + 0x5b84" identifier + number_literal) ))))) ;) })) (if_statement "if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(iVar4);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(iVar4)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);" (call_expression "(*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20)" (parenthesized_expression "(*(code *)PTR__Version_script_info_004c1984)" ( (pointer_expression "*(code *)PTR__Version_script_info_004c1984" * (cast_expression "(code *)PTR__Version_script_info_004c1984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this + 0x5b20)" ( (binary_expression "this + 0x5b20" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(*(int *)(this + 0x5b14) != 0)" ( (binary_expression "*(int *)(this + 0x5b14) != 0" (pointer_expression "*(int *)(this + 0x5b14)" * (cast_expression "(int *)(this + 0x5b14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5b14)" ( (binary_expression "this + 0x5b14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (ERROR "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n  _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" statement_identifier (ERROR "::_Mod_range_hashing,std:" : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" statement_identifier (ERROR "::_Default_ranged_hash,std:" : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" (comma_expression "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" true , (binary_expression "true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" true >> (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" ~ (call_expression "_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" identifier (argument_list "((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" ( (call_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8)" (parenthesized_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)" ( (ERROR "_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::string,std" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,true,true>>\n                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n                 *" true , (binary_expression "true>>\n                 *" true >> (pointer_expression "*" * identifier)))) )) (argument_list "(this + 0x5af8)" ( (binary_expression "this + 0x5af8" identifier + number_literal) ))) ))))))) ;))))) (ERROR "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n  _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" statement_identifier (ERROR "::_Mod_range_hashing,std:" : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" statement_identifier (ERROR "::_Default_ranged_hash,std:" : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" (comma_expression "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" true , (binary_expression "true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" true >> (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" ~ (call_expression "_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" identifier (argument_list "((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" ( (call_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc)" (parenthesized_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)" ( (ERROR "_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::string,std" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::string" : : identifier) , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,true,true>>\n                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n                 *" true , (binary_expression "true>>\n                 *" true >> (pointer_expression "*" * identifier)))) )) (argument_list "(this + 0x5adc)" ( (binary_expression "this + 0x5adc" identifier + number_literal) ))) ))))))) ;))))) (if_statement "if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(*(int *)(this + 0x5ad0) != 0)" ( (binary_expression "*(int *)(this + 0x5ad0) != 0" (pointer_expression "*(int *)(this + 0x5ad0)" * (cast_expression "(int *)(this + 0x5ad0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x5ad0)" ( (binary_expression "this + 0x5ad0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(*(Command_line **)(this + 0x5ab8) != this + 0x5ac0)" ( (binary_expression "*(Command_line **)(this + 0x5ab8) != this + 0x5ac0" (pointer_expression "*(Command_line **)(this + 0x5ab8)" * (cast_expression "(Command_line **)(this + 0x5ab8)" ( (type_descriptor "Command_line **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x5ab8)" ( (binary_expression "this + 0x5ab8" identifier + number_literal) )))) != (binary_expression "this + 0x5ac0" identifier + number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (labeled_statement "General_options::~General_options((General_options *)(this + 8));" statement_identifier : (ERROR ":" :) (expression_statement "~General_options((General_options *)(this + 8));" (unary_expression "~General_options((General_options *)(this + 8))" ~ (call_expression "General_options((General_options *)(this + 8))" identifier (argument_list "((General_options *)(this + 8))" ( (cast_expression "(General_options *)(this + 8)" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))) )))) ;)) (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 { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (ERROR (comma_expression IDENT (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : :) (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (ERROR : :) (unary_expression ~ (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) (ERROR : : IDENT) , IDENT) : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : :) (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) ))) ))))))) ;))))) (ERROR (comma_expression IDENT (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : :) (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (ERROR : :) (unary_expression ~ (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) (ERROR : : IDENT) , IDENT) : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : :) (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) ))) ))))))) ;))))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (ERROR :) (expression_statement (unary_expression ~ (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) )))) ;)) (return_statement return ;) })))
(function_definition "void __thiscall gold::Command_line::~Command_line(Command_line *this)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar3 = *(int *)(this + 0x5b84);\n  iVar4 = *(int *)(this + 0x5b88);\n  if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }\n  if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);\n  if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));\n  if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options((General_options *)(this + 8));\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Command_line::~" (identifier "gold") (: ":") (: ":") (identifier "Command_line") (: ":") (: ":") (~ "~")) (function_declarator "Command_line(Command_line *this)" (identifier "Command_line") (parameter_list "(Command_line *this)" (( "(") (parameter_declaration "Command_line *this" (type_identifier "Command_line") (pointer_declarator "*this" (* "*") (identifier "this"))) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar3 = *(int *)(this + 0x5b84);\n  iVar4 = *(int *)(this + 0x5b88);\n  if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }\n  if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }\n  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);\n  if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));\n  std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));\n  if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  General_options::~General_options((General_options *)(this + 8));\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (expression_statement "iVar3 = *(int *)(this + 0x5b84);" (assignment_expression "iVar3 = *(int *)(this + 0x5b84)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(this + 0x5b84)" (* "*") (cast_expression "(int *)(this + 0x5b84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x5b84)" (( "(") (binary_expression "this + 0x5b84" (identifier "this") (+ "+") (number_literal "0x5b84")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(this + 0x5b88);" (assignment_expression "iVar4 = *(int *)(this + 0x5b88)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(this + 0x5b88)" (* "*") (cast_expression "(int *)(this + 0x5b88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x5b88)" (( "(") (binary_expression "this + 0x5b88" (identifier "this") (+ "+") (number_literal "0x5b88")) () ")"))))) (; ";")) (if_statement "if (iVar3 != iVar4) {\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }" (if "if") (parenthesized_expression "(iVar3 != iVar4)" (( "(") (binary_expression "iVar3 != iVar4" (identifier "iVar3") (!= "!=") (identifier "iVar4")) () ")")) (compound_statement "{\n    do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);\n    iVar4 = *(int *)(this + 0x5b84);\n  }" ({ "{") (do_statement "do {\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    } while (iVar4 != iVar3);" (do "do") (compound_statement "{\n      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      piVar1 = (int *)(iVar3 + 4);\n      iVar2 = iVar3 + 0xc;\n      iVar3 = iVar3 + 0x5c;\n      if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" ({ "{") (if_statement "if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0x20) != iVar3 + 0x28)" (( "(") (binary_expression "*(int *)(iVar3 + 0x20) != iVar3 + 0x28" (pointer_expression "*(int *)(iVar3 + 0x20)" (* "*") (cast_expression "(int *)(iVar3 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x20)" (( "(") (binary_expression "iVar3 + 0x20" (identifier "iVar3") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28"))) () ")")) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar1 = (int *)(iVar3 + 4);" (assignment_expression "piVar1 = (int *)(iVar3 + 4)" (identifier "piVar1") (= "=") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iVar2 = iVar3 + 0xc;" (assignment_expression "iVar2 = iVar3 + 0xc" (identifier "iVar2") (= "=") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "iVar3 = iVar3 + 0x5c;" (assignment_expression "iVar3 = iVar3 + 0x5c" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 0x5c" (identifier "iVar3") (+ "+") (number_literal "0x5c"))) (; ";")) (if_statement "if (*piVar1 != iVar2) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" (if "if") (parenthesized_expression "(*piVar1 != iVar2)" (( "(") (binary_expression "*piVar1 != iVar2" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (!= "!=") (identifier "iVar2")) () ")")) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(iVar4 != iVar3)" (( "(") (binary_expression "iVar4 != iVar3" (identifier "iVar4") (!= "!=") (identifier "iVar3")) () ")")) (; ";")) (expression_statement "iVar4 = *(int *)(this + 0x5b84);" (assignment_expression "iVar4 = *(int *)(this + 0x5b84)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(this + 0x5b84)" (* "*") (cast_expression "(int *)(this + 0x5b84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x5b84)" (( "(") (binary_expression "this + 0x5b84" (identifier "this") (+ "+") (number_literal "0x5b84")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (iVar4 != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)(iVar4);\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(iVar4);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(iVar4)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);" (call_expression "(*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20)" (parenthesized_expression "(*(code *)PTR__Version_script_info_004c1984)" (( "(") (pointer_expression "*(code *)PTR__Version_script_info_004c1984" (* "*") (cast_expression "(code *)PTR__Version_script_info_004c1984" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Version_script_info_004c1984"))) () ")")) (argument_list "(this + 0x5b20)" (( "(") (binary_expression "this + 0x5b20" (identifier "this") (+ "+") (number_literal "0x5b20")) () ")"))) (; ";")) (if_statement "if (*(int *)(this + 0x5b14) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (if "if") (parenthesized_expression "(*(int *)(this + 0x5b14) != 0)" (( "(") (binary_expression "*(int *)(this + 0x5b14) != 0" (pointer_expression "*(int *)(this + 0x5b14)" (* "*") (cast_expression "(int *)(this + 0x5b14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x5b14)" (( "(") (binary_expression "this + 0x5b14" (identifier "this") (+ "+") (number_literal "0x5b14")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (ERROR "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std" (identifier "std") (ERROR "::\n  _Hashtable<std::string,std::string,std::allocator<std::string>" (: ":") (: ":") (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" (identifier "__detail") (ERROR "::_Identity,std::equal_to<std::string>" (: ":") (: ":") (comma_expression "_Identity,std" (identifier "_Identity") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "hash<std" (identifier "hash") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":")) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" (statement_identifier "__detail") (ERROR "::_Mod_range_hashing,std:" (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" (statement_identifier "__detail") (ERROR "::_Default_ranged_hash,std:" (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" (statement_identifier "__detail") (ERROR "::_Prime_rehash_policy,std:" (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" (statement_identifier "__detail") (: ":") (ERROR ":" (: ":")) (expression_statement "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8));" (comma_expression "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" (true "true") (, ",") (binary_expression "true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (unary_expression "~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" (~ "~") (call_expression "_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" (identifier "_Hashtable") (argument_list "((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8))" (( "(") (call_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5af8)" (parenthesized_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)" (( "(") (ERROR "_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::string,std" (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (ERROR "::string" (: ":") (: ":") (identifier "string")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Identity,std" (identifier "_Identity") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "hash<std" (identifier "hash") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":")) (comma_expression "_Hashtable_traits<true,true,true>>\n                 *" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n                 *" (true "true") (, ",") (binary_expression "true>>\n                 *" (true "true") (>> ">>") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(this + 0x5af8)" (( "(") (binary_expression "this + 0x5af8" (identifier "this") (+ "+") (number_literal "0x5af8")) () ")"))) () ")"))))))) (; ";")))))) (ERROR "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n  _Hashtable<std::string,std::string,std::allocator<std::string>,std" (identifier "std") (ERROR "::\n  _Hashtable<std::string,std::string,std::allocator<std::string>" (: ":") (: ":") (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" (identifier "__detail") (ERROR "::_Identity,std::equal_to<std::string>" (: ":") (: ":") (comma_expression "_Identity,std" (identifier "_Identity") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "hash<std" (identifier "hash") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":")) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" (statement_identifier "__detail") (ERROR "::_Mod_range_hashing,std:" (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" (statement_identifier "__detail") (ERROR "::_Default_ranged_hash,std:" (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" (statement_identifier "__detail") (ERROR "::_Prime_rehash_policy,std:" (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" (statement_identifier "__detail") (: ":") (ERROR ":" (: ":")) (expression_statement "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc));" (comma_expression "_Hashtable_traits<true,true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" (true "true") (, ",") (binary_expression "true>>\n  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (unary_expression "~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" (~ "~") (call_expression "_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" (identifier "_Hashtable") (argument_list "((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc))" (( "(") (call_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)(this + 0x5adc)" (parenthesized_expression "(_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                 *)" (( "(") (ERROR "_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::string,std" (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (ERROR "::string" (: ":") (: ":") (identifier "string")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Identity,std" (identifier "_Identity") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "hash<std" (identifier "hash") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":")) (comma_expression "_Hashtable_traits<true,true,true>>\n                 *" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n                 *" (true "true") (, ",") (binary_expression "true>>\n                 *" (true "true") (>> ">>") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(this + 0x5adc)" (( "(") (binary_expression "this + 0x5adc" (identifier "this") (+ "+") (number_literal "0x5adc")) () ")"))) () ")"))))))) (; ";")))))) (if_statement "if (*(int *)(this + 0x5ad0) != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (if "if") (parenthesized_expression "(*(int *)(this + 0x5ad0) != 0)" (( "(") (binary_expression "*(int *)(this + 0x5ad0) != 0" (pointer_expression "*(int *)(this + 0x5ad0)" (* "*") (cast_expression "(int *)(this + 0x5ad0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x5ad0)" (( "(") (binary_expression "this + 0x5ad0" (identifier "this") (+ "+") (number_literal "0x5ad0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (if "if") (parenthesized_expression "(*(Command_line **)(this + 0x5ab8) != this + 0x5ac0)" (( "(") (binary_expression "*(Command_line **)(this + 0x5ab8) != this + 0x5ac0" (pointer_expression "*(Command_line **)(this + 0x5ab8)" (* "*") (cast_expression "(Command_line **)(this + 0x5ab8)" (( "(") (type_descriptor "Command_line **" (type_identifier "Command_line") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x5ab8)" (( "(") (binary_expression "this + 0x5ab8" (identifier "this") (+ "+") (number_literal "0x5ab8")) () ")")))) (!= "!=") (binary_expression "this + 0x5ac0" (identifier "this") (+ "+") (number_literal "0x5ac0"))) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "General_options::~General_options((General_options *)(this + 8));" (statement_identifier "General_options") (: ":") (ERROR ":" (: ":")) (expression_statement "~General_options((General_options *)(this + 8));" (unary_expression "~General_options((General_options *)(this + 8))" (~ "~") (call_expression "General_options((General_options *)(this + 8))" (identifier "General_options") (argument_list "((General_options *)(this + 8))" (( "(") (cast_expression "(General_options *)(this + 8)" (( "(") (type_descriptor "General_options *" (type_identifier "General_options") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")"))) () ")")))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void ~Command_line(Command_line * this, int __in_chrg) */

void __thiscall var_8::function_1::~function_1(function_1 *this,int __in_chrg)

{
  type_1 *pIVar1;
  type_1 *pIVar2;
  type_2 var_3;
  type_2 var_4;
  
  var_3 = (this->inputs_).input_argument_list_.
           super__Vector_base<var_8::var_1,var_9::var_5<var_8::var_1>var_2>._M_impl.
           _M_start;
  var_4 = (this->inputs_).input_argument_list_.
           super__Vector_base<var_8::var_1,var_9::var_5<var_8::var_1>var_2>._M_impl.
           _M_finish;
  if (var_3 != var_4) {
    do {
      if ((anon_union_16_2_edb7204a_for_basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_7
           *)(var_3->file_).extra_search_path_._M_dataplus._M_p !=
          &(var_3->file_).extra_search_path_.field_2) {
        (*(type_3 *)PTR_operator_delete_004c12fc)();
      }
      pIVar1 = &var_3->file_;
      pIVar2 = &var_3->file_;
      var_3 = var_3 + 1;
      if ((anon_union_16_2_edb7204a_for_basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_7
           *)(pIVar1->name_)._M_dataplus._M_p != &(pIVar2->name_).field_2) {
        (*(type_3 *)PTR_operator_delete_004c12fc)();
      }
    } while (var_4 != var_3);
    var_4 = (this->inputs_).input_argument_list_.
             super__Vector_base<var_8::var_1,var_9::var_5<var_8::var_1>var_2>._M_impl
             ._M_start;
  }
  if (var_4 != (type_2)0x0) {
    (*(type_3 *)PTR_operator_delete_004c12fc)(var_4);
  }
  (*(type_3 *)PTR__Version_script_info_004c1984)(&(this->script_options_).version_script_info_);
  if ((this->script_options_).assertions_.
      super__Vector_base<var_8::Script_assertion*,var_9::var_5<var_8::Script_assertion*>var_2>._M_impl.
      _M_start != (type_2)0x0) {
    (*(type_3 *)PTR_operator_delete_004c12fc)();
  }
  std::
  var_12<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>,var_9::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>,var_9::var_5<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::__detail::_Identity,var_9::equal_to<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::hash<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::__detail::_Mod_range_hashing,var_9::__detail::_Default_ranged_hash,var_9::__detail::_Prime_rehash_policy,var_9::__detail::var_10<true,var_11,var_11>var_2>
  ::~var_12((var_12<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>,var_9::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>,var_9::var_5<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::__detail::_Identity,var_9::equal_to<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::hash<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::__detail::_Mod_range_hashing,var_9::__detail::_Default_ranged_hash,var_9::__detail::_Prime_rehash_policy,var_9::__detail::var_10<true,var_11,var_11>var_2>
                 *)&(this->script_options_).symbol_references_,__in_chrg);
  std::
  var_12<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>,var_9::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>,var_9::var_5<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::__detail::_Identity,var_9::equal_to<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::hash<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::__detail::_Mod_range_hashing,var_9::__detail::_Default_ranged_hash,var_9::__detail::_Prime_rehash_policy,var_9::__detail::var_10<true,var_11,var_11>var_2>
  ::~var_12((var_12<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>,var_9::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>,var_9::var_5<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::__detail::_Identity,var_9::equal_to<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::hash<std::__cxx11::basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_2>,var_9::__detail::_Mod_range_hashing,var_9::__detail::_Default_ranged_hash,var_9::__detail::_Prime_rehash_policy,var_9::__detail::var_10<true,var_11,var_11>var_2>
                 *)&(this->script_options_).symbol_definitions_,__in_chrg);
  if ((this->script_options_).symbol_assignments_.
      super__Vector_base<var_8::Symbol_assignment*,var_9::var_5<var_8::Symbol_assignment*>var_2>.
      _M_impl._M_start != (type_2)0x0) {
    (*(type_3 *)PTR_operator_delete_004c12fc)();
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<var_6,var_9::char_traits<var_6>,var_9::var_5<var_6>var_2>var_7
       *)(this->script_options_).entry_._M_dataplus._M_p != &(this->script_options_).entry_.field_2)
  {
    (*(type_3 *)PTR_operator_delete_004c12fc)();
  }
  General_options::~var_13(&this->options_,__in_chrg);
  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 (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (ERROR (comma_expression left: (identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) (ERROR) right: (unary_expression argument: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier)) (identifier) (comma_expression left: (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) (ERROR) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) right: (pointer_expression argument: (MISSING identifier)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))))))))))) (ERROR (comma_expression left: (identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) (ERROR) right: (unary_expression argument: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier)) (identifier) (comma_expression left: (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) (ERROR) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) right: (pointer_expression argument: (MISSING identifier)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (unary_expression argument: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (return_statement))))

/* gold::Command_line::MASKED() */

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

{
  int *piVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  
  iVar3 = *(int *)(this + 0x5b84);
  iVar4 = *(int *)(this + 0x5b88);
  if (iVar3 != iVar4) {
    do {
      if (*(int *)(iVar3 + 0x20) != iVar3 + 0x28) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
      piVar1 = (int *)(iVar3 + 4);
      iVar2 = iVar3 + 0xc;
      iVar3 = iVar3 + 0x5c;
      if (*piVar1 != iVar2) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
    } while (iVar4 != iVar3);
    iVar4 = *(int *)(this + 0x5b84);
  }
  if (iVar4 != 0) {
    (*(code *)PTR_operator_delete_004c12fc)(iVar4);
  }
  (*(code *)PTR__Version_script_info_004c1984)(this + 0x5b20);
  if (*(int *)(this + 0x5b14) != 0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  std::
  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
                 *)(this + 0x5af8));
  std::
  _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
  ::~_Hashtable((_Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
                 *)(this + 0x5adc));
  if (*(int *)(this + 0x5ad0) != 0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  if (*(Command_line **)(this + 0x5ab8) != this + 0x5ac0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  General_options::~General_options((General_options *)(this + 8));
  return;
}

