
/* DWARF original prototype: void * target_arg(Output_reloc<9,_false,_64,_false> * this) */

void * __thiscall
gold::Output_reloc<9,_false,_64,_false>::target_arg(Output_reloc<9,_false,_64,_false> *this)

{
  if (this->local_sym_index_ == 0xfffffffd) {
    return (this->u1_).relobj;
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/output.h",0x4d0,"target_arg");
}



undefined8 FUN_00201da0(undefined8 *param_1)

{
  if (*(int *)(param_1 + 3) == -3) {
    return *param_1;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");
}


CMP dword ptr [RDI + 0x18],-0x3
JNZ 0x00201daa
MOV RAX,qword ptr [RDI]
RET
PUSH RAX
LEA RDX,[0x37fdc8]
MOV ESI,0x4d0
LEA RDI,[0x373454]
CALL 0x0017c650
(translation_unit "undefined8 FUN_00201da0(undefined8 *param_1)\n\n{\n  if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");\n}\n\n" (function_definition "undefined8 FUN_00201da0(undefined8 *param_1)\n\n{\n  if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");\n}" type_identifier (function_declarator "FUN_00201da0(undefined8 *param_1)" identifier (parameter_list "(undefined8 *param_1)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");\n}" { (if_statement "if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 3) == -3)" ( (binary_expression "*(int *)(param_1 + 3) == -3" (pointer_expression "*(int *)(param_1 + 3)" * (cast_expression "(int *)(param_1 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *param_1;\n  }" { (return_statement "return *param_1;" return (pointer_expression "*param_1" * identifier) ;) })) comment (expression_statement "FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");" (call_expression "FUN_0017c650("../../gold/output.h",0x4d0,"target_arg")" identifier (argument_list "("../../gold/output.h",0x4d0,"target_arg")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""target_arg"" " string_content ") ))) ;) })))
(translation_unit "/* DWARF original prototype: void * target_arg(Output_reloc<9,_false,_64,_false> * this) */\n\nvoid * __thiscall\ngold::Output_reloc<9,_false,_64,_false>::target_arg(Output_reloc<9,_false,_64,_false> *this)\n\n{\n  if (this->local_sym_index_ == 0xfffffffd) {\n    return (this->u1_).relobj;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0x4d0,"target_arg");\n}\n\n" comment (declaration "void * __thiscall" primitive_type (pointer_declarator "* __thiscall" * identifier) ;) (labeled_statement "gold::Output_reloc<9,_false,_64,_false>::target_arg(Output_reloc<9,_false,_64,_false> *this)\n\n{\n  if (this->local_sym_index_ == 0xfffffffd) {\n    return (this->u1_).relobj;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0x4d0,"target_arg");\n}" statement_identifier : (ERROR ":Output_reloc<9,_false,_64,_false>::target_arg(Output_reloc<9,_false,_64,_false> *this)" : (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_false,_64,_false>::target_arg(Output_reloc<9,_false,_64,_false> *this)" identifier , (comma_expression "_64,_false>::target_arg(Output_reloc<9,_false,_64,_false> *this)" identifier , (binary_expression "_false>::target_arg(Output_reloc<9,_false,_64,_false> *this)" identifier > (ERROR "::" : :) (call_expression "target_arg(Output_reloc<9,_false,_64,_false> *this)" identifier (argument_list "(Output_reloc<9,_false,_64,_false> *this)" ( (binary_expression "Output_reloc<9" identifier < number_literal) , identifier , identifier , (binary_expression "_false> *this" identifier > (pointer_expression "*this" * identifier)) ))))))) (compound_statement "{\n  if (this->local_sym_index_ == 0xfffffffd) {\n    return (this->u1_).relobj;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0x4d0,"target_arg");\n}" { (if_statement "if (this->local_sym_index_ == 0xfffffffd) {\n    return (this->u1_).relobj;\n  }" if (parenthesized_expression "(this->local_sym_index_ == 0xfffffffd)" ( (binary_expression "this->local_sym_index_ == 0xfffffffd" (field_expression "this->local_sym_index_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    return (this->u1_).relobj;\n  }" { (return_statement "return (this->u1_).relobj;" return (field_expression "(this->u1_).relobj" (parenthesized_expression "(this->u1_)" ( (field_expression "this->u1_" identifier -> field_identifier) )) . field_identifier) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x4d0,"target_arg");" (call_expression "do_gold_unreachable("../../gold/output.h",0x4d0,"target_arg")" identifier (argument_list "("../../gold/output.h",0x4d0,"target_arg")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""target_arg"" " string_content ") ))) ;) })))
(translation_unit "undefined8 FUN_00201da0(undefined8 *param_1)\n\n{\n  if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");\n}\n\n" (function_definition "undefined8 FUN_00201da0(undefined8 *param_1)\n\n{\n  if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");\n}" type_identifier (function_declarator "FUN_00201da0(undefined8 *param_1)" identifier (parameter_list "(undefined8 *param_1)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");\n}" { (if_statement "if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 3) == -3)" ( (binary_expression "*(int *)(param_1 + 3) == -3" (pointer_expression "*(int *)(param_1 + 3)" * (cast_expression "(int *)(param_1 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *param_1;\n  }" { (return_statement "return *param_1;" return (pointer_expression "*param_1" * identifier) ;) })) (expression_statement "FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");" (call_expression "FUN_0017c650("../../gold/output.h",0x4d0,"target_arg")" identifier (argument_list "("../../gold/output.h",0x4d0,"target_arg")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""target_arg"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (return_statement return (pointer_expression * IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "undefined8 FUN_00201da0(undefined8 *param_1)\n\n{\n  if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");\n}" (type_identifier "undefined8") (function_declarator "FUN_00201da0(undefined8 *param_1)" (identifier "FUN_00201da0") (parameter_list "(undefined8 *param_1)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");\n}" ({ "{") (if_statement "if (*(int *)(param_1 + 3) == -3) {\n    return *param_1;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 3) == -3)" (( "(") (binary_expression "*(int *)(param_1 + 3) == -3" (pointer_expression "*(int *)(param_1 + 3)" (* "*") (cast_expression "(int *)(param_1 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (== "==") (number_literal "-3")) () ")")) (compound_statement "{\n    return *param_1;\n  }" ({ "{") (return_statement "return *param_1;" (return "return") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (; ";")) (} "}"))) (expression_statement "FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");" (call_expression "FUN_0017c650("../../gold/output.h",0x4d0,"target_arg")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0x4d0,"target_arg")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x4d0") (, ",") (string_literal ""target_arg"" (" """) (string_content "target_arg") (" """)) () ")"))) (; ";")) (} "}")))

/* DWARF original prototype: void * target_arg(Output_reloc<9,_false,_64,_false> * this) */

void * __thiscall
gold::Output_reloc<9,_false,_64,_false>::target_arg(Output_reloc<9,_false,_64,_false> *this)

{
  if (this->local_sym_index_ == 0xfffffffd) {
    return (this->u1_).relobj;
  }
                    /* WARNING: Subroutine does not return */
  var_1("../../gold/output.h",0x4d0,"target_arg");
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))

undefined8 MASKED(undefined8 *param_1)

{
  if (*(int *)(param_1 + 3) == -3) {
    return *param_1;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0017c650("../../gold/output.h",0x4d0,"target_arg");
}

