
/* 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: bool define_symbol(Script_options * this, char * definition) */

bool __thiscall gold::Script_options::define_symbol(Script_options *this,char *definition)

{
  undefined1 uVar1;
  undefined1 uVar2;
  undefined *puVar3;
  int iVar4;
  bool bVar5;
  Parser_closure closure;
  Lex lex;
  Language local_28 [3];
  
  puVar3 = PTR_default_options__004c2088;
  lex.input_length_ = (*(code *)PTR_strlen_004c5b9c)(definition);
  lex.mode_ = EXPRESSION;
  lex.lineno_ = 1;
  lex.token_.classification_ = TOKEN_INVALID;
  lex.token_.value_ = (char *)0x0;
  lex.token_.value_length_ = 0;
  lex.token_.opcode_ = 0;
  lex.token_.lineno_ = 0;
  lex.token_.charpos_ = 0;
  lex.first_token_ = 0x165;
  uVar1 = puVar3[0x2f5];
  uVar2 = puVar3[0x54d];
  lex.input_string_ = definition;
  lex.current_ = definition;
  lex.linestart_ = definition;
  closure.posdep_options_.format_enum_ = (*(code *)PTR_format_enum_004c2084)(puVar3);
  closure.version_script_info_ = &this->version_script_info_;
  closure.posdep_options_.whole_archive_ = (bool)puVar3[0x4a3d];
  closure.posdep_options_.incremental_disposition_ = *(Incremental_disposition *)(puVar3 + 0x5a24);
  closure.parsing_defsym_ = true;
  closure.in_group_ = false;
  closure.is_in_sysroot_ = false;
  closure.skip_on_incompatible_target_ = false;
  closure.lex_ = &lex;
  closure.filename_ = PTR_s_in_a_linker_script_004c191c + 0x112c;
  closure.found_incompatible_target_ = false;
  closure.command_line_ = (Command_line *)0x0;
  closure.lineno_ = 0;
  closure.charpos_ = 0;
  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.
  _M_impl._M_start = (pointer)0x0;
  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.
  _M_impl._M_finish = (pointer)0x0;
  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.
  _M_impl._M_end_of_storage = (pointer)0x0;
  closure.language_stack_.
  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
  ._M_impl._M_start = (pointer)0x0;
  closure.language_stack_.
  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
  ._M_impl._M_finish = (pointer)0x0;
  closure.language_stack_.
  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
  ._M_impl._M_end_of_storage = (pointer)0x0;
  closure.inputs_ = (Input_arguments *)0x0;
  closure.script_info_ = (Script_info *)0x0;
                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */
  local_28[0] = LANGUAGE_C;
  closure.posdep_options_.as_needed_ = (bool)uVar1;
  closure.posdep_options_.Bdynamic_ = (bool)uVar2;
  closure.script_options_ = this;
  std::
  vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
  ::_M_realloc_insert<gold::Version_script_info::Language>
            (&closure.language_stack_,(iterator)0x0,local_28);
  local_28[0] = lex.mode_;
  std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>
            (&closure.lex_mode_stack_,local_28);
                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */
  iVar4 = (*(code *)PTR_yyparse_004c2888)(&closure);
  if (iVar4 == 0) {
    if ((closure.inputs_ != (Input_arguments *)0x0) &&
       (((closure.inputs_)->input_argument_list_).
        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
        _M_start !=
        ((closure.inputs_)->input_argument_list_).
        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
        _M_finish)) {
      (*(code *)PTR_do_gold_unreachable_004c1a30)
                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,
                 PTR_s_in_a_linker_script_004c191c + 0x21c8);
    }
    bVar5 = true;
  }
  else {
    bVar5 = false;
  }
  if (closure.language_stack_.
      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
      ._M_impl._M_start != (pointer)0x0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  if (closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.
      _M_impl._M_start != (pointer)0x0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  return bVar5;
}



/* gold::Script_options::define_symbol(char const*) */

undefined4 __thiscall gold::Script_options::define_symbol(Script_options *this,char *param_1)

{
  undefined1 uVar1;
  undefined1 uVar2;
  undefined *puVar3;
  int iVar4;
  undefined4 uVar5;
  undefined *local_b0;
  undefined1 local_ac;
  undefined1 local_ab;
  undefined4 local_a8;
  undefined1 local_a4;
  undefined4 local_a0;
  undefined4 local_9c;
  undefined1 local_98;
  undefined4 local_94;
  Script_options *local_90;
  Script_options *local_8c;
  char **local_88;
  undefined4 local_84;
  undefined4 local_80;
  int local_7c [3];
  int local_70 [3];
  int *local_64;
  undefined4 local_60;
  char *local_5c;
  undefined4 local_58;
  char *local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined4 local_30;
  char *local_2c;
  undefined4 local_28 [3];
  
  puVar3 = PTR_default_options__004c2088;
  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);
  local_50 = 1;
  local_30 = 1;
  local_48 = 0;
  local_44 = 0;
  local_40 = 0;
  local_3c = 0;
  local_38 = 0;
  local_34 = 0;
  local_4c = 0x165;
  uVar1 = puVar3[0x2f5];
  uVar2 = puVar3[0x54d];
  local_5c = param_1;
  local_54 = param_1;
  local_2c = param_1;
  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);
  local_8c = this + 0x68;
  local_a4 = puVar3[0x4a3d];
  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);
  local_9c = 0x1000000;
  local_88 = &local_5c;
  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;
  local_98 = 0;
  local_94 = 0;
  local_84 = 0;
  local_80 = 0;
  local_7c[0] = 0;
  local_7c[1] = 0;
  local_7c[2] = 0;
  local_70[0] = 0;
  local_70[1] = 0;
  local_70[2] = 0;
  local_64 = (int *)0x0;
  local_60 = 0;
                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */
  local_28[0] = 0;
  local_ac = uVar1;
  local_ab = uVar2;
  local_90 = this;
  std::
  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::
  _M_realloc_insert<gold::Version_script_info::Language>
            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>
              *)local_70,0,(Mode *)local_28);
  local_28[0] = local_50;
  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>
            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);
                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */
  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);
  if (iVar4 == 0) {
    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {
      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,
                         PTR_s_in_a_linker_script_004c191c + 0x21c8);
      return uVar5;
    }
    uVar5 = 1;
  }
  else {
    uVar5 = 0;
  }
  if (local_70[0] != 0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  if (local_7c[0] != 0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  return uVar5;
}


lui gp,0x22
addiu gp,gp,0x2214
addu gp,gp,t9
addiu sp,sp,-0xc8
lw t9,-0x36a4(gp)
sw gp,0x10(sp)
sw ra,0xc4(sp)
sw s5,0xc0(sp)
sw s4,0xbc(sp)
sw s3,0xb8(sp)
or s3,a0,zero
sw s2,0xb4(sp)
or a0,a1,zero
sw s1,0xb0(sp)
or s1,a1,zero
sw s0,0xac(sp)
lw s0,-0x71b8(gp)
jalr t9
_addiu s2,sp,0xa0
li v1,0x1
lw gp,0x10(sp)
sw v0,0x70(sp)
li v0,0x165
or a0,s0,zero
sw v1,0x78(sp)
sw v1,0x98(sp)
sw zero,0x80(sp)
sw zero,0x84(sp)
sw zero,0x88(sp)
sw zero,0x8c(sp)
sw zero,0x90(sp)
sw zero,0x94(sp)
sw s1,0x6c(sp)
sw s1,0x74(sp)
sw v0,0x7c(sp)
sw s1,0x9c(sp)
lw t9,-0x71bc(gp)
lbu s5,0x2f5(s0)
jalr t9
_lbu s4,0x54d(s0)
addiu a3,s3,0x68
lw gp,0x10(sp)
or a1,zero,zero
lbu t1,0x4a3d(s0)
addiu a0,sp,0x58
lw t0,0x5a24(s0)
or a2,s2,zero
sw v0,0x20(sp)
lui v0,0x100
lw v1,-0x7924(gp)
lw t9,-0x69bc(gp)
sw v0,0x2c(sp)
addiu v0,sp,0x6c
addiu v1,v1,0x112c
sb s5,0x1c(sp)
sb s4,0x1d(sp)
sw v1,0x18(sp)
sb t1,0x24(sp)
sw t0,0x28(sp)
sb zero,0x30(sp)
sw zero,0x34(sp)
sw s3,0x38(sp)
sw a3,0x3c(sp)
sw v0,0x40(sp)
sw zero,0x44(sp)
sw zero,0x48(sp)
sw zero,0x4c(sp)
sw zero,0x50(sp)
sw zero,0x54(sp)
sw zero,0x58(sp)
sw zero,0x5c(sp)
sw zero,0x60(sp)
sw zero,0x64(sp)
sw zero,0x68(sp)
bal 0x002abbec
_sw zero,0xa0(sp)
lw gp,0x10(sp)
addiu a0,sp,0x4c
lw v0,0x78(sp)
or a1,s2,zero
lw t9,-0x69c0(gp)
bal 0x002abf3c
_sw v0,0xa0(sp)
lw gp,0x10(sp)
addiu s0,sp,0x18
lw t9,-0x69b8(gp)
jalr t9
_or a0,s0,zero
bne v0,zero,0x002a7220
_lw gp,0x10(sp)
lw v0,0x64(sp)
beq v0,zero,0x002a71c8
_nop
lw v1,0x0(v0)
lw v0,0x4(v0)
beq v1,v0,0x002a71c8
_lw a2,-0x7924(gp)
li a1,0x69d
lw a0,-0x7924(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x21c8
jalr t9
_addiu a0,a0,0xdec
li s0,0x1
lw a0,0x58(sp)
beq a0,zero,0x002a71e4
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw a0,0x4c(sp)
beq a0,zero,0x002a71f8
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw ra,0xc4(sp)
or v0,s0,zero
lw s5,0xc0(sp)
lw s4,0xbc(sp)
lw s3,0xb8(sp)
lw s2,0xb4(sp)
lw s1,0xb0(sp)
lw s0,0xac(sp)
jr ra
_addiu sp,sp,0xc8
b 0x002a71cc
_or s0,zero,zero
(translation_unit "/* gold::Script_options::define_symbol(char const*) */\n\nundefined4 __thiscall gold::Script_options::define_symbol(Script_options *this,char *param_1)\n\n{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined *local_b0;\n  undefined1 local_ac;\n  undefined1 local_ab;\n  undefined4 local_a8;\n  undefined1 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined1 local_98;\n  undefined4 local_94;\n  Script_options *local_90;\n  Script_options *local_8c;\n  char **local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  int local_7c [3];\n  int local_70 [3];\n  int *local_64;\n  undefined4 local_60;\n  char *local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  char *local_2c;\n  undefined4 local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);\n  local_50 = 1;\n  local_30 = 1;\n  local_48 = 0;\n  local_44 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_4c = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  local_5c = param_1;\n  local_54 = param_1;\n  local_2c = param_1;\n  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  local_8c = this + 0x68;\n  local_a4 = puVar3[0x4a3d];\n  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);\n  local_9c = 0x1000000;\n  local_88 = &local_5c;\n  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  local_98 = 0;\n  local_94 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c[0] = 0;\n  local_7c[1] = 0;\n  local_7c[2] = 0;\n  local_70[0] = 0;\n  local_70[1] = 0;\n  local_70[2] = 0;\n  local_64 = (int *)0x0;\n  local_60 = 0;\n                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */\n  local_28[0] = 0;\n  local_ac = uVar1;\n  local_ab = uVar2;\n  local_90 = this;\n  std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);\n  local_28[0] = local_50;\n  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);\n                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */\n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);\n  if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }\n  if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return uVar5;\n}\n\n" comment (function_definition "undefined4 __thiscall gold::Script_options::define_symbol(Script_options *this,char *param_1)\n\n{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined *local_b0;\n  undefined1 local_ac;\n  undefined1 local_ab;\n  undefined4 local_a8;\n  undefined1 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined1 local_98;\n  undefined4 local_94;\n  Script_options *local_90;\n  Script_options *local_8c;\n  char **local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  int local_7c [3];\n  int local_70 [3];\n  int *local_64;\n  undefined4 local_60;\n  char *local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  char *local_2c;\n  undefined4 local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);\n  local_50 = 1;\n  local_30 = 1;\n  local_48 = 0;\n  local_44 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_4c = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  local_5c = param_1;\n  local_54 = param_1;\n  local_2c = param_1;\n  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  local_8c = this + 0x68;\n  local_a4 = puVar3[0x4a3d];\n  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);\n  local_9c = 0x1000000;\n  local_88 = &local_5c;\n  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  local_98 = 0;\n  local_94 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c[0] = 0;\n  local_7c[1] = 0;\n  local_7c[2] = 0;\n  local_70[0] = 0;\n  local_70[1] = 0;\n  local_70[2] = 0;\n  local_64 = (int *)0x0;\n  local_60 = 0;\n                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */\n  local_28[0] = 0;\n  local_ac = uVar1;\n  local_ab = uVar2;\n  local_90 = this;\n  std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);\n  local_28[0] = local_50;\n  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);\n                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */\n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);\n  if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }\n  if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return uVar5;\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Script_options::" identifier : : identifier : :) (function_declarator "define_symbol(Script_options *this,char *param_1)" identifier (parameter_list "(Script_options *this,char *param_1)" ( (parameter_declaration "Script_options *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined *local_b0;\n  undefined1 local_ac;\n  undefined1 local_ab;\n  undefined4 local_a8;\n  undefined1 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined1 local_98;\n  undefined4 local_94;\n  Script_options *local_90;\n  Script_options *local_8c;\n  char **local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  int local_7c [3];\n  int local_70 [3];\n  int *local_64;\n  undefined4 local_60;\n  char *local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  char *local_2c;\n  undefined4 local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);\n  local_50 = 1;\n  local_30 = 1;\n  local_48 = 0;\n  local_44 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_4c = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  local_5c = param_1;\n  local_54 = param_1;\n  local_2c = param_1;\n  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  local_8c = this + 0x68;\n  local_a4 = puVar3[0x4a3d];\n  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);\n  local_9c = 0x1000000;\n  local_88 = &local_5c;\n  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  local_98 = 0;\n  local_94 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c[0] = 0;\n  local_7c[1] = 0;\n  local_7c[2] = 0;\n  local_70[0] = 0;\n  local_70[1] = 0;\n  local_70[2] = 0;\n  local_64 = (int *)0x0;\n  local_60 = 0;\n                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */\n  local_28[0] = 0;\n  local_ac = uVar1;\n  local_ab = uVar2;\n  local_90 = this;\n  std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);\n  local_28[0] = local_50;\n  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);\n                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */\n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);\n  if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }\n  if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return uVar5;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "undefined1 local_ac;" type_identifier identifier ;) (declaration "undefined1 local_ab;" type_identifier identifier ;) (declaration "undefined4 local_a8;" type_identifier identifier ;) (declaration "undefined1 local_a4;" type_identifier identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "undefined4 local_9c;" type_identifier identifier ;) (declaration "undefined1 local_98;" type_identifier identifier ;) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "Script_options *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "Script_options *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "char **local_88;" primitive_type (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier)) ;) (declaration "undefined4 local_84;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "int local_7c [3];" primitive_type (array_declarator "local_7c [3]" identifier [ number_literal ]) ;) (declaration "int local_70 [3];" primitive_type (array_declarator "local_70 [3]" identifier [ number_literal ]) ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "char *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_28 [3];" type_identifier (array_declarator "local_28 [3]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = PTR_default_options__004c2088;" (assignment_expression "puVar3 = PTR_default_options__004c2088" identifier = identifier) ;) (expression_statement "local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);" (assignment_expression "local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_30 = 1;" (assignment_expression "local_30 = 1" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0x165;" (assignment_expression "local_4c = 0x165" identifier = number_literal) ;) (expression_statement "uVar1 = puVar3[0x2f5];" (assignment_expression "uVar1 = puVar3[0x2f5]" identifier = (subscript_expression "puVar3[0x2f5]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar3[0x54d];" (assignment_expression "uVar2 = puVar3[0x54d]" identifier = (subscript_expression "puVar3[0x54d]" identifier [ number_literal ])) ;) (expression_statement "local_5c = param_1;" (assignment_expression "local_5c = param_1" identifier = identifier) ;) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" identifier = identifier) ;) (expression_statement "local_2c = param_1;" (assignment_expression "local_2c = param_1" identifier = identifier) ;) (expression_statement "local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);" (assignment_expression "local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3)" identifier = (call_expression "(*(code *)PTR_format_enum_004c2084)(puVar3)" (parenthesized_expression "(*(code *)PTR_format_enum_004c2084)" ( (pointer_expression "*(code *)PTR_format_enum_004c2084" * (cast_expression "(code *)PTR_format_enum_004c2084" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3)" ( identifier )))) ;) (expression_statement "local_8c = this + 0x68;" (assignment_expression "local_8c = this + 0x68" identifier = (binary_expression "this + 0x68" identifier + number_literal)) ;) (expression_statement "local_a4 = puVar3[0x4a3d];" (assignment_expression "local_a4 = puVar3[0x4a3d]" identifier = (subscript_expression "puVar3[0x4a3d]" identifier [ number_literal ])) ;) (expression_statement "local_a0 = *(undefined4 *)(puVar3 + 0x5a24);" (assignment_expression "local_a0 = *(undefined4 *)(puVar3 + 0x5a24)" identifier = (pointer_expression "*(undefined4 *)(puVar3 + 0x5a24)" * (cast_expression "(undefined4 *)(puVar3 + 0x5a24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x5a24)" ( (binary_expression "puVar3 + 0x5a24" identifier + number_literal) ))))) ;) (expression_statement "local_9c = 0x1000000;" (assignment_expression "local_9c = 0x1000000" identifier = number_literal) ;) (expression_statement "local_88 = &local_5c;" (assignment_expression "local_88 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;" (assignment_expression "local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x112c" identifier + number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c[0] = 0;" (assignment_expression "local_7c[0] = 0" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_7c[1] = 0;" (assignment_expression "local_7c[1] = 0" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_7c[2] = 0;" (assignment_expression "local_7c[2] = 0" (subscript_expression "local_7c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_70[0] = 0;" (assignment_expression "local_70[0] = 0" (subscript_expression "local_70[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_70[1] = 0;" (assignment_expression "local_70[1] = 0" (subscript_expression "local_70[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_70[2] = 0;" (assignment_expression "local_70[2] = 0" (subscript_expression "local_70[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) comment (expression_statement "local_28[0] = 0;" (assignment_expression "local_28[0] = 0" (subscript_expression "local_28[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_ac = uVar1;" (assignment_expression "local_ac = uVar1" identifier = identifier) ;) (expression_statement "local_ab = uVar2;" (assignment_expression "local_ab = uVar2" identifier = identifier) ;) (expression_statement "local_90 = this;" (assignment_expression "local_90 = this" identifier = identifier) ;) (labeled_statement "std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::\n  vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::Language,std::allocator<gold:" : : (comma_expression "Language,std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::Language>>::\n  _M_realloc_insert<gold:" : : identifier >> : : (binary_expression "_M_realloc_insert<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::Language>\n            ((vector<gold:" : : identifier > ( ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::Language,std::allocator<gold:" : : (comma_expression "Language,std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier : (ERROR ":" :) (expression_statement "Language>>\n              *)local_70,0,(Mode *)local_28);" (comma_expression "Language>>\n              *)local_70,0,(Mode *)local_28" (binary_expression "Language>>\n              *)local_70" identifier >> (pointer_expression "*)local_70" * (ERROR ")" )) identifier)) , (comma_expression "0,(Mode *)local_28" number_literal , (cast_expression "(Mode *)local_28" ( (type_descriptor "Mode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ")" )) ;))))))) (expression_statement "local_28[0] = local_50;" (assignment_expression "local_28[0] = local_50" (subscript_expression "local_28[0]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::Mode,std::allocator<gold:" : : (comma_expression "Mode,std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::Mode>>::emplace_back<gold:" : : identifier >> : : (binary_expression "emplace_back<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::Mode>\n            ((vector<gold:" : : identifier > ( ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::Mode,std::allocator<gold:" : : (comma_expression "Mode,std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier : (ERROR ":" :) (expression_statement "Mode>> *)local_7c,(Mode *)local_28);" (comma_expression "Mode>> *)local_7c,(Mode *)local_28" (binary_expression "Mode>> *)local_7c" identifier >> (pointer_expression "*)local_7c" * (ERROR ")" )) identifier)) , (cast_expression "(Mode *)local_28" ( (type_descriptor "Mode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR ")" )) ;))))))) comment (expression_statement "iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);" (assignment_expression "iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0)" identifier = (call_expression "(*(code *)PTR_yyparse_004c2888)(&local_b0)" (parenthesized_expression "(*(code *)PTR_yyparse_004c2888)" ( (pointer_expression "*(code *)PTR_yyparse_004c2888" * (cast_expression "(code *)PTR_yyparse_004c2888" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_b0)" ( (pointer_expression "&local_b0" & identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }" { (if_statement "if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }" if (parenthesized_expression "((local_64 != (int *)0x0) && (*local_64 != local_64[1]))" ( (binary_expression "(local_64 != (int *)0x0) && (*local_64 != local_64[1])" (parenthesized_expression "(local_64 != (int *)0x0)" ( (binary_expression "local_64 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*local_64 != local_64[1])" ( (binary_expression "*local_64 != local_64[1]" (pointer_expression "*local_64" * identifier) != (subscript_expression "local_64[1]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }" { (expression_statement "uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);" (assignment_expression "uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0xdec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x21c8" identifier + number_literal) )))) ;) (return_statement "return uVar5;" return identifier ;) })) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar5 = 0;\n  }" else (compound_statement "{\n    uVar5 = 0;\n  }" { (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) }))) (if_statement "if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(local_70[0] != 0)" ( (binary_expression "local_70[0] != 0" (subscript_expression "local_70[0]" 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 (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(local_7c[0] != 0)" ( (binary_expression "local_7c[0] != 0" (subscript_expression "local_7c[0]" 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 "()" ( ))) ;) })) (return_statement "return uVar5;" return identifier ;) })))
(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: bool define_symbol(Script_options * this, char * definition) */\n\nbool __thiscall gold::Script_options::define_symbol(Script_options *this,char *definition)\n\n{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  bool bVar5;\n  Parser_closure closure;\n  Lex lex;\n  Language local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  lex.input_length_ = (*(code *)PTR_strlen_004c5b9c)(definition);\n  lex.mode_ = EXPRESSION;\n  lex.lineno_ = 1;\n  lex.token_.classification_ = TOKEN_INVALID;\n  lex.token_.value_ = (char *)0x0;\n  lex.token_.value_length_ = 0;\n  lex.token_.opcode_ = 0;\n  lex.token_.lineno_ = 0;\n  lex.token_.charpos_ = 0;\n  lex.first_token_ = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  lex.input_string_ = definition;\n  lex.current_ = definition;\n  lex.linestart_ = definition;\n  closure.posdep_options_.format_enum_ = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  closure.version_script_info_ = &this->version_script_info_;\n  closure.posdep_options_.whole_archive_ = (bool)puVar3[0x4a3d];\n  closure.posdep_options_.incremental_disposition_ = *(Incremental_disposition *)(puVar3 + 0x5a24);\n  closure.parsing_defsym_ = true;\n  closure.in_group_ = false;\n  closure.is_in_sysroot_ = false;\n  closure.skip_on_incompatible_target_ = false;\n  closure.lex_ = &lex;\n  closure.filename_ = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  closure.found_incompatible_target_ = false;\n  closure.command_line_ = (Command_line *)0x0;\n  closure.lineno_ = 0;\n  closure.charpos_ = 0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_start = (pointer)0x0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_start = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  closure.inputs_ = (Input_arguments *)0x0;\n  closure.script_info_ = (Script_info *)0x0;\n                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */\n  local_28[0] = LANGUAGE_C;\n  closure.posdep_options_.as_needed_ = (bool)uVar1;\n  closure.posdep_options_.Bdynamic_ = (bool)uVar2;\n  closure.script_options_ = this;\n  std::\n  vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ::_M_realloc_insert<gold::Version_script_info::Language>\n            (&closure.language_stack_,(iterator)0x0,local_28);\n  local_28[0] = lex.mode_;\n  std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n            (&closure.lex_mode_stack_,local_28);\n                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */\n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&closure);\n  if (iVar4 == 0) {\n    if ((closure.inputs_ != (Input_arguments *)0x0) &&\n       (((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish)) {\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8);\n    }\n    bVar5 = true;\n  }\n  else {\n    bVar5 = false;\n  }\n  if (closure.language_stack_.\n      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n      _M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return bVar5;\n}\n\n" comment comment comment comment comment comment comment (function_definition "bool __thiscall gold::Script_options::define_symbol(Script_options *this,char *definition)\n\n{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  bool bVar5;\n  Parser_closure closure;\n  Lex lex;\n  Language local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  lex.input_length_ = (*(code *)PTR_strlen_004c5b9c)(definition);\n  lex.mode_ = EXPRESSION;\n  lex.lineno_ = 1;\n  lex.token_.classification_ = TOKEN_INVALID;\n  lex.token_.value_ = (char *)0x0;\n  lex.token_.value_length_ = 0;\n  lex.token_.opcode_ = 0;\n  lex.token_.lineno_ = 0;\n  lex.token_.charpos_ = 0;\n  lex.first_token_ = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  lex.input_string_ = definition;\n  lex.current_ = definition;\n  lex.linestart_ = definition;\n  closure.posdep_options_.format_enum_ = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  closure.version_script_info_ = &this->version_script_info_;\n  closure.posdep_options_.whole_archive_ = (bool)puVar3[0x4a3d];\n  closure.posdep_options_.incremental_disposition_ = *(Incremental_disposition *)(puVar3 + 0x5a24);\n  closure.parsing_defsym_ = true;\n  closure.in_group_ = false;\n  closure.is_in_sysroot_ = false;\n  closure.skip_on_incompatible_target_ = false;\n  closure.lex_ = &lex;\n  closure.filename_ = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  closure.found_incompatible_target_ = false;\n  closure.command_line_ = (Command_line *)0x0;\n  closure.lineno_ = 0;\n  closure.charpos_ = 0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_start = (pointer)0x0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_start = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  closure.inputs_ = (Input_arguments *)0x0;\n  closure.script_info_ = (Script_info *)0x0;\n                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */\n  local_28[0] = LANGUAGE_C;\n  closure.posdep_options_.as_needed_ = (bool)uVar1;\n  closure.posdep_options_.Bdynamic_ = (bool)uVar2;\n  closure.script_options_ = this;\n  std::\n  vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ::_M_realloc_insert<gold::Version_script_info::Language>\n            (&closure.language_stack_,(iterator)0x0,local_28);\n  local_28[0] = lex.mode_;\n  std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n            (&closure.lex_mode_stack_,local_28);\n                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */\n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&closure);\n  if (iVar4 == 0) {\n    if ((closure.inputs_ != (Input_arguments *)0x0) &&\n       (((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish)) {\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8);\n    }\n    bVar5 = true;\n  }\n  else {\n    bVar5 = false;\n  }\n  if (closure.language_stack_.\n      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n      _M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return bVar5;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Script_options::" identifier : : identifier : :) (function_declarator "define_symbol(Script_options *this,char *definition)" identifier (parameter_list "(Script_options *this,char *definition)" ( (parameter_declaration "Script_options *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *definition" primitive_type (pointer_declarator "*definition" * identifier)) ))) (compound_statement "{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  bool bVar5;\n  Parser_closure closure;\n  Lex lex;\n  Language local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  lex.input_length_ = (*(code *)PTR_strlen_004c5b9c)(definition);\n  lex.mode_ = EXPRESSION;\n  lex.lineno_ = 1;\n  lex.token_.classification_ = TOKEN_INVALID;\n  lex.token_.value_ = (char *)0x0;\n  lex.token_.value_length_ = 0;\n  lex.token_.opcode_ = 0;\n  lex.token_.lineno_ = 0;\n  lex.token_.charpos_ = 0;\n  lex.first_token_ = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  lex.input_string_ = definition;\n  lex.current_ = definition;\n  lex.linestart_ = definition;\n  closure.posdep_options_.format_enum_ = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  closure.version_script_info_ = &this->version_script_info_;\n  closure.posdep_options_.whole_archive_ = (bool)puVar3[0x4a3d];\n  closure.posdep_options_.incremental_disposition_ = *(Incremental_disposition *)(puVar3 + 0x5a24);\n  closure.parsing_defsym_ = true;\n  closure.in_group_ = false;\n  closure.is_in_sysroot_ = false;\n  closure.skip_on_incompatible_target_ = false;\n  closure.lex_ = &lex;\n  closure.filename_ = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  closure.found_incompatible_target_ = false;\n  closure.command_line_ = (Command_line *)0x0;\n  closure.lineno_ = 0;\n  closure.charpos_ = 0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_start = (pointer)0x0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_start = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  closure.language_stack_.\n  super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  closure.inputs_ = (Input_arguments *)0x0;\n  closure.script_info_ = (Script_info *)0x0;\n                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */\n  local_28[0] = LANGUAGE_C;\n  closure.posdep_options_.as_needed_ = (bool)uVar1;\n  closure.posdep_options_.Bdynamic_ = (bool)uVar2;\n  closure.script_options_ = this;\n  std::\n  vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ::_M_realloc_insert<gold::Version_script_info::Language>\n            (&closure.language_stack_,(iterator)0x0,local_28);\n  local_28[0] = lex.mode_;\n  std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n            (&closure.lex_mode_stack_,local_28);\n                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */\n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&closure);\n  if (iVar4 == 0) {\n    if ((closure.inputs_ != (Input_arguments *)0x0) &&\n       (((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish)) {\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8);\n    }\n    bVar5 = true;\n  }\n  else {\n    bVar5 = false;\n  }\n  if (closure.language_stack_.\n      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n      _M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return bVar5;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "Parser_closure closure;" type_identifier identifier ;) (declaration "Lex lex;" type_identifier identifier ;) (declaration "Language local_28 [3];" type_identifier (array_declarator "local_28 [3]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = PTR_default_options__004c2088;" (assignment_expression "puVar3 = PTR_default_options__004c2088" identifier = identifier) ;) (expression_statement "lex.input_length_ = (*(code *)PTR_strlen_004c5b9c)(definition);" (assignment_expression "lex.input_length_ = (*(code *)PTR_strlen_004c5b9c)(definition)" (field_expression "lex.input_length_" identifier . field_identifier) = (call_expression "(*(code *)PTR_strlen_004c5b9c)(definition)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(definition)" ( identifier )))) ;) (expression_statement "lex.mode_ = EXPRESSION;" (assignment_expression "lex.mode_ = EXPRESSION" (field_expression "lex.mode_" identifier . field_identifier) = identifier) ;) (expression_statement "lex.lineno_ = 1;" (assignment_expression "lex.lineno_ = 1" (field_expression "lex.lineno_" identifier . field_identifier) = number_literal) ;) (expression_statement "lex.token_.classification_ = TOKEN_INVALID;" (assignment_expression "lex.token_.classification_ = TOKEN_INVALID" (field_expression "lex.token_.classification_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "lex.token_.value_ = (char *)0x0;" (assignment_expression "lex.token_.value_ = (char *)0x0" (field_expression "lex.token_.value_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lex.token_.value_length_ = 0;" (assignment_expression "lex.token_.value_length_ = 0" (field_expression "lex.token_.value_length_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "lex.token_.opcode_ = 0;" (assignment_expression "lex.token_.opcode_ = 0" (field_expression "lex.token_.opcode_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "lex.token_.lineno_ = 0;" (assignment_expression "lex.token_.lineno_ = 0" (field_expression "lex.token_.lineno_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "lex.token_.charpos_ = 0;" (assignment_expression "lex.token_.charpos_ = 0" (field_expression "lex.token_.charpos_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "lex.first_token_ = 0x165;" (assignment_expression "lex.first_token_ = 0x165" (field_expression "lex.first_token_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar1 = puVar3[0x2f5];" (assignment_expression "uVar1 = puVar3[0x2f5]" identifier = (subscript_expression "puVar3[0x2f5]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar3[0x54d];" (assignment_expression "uVar2 = puVar3[0x54d]" identifier = (subscript_expression "puVar3[0x54d]" identifier [ number_literal ])) ;) (expression_statement "lex.input_string_ = definition;" (assignment_expression "lex.input_string_ = definition" (field_expression "lex.input_string_" identifier . field_identifier) = identifier) ;) (expression_statement "lex.current_ = definition;" (assignment_expression "lex.current_ = definition" (field_expression "lex.current_" identifier . field_identifier) = identifier) ;) (expression_statement "lex.linestart_ = definition;" (assignment_expression "lex.linestart_ = definition" (field_expression "lex.linestart_" identifier . field_identifier) = identifier) ;) (expression_statement "closure.posdep_options_.format_enum_ = (*(code *)PTR_format_enum_004c2084)(puVar3);" (assignment_expression "closure.posdep_options_.format_enum_ = (*(code *)PTR_format_enum_004c2084)(puVar3)" (field_expression "closure.posdep_options_.format_enum_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (call_expression "(*(code *)PTR_format_enum_004c2084)(puVar3)" (parenthesized_expression "(*(code *)PTR_format_enum_004c2084)" ( (pointer_expression "*(code *)PTR_format_enum_004c2084" * (cast_expression "(code *)PTR_format_enum_004c2084" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3)" ( identifier )))) ;) (expression_statement "closure.version_script_info_ = &this->version_script_info_;" (assignment_expression "closure.version_script_info_ = &this->version_script_info_" (field_expression "closure.version_script_info_" identifier . field_identifier) = (pointer_expression "&this->version_script_info_" & (field_expression "this->version_script_info_" identifier -> field_identifier))) ;) (expression_statement "closure.posdep_options_.whole_archive_ = (bool)puVar3[0x4a3d];" (assignment_expression "closure.posdep_options_.whole_archive_ = (bool)puVar3[0x4a3d]" (field_expression "closure.posdep_options_.whole_archive_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (cast_expression "(bool)puVar3[0x4a3d]" ( (type_descriptor "bool" primitive_type) ) (subscript_expression "puVar3[0x4a3d]" identifier [ number_literal ]))) ;) (expression_statement "closure.posdep_options_.incremental_disposition_ = *(Incremental_disposition *)(puVar3 + 0x5a24);" (assignment_expression "closure.posdep_options_.incremental_disposition_ = *(Incremental_disposition *)(puVar3 + 0x5a24)" (field_expression "closure.posdep_options_.incremental_disposition_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (pointer_expression "*(Incremental_disposition *)(puVar3 + 0x5a24)" * (cast_expression "(Incremental_disposition *)(puVar3 + 0x5a24)" ( (type_descriptor "Incremental_disposition *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x5a24)" ( (binary_expression "puVar3 + 0x5a24" identifier + number_literal) ))))) ;) (expression_statement "closure.parsing_defsym_ = true;" (assignment_expression "closure.parsing_defsym_ = true" (field_expression "closure.parsing_defsym_" identifier . field_identifier) = true) ;) (expression_statement "closure.in_group_ = false;" (assignment_expression "closure.in_group_ = false" (field_expression "closure.in_group_" identifier . field_identifier) = false) ;) (expression_statement "closure.is_in_sysroot_ = false;" (assignment_expression "closure.is_in_sysroot_ = false" (field_expression "closure.is_in_sysroot_" identifier . field_identifier) = false) ;) (expression_statement "closure.skip_on_incompatible_target_ = false;" (assignment_expression "closure.skip_on_incompatible_target_ = false" (field_expression "closure.skip_on_incompatible_target_" identifier . field_identifier) = false) ;) (expression_statement "closure.lex_ = &lex;" (assignment_expression "closure.lex_ = &lex" (field_expression "closure.lex_" identifier . field_identifier) = (pointer_expression "&lex" & identifier)) ;) (expression_statement "closure.filename_ = PTR_s_in_a_linker_script_004c191c + 0x112c;" (assignment_expression "closure.filename_ = PTR_s_in_a_linker_script_004c191c + 0x112c" (field_expression "closure.filename_" identifier . field_identifier) = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x112c" identifier + number_literal)) ;) (expression_statement "closure.found_incompatible_target_ = false;" (assignment_expression "closure.found_incompatible_target_ = false" (field_expression "closure.found_incompatible_target_" identifier . field_identifier) = false) ;) (expression_statement "closure.command_line_ = (Command_line *)0x0;" (assignment_expression "closure.command_line_ = (Command_line *)0x0" (field_expression "closure.command_line_" identifier . field_identifier) = (cast_expression "(Command_line *)0x0" ( (type_descriptor "Command_line *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "closure.lineno_ = 0;" (assignment_expression "closure.lineno_ = 0" (field_expression "closure.lineno_" identifier . field_identifier) = number_literal) ;) (expression_statement "closure.charpos_ = 0;" (assignment_expression "closure.charpos_ = 0" (field_expression "closure.charpos_" identifier . field_identifier) = number_literal) ;) (ERROR "closure.lex_mode_stack_.super__Vector_base<gold::" (binary_expression "closure.lex_mode_stack_.super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Mode,_std::allocator<gold:" : : (comma_expression "Mode,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>_>.\n  _M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Mode>_>.\n  _M_impl._M_start = (pointer)0x0;" (assignment_expression "Mode>_>.\n  _M_impl._M_start = (pointer)0x0" (field_expression "Mode>_>.\n  _M_impl._M_start" (field_expression "Mode>_>.\n  _M_impl" (binary_expression "Mode>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.lex_mode_stack_.super__Vector_base<gold::" (binary_expression "closure.lex_mode_stack_.super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Mode,_std::allocator<gold:" : : (comma_expression "Mode,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>_>.\n  _M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Mode>_>.\n  _M_impl._M_finish = (pointer)0x0;" (assignment_expression "Mode>_>.\n  _M_impl._M_finish = (pointer)0x0" (field_expression "Mode>_>.\n  _M_impl._M_finish" (field_expression "Mode>_>.\n  _M_impl" (binary_expression "Mode>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.lex_mode_stack_.super__Vector_base<gold::" (binary_expression "closure.lex_mode_stack_.super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Mode,_std::allocator<gold:" : : (comma_expression "Mode,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Mode>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Mode>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Mode>_>.\n  _M_impl._M_end_of_storage" (field_expression "Mode>_>.\n  _M_impl" (binary_expression "Mode>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.language_stack_.\n  super__Vector_base<gold::" (binary_expression "closure.language_stack_.\n  super__Vector_base<gold" (field_expression "closure.language_stack_.\n  super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Language,_std::allocator<gold:" : : (comma_expression "Language,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>_>\n  ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Language>_>\n  ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Language>_>\n  ._M_impl._M_start = (pointer)0x0" (field_expression "Language>_>\n  ._M_impl._M_start" (field_expression "Language>_>\n  ._M_impl" (binary_expression "Language>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.language_stack_.\n  super__Vector_base<gold::" (binary_expression "closure.language_stack_.\n  super__Vector_base<gold" (field_expression "closure.language_stack_.\n  super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Language,_std::allocator<gold:" : : (comma_expression "Language,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>_>\n  ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Language>_>\n  ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Language>_>\n  ._M_impl._M_finish = (pointer)0x0" (field_expression "Language>_>\n  ._M_impl._M_finish" (field_expression "Language>_>\n  ._M_impl" (binary_expression "Language>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.language_stack_.\n  super__Vector_base<gold::" (binary_expression "closure.language_stack_.\n  super__Vector_base<gold" (field_expression "closure.language_stack_.\n  super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Language,_std::allocator<gold:" : : (comma_expression "Language,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Language>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Language>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Language>_>\n  ._M_impl._M_end_of_storage" (field_expression "Language>_>\n  ._M_impl" (binary_expression "Language>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "closure.inputs_ = (Input_arguments *)0x0;" (assignment_expression "closure.inputs_ = (Input_arguments *)0x0" (field_expression "closure.inputs_" identifier . field_identifier) = (cast_expression "(Input_arguments *)0x0" ( (type_descriptor "Input_arguments *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "closure.script_info_ = (Script_info *)0x0;" (assignment_expression "closure.script_info_ = (Script_info *)0x0" (field_expression "closure.script_info_" identifier . field_identifier) = (cast_expression "(Script_info *)0x0" ( (type_descriptor "Script_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "local_28[0] = LANGUAGE_C;" (assignment_expression "local_28[0] = LANGUAGE_C" (subscript_expression "local_28[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "closure.posdep_options_.as_needed_ = (bool)uVar1;" (assignment_expression "closure.posdep_options_.as_needed_ = (bool)uVar1" (field_expression "closure.posdep_options_.as_needed_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (cast_expression "(bool)uVar1" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (expression_statement "closure.posdep_options_.Bdynamic_ = (bool)uVar2;" (assignment_expression "closure.posdep_options_.Bdynamic_ = (bool)uVar2" (field_expression "closure.posdep_options_.Bdynamic_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (cast_expression "(bool)uVar2" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (expression_statement "closure.script_options_ = this;" (assignment_expression "closure.script_options_ = this" (field_expression "closure.script_options_" identifier . field_identifier) = identifier) ;) (labeled_statement "std::\n  vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ::_M_realloc_insert<gold::Version_script_info::Language>\n            (&closure.language_stack_,(iterator)0x0,local_28);" statement_identifier (ERROR "::\n  vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n  ::_M_realloc_insert<gold::Version_script_info::Language>\n            (&closure.language_stack_,(iterator)0x0,local_28);" statement_identifier (ERROR "::Language,_std::allocator<gold:" : : (comma_expression "Language,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>_>\n  ::_M_realloc_insert<gold::Version_script_info::Language>\n            (&closure.language_stack_,(iterator)0x0,local_28);" statement_identifier (ERROR "::Language>_>\n  ::_M_realloc_insert<gold:" : : (binary_expression "Language>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>\n            (&closure.language_stack_,(iterator)0x0,local_28);" statement_identifier : (ERROR ":" :) (expression_statement "Language>\n            (&closure.language_stack_,(iterator)0x0,local_28);" (binary_expression "Language>\n            (&closure.language_stack_,(iterator)0x0,local_28)" identifier > (parenthesized_expression "(&closure.language_stack_,(iterator)0x0,local_28)" ( (comma_expression "&closure.language_stack_,(iterator)0x0,local_28" (pointer_expression "&closure.language_stack_" & (field_expression "closure.language_stack_" identifier . field_identifier)) , (comma_expression "(iterator)0x0,local_28" (cast_expression "(iterator)0x0" ( (type_descriptor "iterator" type_identifier) ) number_literal) , identifier)) ))) ;))))) (expression_statement "local_28[0] = lex.mode_;" (assignment_expression "local_28[0] = lex.mode_" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (field_expression "lex.mode_" identifier . field_identifier)) ;) (labeled_statement "std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n            (&closure.lex_mode_stack_,local_28);" statement_identifier (ERROR "::vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n            (&closure.lex_mode_stack_,local_28);" statement_identifier (ERROR "::Mode,_std::allocator<gold:" : : (comma_expression "Mode,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n            (&closure.lex_mode_stack_,local_28);" statement_identifier (ERROR "::Mode>_>::emplace_back<gold:" : : (binary_expression "Mode>_" identifier > identifier) > : : (binary_expression "emplace_back<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>\n            (&closure.lex_mode_stack_,local_28);" statement_identifier : (ERROR ":" :) (expression_statement "Mode>\n            (&closure.lex_mode_stack_,local_28);" (binary_expression "Mode>\n            (&closure.lex_mode_stack_,local_28)" identifier > (parenthesized_expression "(&closure.lex_mode_stack_,local_28)" ( (comma_expression "&closure.lex_mode_stack_,local_28" (pointer_expression "&closure.lex_mode_stack_" & (field_expression "closure.lex_mode_stack_" identifier . field_identifier)) , identifier) ))) ;))))) comment (expression_statement "iVar4 = (*(code *)PTR_yyparse_004c2888)(&closure);" (assignment_expression "iVar4 = (*(code *)PTR_yyparse_004c2888)(&closure)" identifier = (call_expression "(*(code *)PTR_yyparse_004c2888)(&closure)" (parenthesized_expression "(*(code *)PTR_yyparse_004c2888)" ( (pointer_expression "*(code *)PTR_yyparse_004c2888" * (cast_expression "(code *)PTR_yyparse_004c2888" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&closure)" ( (pointer_expression "&closure" & identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n    if ((closure.inputs_ != (Input_arguments *)0x0) &&\n       (((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish)) {\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8);\n    }\n    bVar5 = true;\n  }\n  else {\n    bVar5 = false;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((closure.inputs_ != (Input_arguments *)0x0) &&\n       (((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish)) {\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8);\n    }\n    bVar5 = true;\n  }" { (if_statement "if ((closure.inputs_ != (Input_arguments *)0x0) &&\n       (((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish)) {\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8);\n    }" if (parenthesized_expression "((closure.inputs_ != (Input_arguments *)0x0) &&\n       (((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish))" ( (binary_expression "(closure.inputs_ != (Input_arguments *)0x0) &&\n       (((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish)" (parenthesized_expression "(closure.inputs_ != (Input_arguments *)0x0)" ( (binary_expression "closure.inputs_ != (Input_arguments *)0x0" (field_expression "closure.inputs_" identifier . field_identifier) != (cast_expression "(Input_arguments *)0x0" ( (type_descriptor "Input_arguments *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_finish)" ( (ERROR "((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold::Input_argument,_std" (binary_expression "((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold" (field_expression "((closure.inputs_)->input_argument_list_).\n        super__Vector_base" (parenthesized_expression "((closure.inputs_)->input_argument_list_)" ( (field_expression "(closure.inputs_)->input_argument_list_" (parenthesized_expression "(closure.inputs_)" ( (field_expression "closure.inputs_" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Input_argument>_>._M_impl.\n        _M_start !=\n        ((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold" (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) != (binary_expression "((closure.inputs_)->input_argument_list_).\n        super__Vector_base<gold" (field_expression "((closure.inputs_)->input_argument_list_).\n        super__Vector_base" (parenthesized_expression "((closure.inputs_)->input_argument_list_)" ( (field_expression "(closure.inputs_)->input_argument_list_" (parenthesized_expression "(closure.inputs_)" ( (field_expression "closure.inputs_" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier)) : : (comma_expression "Input_argument,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (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) ))) )) (compound_statement "{\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8);\n    }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                 PTR_s_in_a_linker_script_004c191c + 0x21c8)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0xdec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x21c8" identifier + number_literal) ))) ;) })) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) }) (else_clause "else {\n    bVar5 = false;\n  }" else (compound_statement "{\n    bVar5 = false;\n  }" { (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) }))) (if_statement "if (closure.language_stack_.\n      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(closure.language_stack_.\n      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n      ._M_impl._M_start != (pointer)0x0)" ( (ERROR "closure.language_stack_.\n      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::" (comma_expression "closure.language_stack_.\n      super__Vector_base<gold::Version_script_info::Language,_std" (binary_expression "closure.language_stack_.\n      super__Vector_base<gold" (field_expression "closure.language_stack_.\n      super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::Version_script_info::Language" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Language>_>\n      ._M_impl._M_start != (pointer)0x0" (field_expression "Language>_>\n      ._M_impl._M_start" (field_expression "Language>_>\n      ._M_impl" (binary_expression "Language>_" identifier > 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 (closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n      _M_impl._M_start != (pointer)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n      _M_impl._M_start != (pointer)0x0)" ( (ERROR "closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::" (comma_expression "closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std" (binary_expression "closure.lex_mode_stack_.super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::Lex::Mode" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Mode>_>.\n      _M_impl._M_start != (pointer)0x0" (field_expression "Mode>_>.\n      _M_impl._M_start" (field_expression "Mode>_>.\n      _M_impl" (binary_expression "Mode>_" identifier > 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 "()" ( ))) ;) })) (return_statement "return bVar5;" return identifier ;) })))
(translation_unit "undefined4 __thiscall gold::Script_options::define_symbol(Script_options *this,char *param_1)\n\n{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined *local_b0;\n  undefined1 local_ac;\n  undefined1 local_ab;\n  undefined4 local_a8;\n  undefined1 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined1 local_98;\n  undefined4 local_94;\n  Script_options *local_90;\n  Script_options *local_8c;\n  char **local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  int local_7c [3];\n  int local_70 [3];\n  int *local_64;\n  undefined4 local_60;\n  char *local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  char *local_2c;\n  undefined4 local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);\n  local_50 = 1;\n  local_30 = 1;\n  local_48 = 0;\n  local_44 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_4c = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  local_5c = param_1;\n  local_54 = param_1;\n  local_2c = param_1;\n  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  local_8c = this + 0x68;\n  local_a4 = puVar3[0x4a3d];\n  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);\n  local_9c = 0x1000000;\n  local_88 = &local_5c;\n  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  local_98 = 0;\n  local_94 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c[0] = 0;\n  local_7c[1] = 0;\n  local_7c[2] = 0;\n  local_70[0] = 0;\n  local_70[1] = 0;\n  local_70[2] = 0;\n  local_64 = (int *)0x0;\n  local_60 = 0;\n                    \n  local_28[0] = 0;\n  local_ac = uVar1;\n  local_ab = uVar2;\n  local_90 = this;\n  std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);\n  local_28[0] = local_50;\n  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);\n                    \n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);\n  if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }\n  if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return uVar5;\n}\n\n" (function_definition "undefined4 __thiscall gold::Script_options::define_symbol(Script_options *this,char *param_1)\n\n{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined *local_b0;\n  undefined1 local_ac;\n  undefined1 local_ab;\n  undefined4 local_a8;\n  undefined1 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined1 local_98;\n  undefined4 local_94;\n  Script_options *local_90;\n  Script_options *local_8c;\n  char **local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  int local_7c [3];\n  int local_70 [3];\n  int *local_64;\n  undefined4 local_60;\n  char *local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  char *local_2c;\n  undefined4 local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);\n  local_50 = 1;\n  local_30 = 1;\n  local_48 = 0;\n  local_44 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_4c = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  local_5c = param_1;\n  local_54 = param_1;\n  local_2c = param_1;\n  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  local_8c = this + 0x68;\n  local_a4 = puVar3[0x4a3d];\n  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);\n  local_9c = 0x1000000;\n  local_88 = &local_5c;\n  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  local_98 = 0;\n  local_94 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c[0] = 0;\n  local_7c[1] = 0;\n  local_7c[2] = 0;\n  local_70[0] = 0;\n  local_70[1] = 0;\n  local_70[2] = 0;\n  local_64 = (int *)0x0;\n  local_60 = 0;\n                    \n  local_28[0] = 0;\n  local_ac = uVar1;\n  local_ab = uVar2;\n  local_90 = this;\n  std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);\n  local_28[0] = local_50;\n  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);\n                    \n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);\n  if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }\n  if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return uVar5;\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Script_options::" identifier : : identifier : :) (function_declarator "define_symbol(Script_options *this,char *param_1)" identifier (parameter_list "(Script_options *this,char *param_1)" ( (parameter_declaration "Script_options *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined *local_b0;\n  undefined1 local_ac;\n  undefined1 local_ab;\n  undefined4 local_a8;\n  undefined1 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined1 local_98;\n  undefined4 local_94;\n  Script_options *local_90;\n  Script_options *local_8c;\n  char **local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  int local_7c [3];\n  int local_70 [3];\n  int *local_64;\n  undefined4 local_60;\n  char *local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  char *local_2c;\n  undefined4 local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);\n  local_50 = 1;\n  local_30 = 1;\n  local_48 = 0;\n  local_44 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_4c = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  local_5c = param_1;\n  local_54 = param_1;\n  local_2c = param_1;\n  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  local_8c = this + 0x68;\n  local_a4 = puVar3[0x4a3d];\n  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);\n  local_9c = 0x1000000;\n  local_88 = &local_5c;\n  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  local_98 = 0;\n  local_94 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c[0] = 0;\n  local_7c[1] = 0;\n  local_7c[2] = 0;\n  local_70[0] = 0;\n  local_70[1] = 0;\n  local_70[2] = 0;\n  local_64 = (int *)0x0;\n  local_60 = 0;\n                    \n  local_28[0] = 0;\n  local_ac = uVar1;\n  local_ab = uVar2;\n  local_90 = this;\n  std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);\n  local_28[0] = local_50;\n  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);\n                    \n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);\n  if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }\n  if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return uVar5;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "undefined1 local_ac;" type_identifier identifier ;) (declaration "undefined1 local_ab;" type_identifier identifier ;) (declaration "undefined4 local_a8;" type_identifier identifier ;) (declaration "undefined1 local_a4;" type_identifier identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "undefined4 local_9c;" type_identifier identifier ;) (declaration "undefined1 local_98;" type_identifier identifier ;) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "Script_options *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "Script_options *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "char **local_88;" primitive_type (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier)) ;) (declaration "undefined4 local_84;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "int local_7c [3];" primitive_type (array_declarator "local_7c [3]" identifier [ number_literal ]) ;) (declaration "int local_70 [3];" primitive_type (array_declarator "local_70 [3]" identifier [ number_literal ]) ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "char *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_28 [3];" type_identifier (array_declarator "local_28 [3]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = PTR_default_options__004c2088;" (assignment_expression "puVar3 = PTR_default_options__004c2088" identifier = identifier) ;) (expression_statement "local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);" (assignment_expression "local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_30 = 1;" (assignment_expression "local_30 = 1" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0x165;" (assignment_expression "local_4c = 0x165" identifier = number_literal) ;) (expression_statement "uVar1 = puVar3[0x2f5];" (assignment_expression "uVar1 = puVar3[0x2f5]" identifier = (subscript_expression "puVar3[0x2f5]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar3[0x54d];" (assignment_expression "uVar2 = puVar3[0x54d]" identifier = (subscript_expression "puVar3[0x54d]" identifier [ number_literal ])) ;) (expression_statement "local_5c = param_1;" (assignment_expression "local_5c = param_1" identifier = identifier) ;) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" identifier = identifier) ;) (expression_statement "local_2c = param_1;" (assignment_expression "local_2c = param_1" identifier = identifier) ;) (expression_statement "local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);" (assignment_expression "local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3)" identifier = (call_expression "(*(code *)PTR_format_enum_004c2084)(puVar3)" (parenthesized_expression "(*(code *)PTR_format_enum_004c2084)" ( (pointer_expression "*(code *)PTR_format_enum_004c2084" * (cast_expression "(code *)PTR_format_enum_004c2084" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3)" ( identifier )))) ;) (expression_statement "local_8c = this + 0x68;" (assignment_expression "local_8c = this + 0x68" identifier = (binary_expression "this + 0x68" identifier + number_literal)) ;) (expression_statement "local_a4 = puVar3[0x4a3d];" (assignment_expression "local_a4 = puVar3[0x4a3d]" identifier = (subscript_expression "puVar3[0x4a3d]" identifier [ number_literal ])) ;) (expression_statement "local_a0 = *(undefined4 *)(puVar3 + 0x5a24);" (assignment_expression "local_a0 = *(undefined4 *)(puVar3 + 0x5a24)" identifier = (pointer_expression "*(undefined4 *)(puVar3 + 0x5a24)" * (cast_expression "(undefined4 *)(puVar3 + 0x5a24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x5a24)" ( (binary_expression "puVar3 + 0x5a24" identifier + number_literal) ))))) ;) (expression_statement "local_9c = 0x1000000;" (assignment_expression "local_9c = 0x1000000" identifier = number_literal) ;) (expression_statement "local_88 = &local_5c;" (assignment_expression "local_88 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;" (assignment_expression "local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x112c" identifier + number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c[0] = 0;" (assignment_expression "local_7c[0] = 0" (subscript_expression "local_7c[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_7c[1] = 0;" (assignment_expression "local_7c[1] = 0" (subscript_expression "local_7c[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_7c[2] = 0;" (assignment_expression "local_7c[2] = 0" (subscript_expression "local_7c[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_70[0] = 0;" (assignment_expression "local_70[0] = 0" (subscript_expression "local_70[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_70[1] = 0;" (assignment_expression "local_70[1] = 0" (subscript_expression "local_70[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_70[2] = 0;" (assignment_expression "local_70[2] = 0" (subscript_expression "local_70[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_28[0] = 0;" (assignment_expression "local_28[0] = 0" (subscript_expression "local_28[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_ac = uVar1;" (assignment_expression "local_ac = uVar1" identifier = identifier) ;) (expression_statement "local_ab = uVar2;" (assignment_expression "local_ab = uVar2" identifier = identifier) ;) (expression_statement "local_90 = this;" (assignment_expression "local_90 = this" identifier = identifier) ;) (labeled_statement "std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::\n  vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::Language,std::allocator<gold:" : : (comma_expression "Language,std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::Language>>::\n  _M_realloc_insert<gold:" : : identifier >> : : (binary_expression "_M_realloc_insert<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::Language>\n            ((vector<gold:" : : identifier > ( ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier (ERROR "::Language,std::allocator<gold:" : : (comma_expression "Language,std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" statement_identifier : (ERROR ":" :) (expression_statement "Language>>\n              *)local_70,0,(Mode *)local_28);" (comma_expression "Language>>\n              *)local_70,0,(Mode *)local_28" (binary_expression "Language>>\n              *)local_70" identifier >> (pointer_expression "*)local_70" * (ERROR ")" )) identifier)) , (comma_expression "0,(Mode *)local_28" number_literal , (cast_expression "(Mode *)local_28" ( (type_descriptor "Mode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ")" )) ;))))))) (expression_statement "local_28[0] = local_50;" (assignment_expression "local_28[0] = local_50" (subscript_expression "local_28[0]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::Mode,std::allocator<gold:" : : (comma_expression "Mode,std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::Mode>>::emplace_back<gold:" : : identifier >> : : (binary_expression "emplace_back<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::Mode>\n            ((vector<gold:" : : identifier > ( ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier (ERROR "::Mode,std::allocator<gold:" : : (comma_expression "Mode,std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>> *)local_7c,(Mode *)local_28);" statement_identifier : (ERROR ":" :) (expression_statement "Mode>> *)local_7c,(Mode *)local_28);" (comma_expression "Mode>> *)local_7c,(Mode *)local_28" (binary_expression "Mode>> *)local_7c" identifier >> (pointer_expression "*)local_7c" * (ERROR ")" )) identifier)) , (cast_expression "(Mode *)local_28" ( (type_descriptor "Mode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR ")" )) ;))))))) (expression_statement "iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);" (assignment_expression "iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0)" identifier = (call_expression "(*(code *)PTR_yyparse_004c2888)(&local_b0)" (parenthesized_expression "(*(code *)PTR_yyparse_004c2888)" ( (pointer_expression "*(code *)PTR_yyparse_004c2888" * (cast_expression "(code *)PTR_yyparse_004c2888" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_b0)" ( (pointer_expression "&local_b0" & identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }" { (if_statement "if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }" if (parenthesized_expression "((local_64 != (int *)0x0) && (*local_64 != local_64[1]))" ( (binary_expression "(local_64 != (int *)0x0) && (*local_64 != local_64[1])" (parenthesized_expression "(local_64 != (int *)0x0)" ( (binary_expression "local_64 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*local_64 != local_64[1])" ( (binary_expression "*local_64 != local_64[1]" (pointer_expression "*local_64" * identifier) != (subscript_expression "local_64[1]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }" { (expression_statement "uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);" (assignment_expression "uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0xdec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x21c8" identifier + number_literal) )))) ;) (return_statement "return uVar5;" return identifier ;) })) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar5 = 0;\n  }" else (compound_statement "{\n    uVar5 = 0;\n  }" { (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) }))) (if_statement "if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(local_70[0] != 0)" ( (binary_expression "local_70[0] != 0" (subscript_expression "local_70[0]" 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 (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(local_7c[0] != 0)" ( (binary_expression "local_7c[0] != 0" (subscript_expression "local_7c[0]" 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 "()" ( ))) ;) })) (return_statement "return uVar5;" return identifier ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : IDENT >> : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : IDENT > ( ( (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT >> (pointer_expression * (ERROR )) IDENT)) , (comma_expression LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) (ERROR )) ;))))))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : IDENT >> : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : IDENT > ( ( (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT >> (pointer_expression * (ERROR )) IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) (ERROR )) ;))))))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 (subscript_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 ( ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined4 __thiscall gold::Script_options::define_symbol(Script_options *this,char *param_1)\n\n{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined *local_b0;\n  undefined1 local_ac;\n  undefined1 local_ab;\n  undefined4 local_a8;\n  undefined1 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined1 local_98;\n  undefined4 local_94;\n  Script_options *local_90;\n  Script_options *local_8c;\n  char **local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  int local_7c [3];\n  int local_70 [3];\n  int *local_64;\n  undefined4 local_60;\n  char *local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  char *local_2c;\n  undefined4 local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);\n  local_50 = 1;\n  local_30 = 1;\n  local_48 = 0;\n  local_44 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_4c = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  local_5c = param_1;\n  local_54 = param_1;\n  local_2c = param_1;\n  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  local_8c = this + 0x68;\n  local_a4 = puVar3[0x4a3d];\n  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);\n  local_9c = 0x1000000;\n  local_88 = &local_5c;\n  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  local_98 = 0;\n  local_94 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c[0] = 0;\n  local_7c[1] = 0;\n  local_7c[2] = 0;\n  local_70[0] = 0;\n  local_70[1] = 0;\n  local_70[2] = 0;\n  local_64 = (int *)0x0;\n  local_60 = 0;\n                    \n  local_28[0] = 0;\n  local_ac = uVar1;\n  local_ab = uVar2;\n  local_90 = this;\n  std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);\n  local_28[0] = local_50;\n  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);\n                    \n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);\n  if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }\n  if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return uVar5;\n}" (type_identifier "undefined4") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Script_options::" (identifier "gold") (: ":") (: ":") (identifier "Script_options") (: ":") (: ":")) (function_declarator "define_symbol(Script_options *this,char *param_1)" (identifier "define_symbol") (parameter_list "(Script_options *this,char *param_1)" (( "(") (parameter_declaration "Script_options *this" (type_identifier "Script_options") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  undefined1 uVar1;\n  undefined1 uVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined *local_b0;\n  undefined1 local_ac;\n  undefined1 local_ab;\n  undefined4 local_a8;\n  undefined1 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined1 local_98;\n  undefined4 local_94;\n  Script_options *local_90;\n  Script_options *local_8c;\n  char **local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  int local_7c [3];\n  int local_70 [3];\n  int *local_64;\n  undefined4 local_60;\n  char *local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  char *local_2c;\n  undefined4 local_28 [3];\n  \n  puVar3 = PTR_default_options__004c2088;\n  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);\n  local_50 = 1;\n  local_30 = 1;\n  local_48 = 0;\n  local_44 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_4c = 0x165;\n  uVar1 = puVar3[0x2f5];\n  uVar2 = puVar3[0x54d];\n  local_5c = param_1;\n  local_54 = param_1;\n  local_2c = param_1;\n  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);\n  local_8c = this + 0x68;\n  local_a4 = puVar3[0x4a3d];\n  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);\n  local_9c = 0x1000000;\n  local_88 = &local_5c;\n  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;\n  local_98 = 0;\n  local_94 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c[0] = 0;\n  local_7c[1] = 0;\n  local_7c[2] = 0;\n  local_70[0] = 0;\n  local_70[1] = 0;\n  local_70[2] = 0;\n  local_64 = (int *)0x0;\n  local_60 = 0;\n                    \n  local_28[0] = 0;\n  local_ac = uVar1;\n  local_ab = uVar2;\n  local_90 = this;\n  std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);\n  local_28[0] = local_50;\n  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);\n                    \n  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);\n  if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }\n  if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return uVar5;\n}" ({ "{") (declaration "undefined1 uVar1;" (type_identifier "undefined1") (identifier "uVar1") (; ";")) (declaration "undefined1 uVar2;" (type_identifier "undefined1") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined *local_b0;" (type_identifier "undefined") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")) (; ";")) (declaration "undefined1 local_ac;" (type_identifier "undefined1") (identifier "local_ac") (; ";")) (declaration "undefined1 local_ab;" (type_identifier "undefined1") (identifier "local_ab") (; ";")) (declaration "undefined4 local_a8;" (type_identifier "undefined4") (identifier "local_a8") (; ";")) (declaration "undefined1 local_a4;" (type_identifier "undefined1") (identifier "local_a4") (; ";")) (declaration "undefined4 local_a0;" (type_identifier "undefined4") (identifier "local_a0") (; ";")) (declaration "undefined4 local_9c;" (type_identifier "undefined4") (identifier "local_9c") (; ";")) (declaration "undefined1 local_98;" (type_identifier "undefined1") (identifier "local_98") (; ";")) (declaration "undefined4 local_94;" (type_identifier "undefined4") (identifier "local_94") (; ";")) (declaration "Script_options *local_90;" (type_identifier "Script_options") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "Script_options *local_8c;" (type_identifier "Script_options") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "char **local_88;" (primitive_type "char") (pointer_declarator "**local_88" (* "*") (pointer_declarator "*local_88" (* "*") (identifier "local_88"))) (; ";")) (declaration "undefined4 local_84;" (type_identifier "undefined4") (identifier "local_84") (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "int local_7c [3];" (primitive_type "int") (array_declarator "local_7c [3]" (identifier "local_7c") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "int local_70 [3];" (primitive_type "int") (array_declarator "local_70 [3]" (identifier "local_70") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "int *local_64;" (primitive_type "int") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "char *local_5c;" (primitive_type "char") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "char *local_54;" (primitive_type "char") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "char *local_2c;" (primitive_type "char") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined4 local_28 [3];" (type_identifier "undefined4") (array_declarator "local_28 [3]" (identifier "local_28") ([ "[") (number_literal "3") (] "]")) (; ";")) (expression_statement "puVar3 = PTR_default_options__004c2088;" (assignment_expression "puVar3 = PTR_default_options__004c2088" (identifier "puVar3") (= "=") (identifier "PTR_default_options__004c2088")) (; ";")) (expression_statement "local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);" (assignment_expression "local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1)" (identifier "local_58") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_30 = 1;" (assignment_expression "local_30 = 1" (identifier "local_30") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = 0x165;" (assignment_expression "local_4c = 0x165" (identifier "local_4c") (= "=") (number_literal "0x165")) (; ";")) (expression_statement "uVar1 = puVar3[0x2f5];" (assignment_expression "uVar1 = puVar3[0x2f5]" (identifier "uVar1") (= "=") (subscript_expression "puVar3[0x2f5]" (identifier "puVar3") ([ "[") (number_literal "0x2f5") (] "]"))) (; ";")) (expression_statement "uVar2 = puVar3[0x54d];" (assignment_expression "uVar2 = puVar3[0x54d]" (identifier "uVar2") (= "=") (subscript_expression "puVar3[0x54d]" (identifier "puVar3") ([ "[") (number_literal "0x54d") (] "]"))) (; ";")) (expression_statement "local_5c = param_1;" (assignment_expression "local_5c = param_1" (identifier "local_5c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_54 = param_1;" (assignment_expression "local_54 = param_1" (identifier "local_54") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_2c = param_1;" (assignment_expression "local_2c = param_1" (identifier "local_2c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);" (assignment_expression "local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3)" (identifier "local_a8") (= "=") (call_expression "(*(code *)PTR_format_enum_004c2084)(puVar3)" (parenthesized_expression "(*(code *)PTR_format_enum_004c2084)" (( "(") (pointer_expression "*(code *)PTR_format_enum_004c2084" (* "*") (cast_expression "(code *)PTR_format_enum_004c2084" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_format_enum_004c2084"))) () ")")) (argument_list "(puVar3)" (( "(") (identifier "puVar3") () ")")))) (; ";")) (expression_statement "local_8c = this + 0x68;" (assignment_expression "local_8c = this + 0x68" (identifier "local_8c") (= "=") (binary_expression "this + 0x68" (identifier "this") (+ "+") (number_literal "0x68"))) (; ";")) (expression_statement "local_a4 = puVar3[0x4a3d];" (assignment_expression "local_a4 = puVar3[0x4a3d]" (identifier "local_a4") (= "=") (subscript_expression "puVar3[0x4a3d]" (identifier "puVar3") ([ "[") (number_literal "0x4a3d") (] "]"))) (; ";")) (expression_statement "local_a0 = *(undefined4 *)(puVar3 + 0x5a24);" (assignment_expression "local_a0 = *(undefined4 *)(puVar3 + 0x5a24)" (identifier "local_a0") (= "=") (pointer_expression "*(undefined4 *)(puVar3 + 0x5a24)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x5a24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x5a24)" (( "(") (binary_expression "puVar3 + 0x5a24" (identifier "puVar3") (+ "+") (number_literal "0x5a24")) () ")"))))) (; ";")) (expression_statement "local_9c = 0x1000000;" (assignment_expression "local_9c = 0x1000000" (identifier "local_9c") (= "=") (number_literal "0x1000000")) (; ";")) (expression_statement "local_88 = &local_5c;" (assignment_expression "local_88 = &local_5c" (identifier "local_88") (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;" (assignment_expression "local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c" (identifier "local_b0") (= "=") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x112c" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x112c"))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c[0] = 0;" (assignment_expression "local_7c[0] = 0" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c[1] = 0;" (assignment_expression "local_7c[1] = 0" (subscript_expression "local_7c[1]" (identifier "local_7c") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c[2] = 0;" (assignment_expression "local_7c[2] = 0" (subscript_expression "local_7c[2]" (identifier "local_7c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70[0] = 0;" (assignment_expression "local_70[0] = 0" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70[1] = 0;" (assignment_expression "local_70[1] = 0" (subscript_expression "local_70[1]" (identifier "local_70") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70[2] = 0;" (assignment_expression "local_70[2] = 0" (subscript_expression "local_70[2]" (identifier "local_70") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" (identifier "local_64") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28[0] = 0;" (assignment_expression "local_28[0] = 0" (subscript_expression "local_28[0]" (identifier "local_28") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ac = uVar1;" (assignment_expression "local_ac = uVar1" (identifier "local_ac") (= "=") (identifier "uVar1")) (; ";")) (expression_statement "local_ab = uVar2;" (assignment_expression "local_ab = uVar2" (identifier "local_ab") (= "=") (identifier "uVar2")) (; ";")) (expression_statement "local_90 = this;" (assignment_expression "local_90 = this" (identifier "local_90") (= "=") (identifier "this")) (; ";")) (labeled_statement "std::\n  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" (statement_identifier "std") (ERROR "::\n  vector<gold:" (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" (statement_identifier "Version_script_info") (ERROR "::Language,std::allocator<gold:" (: ":") (: ":") (comma_expression "Language,std" (identifier "Language") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Version_script_info::Language>>::\n  _M_realloc_insert<gold::Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" (statement_identifier "Version_script_info") (ERROR "::Language>>::\n  _M_realloc_insert<gold:" (: ":") (: ":") (identifier "Language") (>> ">>") (: ":") (: ":") (binary_expression "_M_realloc_insert<gold" (identifier "_M_realloc_insert") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Version_script_info::Language>\n            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" (statement_identifier "Version_script_info") (ERROR "::Language>\n            ((vector<gold:" (: ":") (: ":") (identifier "Language") (> ">") (( "(") (( "(") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" (statement_identifier "Version_script_info") (ERROR "::Language,std::allocator<gold:" (: ":") (: ":") (comma_expression "Language,std" (identifier "Language") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Version_script_info::Language>>\n              *)local_70,0,(Mode *)local_28);" (statement_identifier "Version_script_info") (: ":") (ERROR ":" (: ":")) (expression_statement "Language>>\n              *)local_70,0,(Mode *)local_28);" (comma_expression "Language>>\n              *)local_70,0,(Mode *)local_28" (binary_expression "Language>>\n              *)local_70" (identifier "Language") (>> ">>") (pointer_expression "*)local_70" (* "*") (ERROR ")" () ")")) (identifier "local_70"))) (, ",") (comma_expression "0,(Mode *)local_28" (number_literal "0") (, ",") (cast_expression "(Mode *)local_28" (( "(") (type_descriptor "Mode *" (type_identifier "Mode") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")))) (ERROR ")" () ")")) (; ";")))))))) (expression_statement "local_28[0] = local_50;" (assignment_expression "local_28[0] = local_50" (subscript_expression "local_28[0]" (identifier "local_28") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_50")) (; ";")) (labeled_statement "std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" (statement_identifier "std") (ERROR "::vector<gold:" (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" (statement_identifier "Lex") (ERROR "::Mode,std::allocator<gold:" (: ":") (: ":") (comma_expression "Mode,std" (identifier "Mode") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Lex::Mode>>::emplace_back<gold::Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" (statement_identifier "Lex") (ERROR "::Mode>>::emplace_back<gold:" (: ":") (: ":") (identifier "Mode") (>> ">>") (: ":") (: ":") (binary_expression "emplace_back<gold" (identifier "emplace_back") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Lex::Mode>\n            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" (statement_identifier "Lex") (ERROR "::Mode>\n            ((vector<gold:" (: ":") (: ":") (identifier "Mode") (> ">") (( "(") (( "(") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);" (statement_identifier "Lex") (ERROR "::Mode,std::allocator<gold:" (: ":") (: ":") (comma_expression "Mode,std" (identifier "Mode") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Lex::Mode>> *)local_7c,(Mode *)local_28);" (statement_identifier "Lex") (: ":") (ERROR ":" (: ":")) (expression_statement "Mode>> *)local_7c,(Mode *)local_28);" (comma_expression "Mode>> *)local_7c,(Mode *)local_28" (binary_expression "Mode>> *)local_7c" (identifier "Mode") (>> ">>") (pointer_expression "*)local_7c" (* "*") (ERROR ")" () ")")) (identifier "local_7c"))) (, ",") (cast_expression "(Mode *)local_28" (( "(") (type_descriptor "Mode *" (type_identifier "Mode") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (ERROR ")" () ")")) (; ";")))))))) (expression_statement "iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);" (assignment_expression "iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_yyparse_004c2888)(&local_b0)" (parenthesized_expression "(*(code *)PTR_yyparse_004c2888)" (( "(") (pointer_expression "*(code *)PTR_yyparse_004c2888" (* "*") (cast_expression "(code *)PTR_yyparse_004c2888" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_yyparse_004c2888"))) () ")")) (argument_list "(&local_b0)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }\n  else {\n    uVar5 = 0;\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }\n    uVar5 = 1;\n  }" ({ "{") (if_statement "if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }" (if "if") (parenthesized_expression "((local_64 != (int *)0x0) && (*local_64 != local_64[1]))" (( "(") (binary_expression "(local_64 != (int *)0x0) && (*local_64 != local_64[1])" (parenthesized_expression "(local_64 != (int *)0x0)" (( "(") (binary_expression "local_64 != (int *)0x0" (identifier "local_64") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*local_64 != local_64[1])" (( "(") (binary_expression "*local_64 != local_64[1]" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (!= "!=") (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]"))) () ")"))) () ")")) (compound_statement "{\n      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);\n      return uVar5;\n    }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8);" (assignment_expression "uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,\n                         PTR_s_in_a_linker_script_004c191c + 0x21c8)" (( "(") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0xdec" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0xdec")) (, ",") (number_literal "0x69d") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x21c8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x21c8")) () ")")))) (; ";")) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}"))) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" (identifier "uVar5") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    uVar5 = 0;\n  }" (else "else") (compound_statement "{\n    uVar5 = 0;\n  }" ({ "{") (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (local_70[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (if "if") (parenthesized_expression "(local_70[0] != 0)" (( "(") (binary_expression "local_70[0] != 0" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (!= "!=") (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 (local_7c[0] != 0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (if "if") (parenthesized_expression "(local_7c[0] != 0)" (( "(") (binary_expression "local_7c[0] != 0" (subscript_expression "local_7c[0]" (identifier "local_7c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (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 "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}")))

/* 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: bool define_symbol(Script_options * this, char * definition) */

bool __thiscall gold::type_1::function_1(type_1 *this,char *definition)

{
  type_2 uVar1;
  type_2 uVar2;
  type_3 *var_1;
  int var_5;
  bool bVar5;
  type_4 closure;
  type_5 lex;
  type_6 local_28 [3];
  
  var_1 = PTR_default_options__004c2088;
  lex.input_length_ = (*(type_7 *)PTR_strlen_004c5b9c)(definition);
  lex.mode_ = EXPRESSION;
  lex.lineno_ = 1;
  lex.token_.classification_ = TOKEN_INVALID;
  lex.token_.value_ = (char *)0x0;
  lex.token_.value_length_ = 0;
  lex.token_.opcode_ = 0;
  lex.token_.lineno_ = 0;
  lex.token_.charpos_ = 0;
  lex.first_token_ = 0x165;
  uVar1 = var_1[0x2f5];
  uVar2 = var_1[0x54d];
  lex.input_string_ = definition;
  lex.current_ = definition;
  lex.linestart_ = definition;
  closure.posdep_options_.format_enum_ = (*(type_7 *)PTR_format_enum_004c2084)(var_1);
  closure.version_script_info_ = &this->version_script_info_;
  closure.posdep_options_.whole_archive_ = (bool)var_1[0x4a3d];
  closure.posdep_options_.incremental_disposition_ = *(type_8 *)(var_1 + 0x5a24);
  closure.parsing_defsym_ = true;
  closure.in_group_ = false;
  closure.is_in_sysroot_ = false;
  closure.skip_on_incompatible_target_ = false;
  closure.lex_ = &lex;
  closure.filename_ = var_2 + 0x112c;
  closure.found_incompatible_target_ = false;
  closure.command_line_ = (type_9 *)0x0;
  closure.lineno_ = 0;
  closure.charpos_ = 0;
  closure.lex_mode_stack_.super__Vector_base<gold::Lex::var_3,_std::allocator<gold::Lex::var_3>var_4>.
  _M_impl._M_start = (type_10)0x0;
  closure.lex_mode_stack_.super__Vector_base<gold::Lex::var_3,_std::allocator<gold::Lex::var_3>var_4>.
  _M_impl._M_finish = (type_10)0x0;
  closure.lex_mode_stack_.super__Vector_base<gold::Lex::var_3,_std::allocator<gold::Lex::var_3>var_4>.
  _M_impl._M_end_of_storage = (type_10)0x0;
  closure.language_stack_.
  super__Vector_base<gold::Version_script_info::type_6,_std::allocator<gold::Version_script_info::type_6>var_4>
  ._M_impl._M_start = (type_10)0x0;
  closure.language_stack_.
  super__Vector_base<gold::Version_script_info::type_6,_std::allocator<gold::Version_script_info::type_6>var_4>
  ._M_impl._M_finish = (type_10)0x0;
  closure.language_stack_.
  super__Vector_base<gold::Version_script_info::type_6,_std::allocator<gold::Version_script_info::type_6>var_4>
  ._M_impl._M_end_of_storage = (type_10)0x0;
  closure.inputs_ = (type_11 *)0x0;
  closure.script_info_ = (type_12 *)0x0;
                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */
  local_28[0] = LANGUAGE_C;
  closure.posdep_options_.as_needed_ = (bool)uVar1;
  closure.posdep_options_.Bdynamic_ = (bool)uVar2;
  closure.script_options_ = this;
  std::
  vector<gold::Version_script_info::type_6,_std::allocator<gold::Version_script_info::type_6>var_4>
  ::_M_realloc_insert<gold::Version_script_info::type_6>
            (&closure.language_stack_,(type_13)0x0,local_28);
  local_28[0] = lex.mode_;
  std::vector<gold::Lex::var_3,_std::allocator<gold::Lex::var_3>var_4>::emplace_back<gold::Lex::var_3>
            (&closure.lex_mode_stack_,local_28);
                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */
  var_5 = (*(type_7 *)PTR_yyparse_004c2888)(&closure);
  if (var_5 == 0) {
    if ((closure.inputs_ != (type_11 *)0x0) &&
       (((closure.inputs_)->input_argument_list_).
        super__Vector_base<gold::var_6,_std::allocator<gold::var_6>var_4>._M_impl.
        _M_start !=
        ((closure.inputs_)->input_argument_list_).
        super__Vector_base<gold::var_6,_std::allocator<gold::var_6>var_4>._M_impl.
        _M_finish)) {
      (*(type_7 *)PTR_do_gold_unreachable_004c1a30)
                (var_2 + 0xdec,0x69d,
                 var_2 + 0x21c8);
    }
    bVar5 = true;
  }
  else {
    bVar5 = false;
  }
  if (closure.language_stack_.
      super__Vector_base<gold::Version_script_info::type_6,_std::allocator<gold::Version_script_info::type_6>var_4>
      ._M_impl._M_start != (type_10)0x0) {
    (*(type_7 *)PTR_operator_delete_004c12fc)();
  }
  if (closure.lex_mode_stack_.super__Vector_base<gold::type_5::var_3,_std::allocator<gold::type_5::var_3>var_4>.
      _M_impl._M_start != (type_10)0x0) {
    (*(type_7 *)PTR_operator_delete_004c12fc)();
  }
  return bVar5;
}


(translation_unit (function_definition type: (type_identifier) (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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 (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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 (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (identifier) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (identifier) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (pointer_expression (ERROR) argument: (identifier))) right: (comma_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (ERROR)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (identifier) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (identifier) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (pointer_expression (ERROR) argument: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (ERROR)))))))) (expression_statement (assignment_expression left: (identifier) right: (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 (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (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))))) (return_statement (identifier)))))

/* gold::Script_options::MASKED(char const*) */

undefined4 __thiscall gold::Script_options::MASKED(Script_options *this,char *param_1)

{
  undefined1 uVar1;
  undefined1 uVar2;
  undefined *puVar3;
  int iVar4;
  undefined4 uVar5;
  undefined *local_b0;
  undefined1 local_ac;
  undefined1 local_ab;
  undefined4 local_a8;
  undefined1 local_a4;
  undefined4 local_a0;
  undefined4 local_9c;
  undefined1 local_98;
  undefined4 local_94;
  Script_options *local_90;
  Script_options *local_8c;
  char **local_88;
  undefined4 local_84;
  undefined4 local_80;
  int local_7c [3];
  int local_70 [3];
  int *local_64;
  undefined4 local_60;
  char *local_5c;
  undefined4 local_58;
  char *local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  undefined4 local_30;
  char *local_2c;
  undefined4 local_28 [3];
  
  puVar3 = PTR_default_options__004c2088;
  local_58 = (*(code *)PTR_strlen_004c5b9c)(param_1);
  local_50 = 1;
  local_30 = 1;
  local_48 = 0;
  local_44 = 0;
  local_40 = 0;
  local_3c = 0;
  local_38 = 0;
  local_34 = 0;
  local_4c = 0x165;
  uVar1 = puVar3[0x2f5];
  uVar2 = puVar3[0x54d];
  local_5c = param_1;
  local_54 = param_1;
  local_2c = param_1;
  local_a8 = (*(code *)PTR_format_enum_004c2084)(puVar3);
  local_8c = this + 0x68;
  local_a4 = puVar3[0x4a3d];
  local_a0 = *(undefined4 *)(puVar3 + 0x5a24);
  local_9c = 0x1000000;
  local_88 = &local_5c;
  local_b0 = PTR_s_in_a_linker_script_004c191c + 0x112c;
  local_98 = 0;
  local_94 = 0;
  local_84 = 0;
  local_80 = 0;
  local_7c[0] = 0;
  local_7c[1] = 0;
  local_7c[2] = 0;
  local_70[0] = 0;
  local_70[1] = 0;
  local_70[2] = 0;
  local_64 = (int *)0x0;
  local_60 = 0;
                    /* try { // try from 002a7154 to 002a7177 has its CatchHandler @ 002a7228 */
  local_28[0] = 0;
  local_ac = uVar1;
  local_ab = uVar2;
  local_90 = this;
  std::
  vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>::
  _M_realloc_insert<gold::Version_script_info::Language>
            ((vector<gold::Version_script_info::Language,std::allocator<gold::Version_script_info::Language>>
              *)local_70,0,(Mode *)local_28);
  local_28[0] = local_50;
  std::vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>>::emplace_back<gold::Lex::Mode>
            ((vector<gold::Lex::Mode,std::allocator<gold::Lex::Mode>> *)local_7c,(Mode *)local_28);
                    /* try { // try from 002a7184 to 002a71c7 has its CatchHandler @ 002a726c */
  iVar4 = (*(code *)PTR_yyparse_004c2888)(&local_b0);
  if (iVar4 == 0) {
    if ((local_64 != (int *)0x0) && (*local_64 != local_64[1])) {
      uVar5 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                        (PTR_s_in_a_linker_script_004c191c + 0xdec,0x69d,
                         PTR_s_in_a_linker_script_004c191c + 0x21c8);
      return uVar5;
    }
    uVar5 = 1;
  }
  else {
    uVar5 = 0;
  }
  if (local_70[0] != 0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  if (local_7c[0] != 0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  return uVar5;
}

