
/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

Tls_optimization __regparm3
anon_unknown.dwarf_b97484::Target_tilegx<64,_false>::optimize_tls_reloc(bool is_final,int r_type)

{
  if (gold::parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if ((gold::parameters->options_->shared_).value == false) {
    switch(r_type) {
    case 0x4e:
    case 0x4f:
    case 0x56:
    case 0x57:
    case 0x58:
    case 0x59:
    case 0x70:
    case 0x71:
    case 0x72:
    case 0x73:
    case 0x74:
      return !is_final + TLSOPT_TO_LE;
    case 0x50:
    case 0x51:
    case 0x52:
    case 0x53:
    case 0x54:
    case 0x55:
      break;
    default:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");
    case 0x5c:
    case 0x5d:
    case 100:
    case 0x65:
    case 0x66:
    case 0x67:
    case 0x75:
    case 0x76:
    case 0x77:
    case 0x78:
    case 0x79:
      return (uint)is_final * 2;
    }
  }
  return TLSOPT_NONE;
}



/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */

char __regparm3 FUN_00152770(undefined4 param_1,undefined4 param_2)

{
  if (*(int *)(DAT_005ea7c8 + 8) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);
  }
  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {
    switch(param_2) {
    case 0x4e:
    case 0x4f:
    case 0x56:
    case 0x57:
    case 0x58:
    case 0x59:
    case 0x70:
    case 0x71:
    case 0x72:
    case 0x73:
    case 0x74:
      return ((char)param_1 == '\0') + '\x02';
    case 0x50:
    case 0x51:
    case 0x52:
    case 0x53:
    case 0x54:
    case 0x55:
      break;
    default:
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);
    case 0x5c:
    case 0x5d:
    case 100:
    case 0x65:
    case 0x66:
    case 0x67:
    case 0x75:
    case 0x76:
    case 0x77:
    case 0x78:
    case 0x79:
      return ((char)param_1 != '\0') * '\x02';
    }
  }
  return '\0';
}


CALL 0x00074f06
ADD ECX,0x49788b
PUSH EBX
SUB ESP,0x8
LEA EBX,[ECX + 0x7c8]
MOV EBX,dword ptr [EBX]
MOV EBX,dword ptr [EBX + 0x8]
TEST EBX,EBX
JZ 0x001527fb
CMP byte ptr [EBX + 0x1a25],0x0
JNZ 0x001527b0
SUB EDX,0x4e
CMP EDX,0x2b
JA 0x001527e0
MOV EBX,dword ptr [ECX + EDX*0x4 + 0xffe82d70]
ADD EBX,ECX
JMP EBX
ADD ESP,0x8
XOR EAX,EAX
POP EBX
RET
PUSH EAX
LEA EAX,[ECX + 0xffe85358]
MOV EBX,ECX
PUSH EAX
LEA EAX,[ECX + 0xffe82a52]
PUSH 0xbb5
PUSH EAX
CALL 0x002446e0
LEA EAX,[ECX + 0xffe862bc]
PUSH EDX
MOV EBX,ECX
PUSH EAX
LEA EAX,[ECX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */\n\nchar __regparm3 FUN_00152770(undefined4 param_1,undefined4 param_2)\n\n{\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }\n  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }\n  return '\0';\n}\n\n" comment (function_definition "char __regparm3 FUN_00152770(undefined4 param_1,undefined4 param_2)\n\n{\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }\n  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }\n  return '\0';\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00152770(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }\n  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }\n  return '\0';\n}" { (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }" if (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }" { comment (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) })) (if_statement "if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }" if (parenthesized_expression "(*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x1a25" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }" { (switch_statement "switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }" switch (parenthesized_expression "(param_2)" ( identifier )) (compound_statement "{\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }" { (case_statement "case 0x4e:" case number_literal :) (case_statement "case 0x4f:" case number_literal :) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x57:" case number_literal :) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x59:" case number_literal :) (case_statement "case 0x70:" case number_literal :) (case_statement "case 0x71:" case number_literal :) (case_statement "case 0x72:" case number_literal :) (case_statement "case 0x73:" case number_literal :) (case_statement "case 0x74:\n      return ((char)param_1 == '\0') + '\x02';" case number_literal : (return_statement "return ((char)param_1 == '\0') + '\x02';" return (binary_expression "((char)param_1 == '\0') + '\x02'" (parenthesized_expression "((char)param_1 == '\0')" ( (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) + (char_literal "'\x02'" ' escape_sequence ')) ;)) (case_statement "case 0x50:" case number_literal :) (case_statement "case 0x51:" case number_literal :) (case_statement "case 0x52:" case number_literal :) (case_statement "case 0x53:" case number_literal :) (case_statement "case 0x54:" case number_literal :) (case_statement "case 0x55:\n      break;" case number_literal : (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);" default : comment (expression_statement "FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);" (call_expression "FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1)" identifier (argument_list "("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1)" ( (string_literal ""../../gold/tilegx.cc"" " string_content ") , number_literal , (string_literal ""optimize_tls_reloc"" " string_content ") , identifier ))) ;)) (case_statement "case 0x5c:" case number_literal :) (case_statement "case 0x5d:" case number_literal :) (case_statement "case 100:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x67:" case number_literal :) (case_statement "case 0x75:" case number_literal :) (case_statement "case 0x76:" case number_literal :) (case_statement "case 0x77:" case number_literal :) (case_statement "case 0x78:" case number_literal :) (case_statement "case 0x79:\n      return ((char)param_1 != '\0') * '\x02';" case number_literal : (return_statement "return ((char)param_1 != '\0') * '\x02';" return (binary_expression "((char)param_1 != '\0') * '\x02'" (parenthesized_expression "((char)param_1 != '\0')" ( (binary_expression "(char)param_1 != '\0'" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) * (char_literal "'\x02'" ' escape_sequence ')) ;)) })) })) (return_statement "return '\0';" return (char_literal "'\0'" ' escape_sequence ') ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n\nTls_optimization __regparm3\nanon_unknown.dwarf_b97484::Target_tilegx<64,_false>::optimize_tls_reloc(bool is_final,int r_type)\n\n{\n  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((gold::parameters->options_->shared_).value == false) {\n    switch(r_type) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return !is_final + TLSOPT_TO_LE;\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return (uint)is_final * 2;\n    }\n  }\n  return TLSOPT_NONE;\n}\n\n" comment comment comment (declaration "Tls_optimization __regparm3" type_identifier identifier ;) (ERROR "anon_unknown.dwarf_b97484::Target_tilegx<64,_false>::optimize_tls_reloc(bool is_final,int r_type)" (binary_expression "anon_unknown.dwarf_b97484::Target_tilegx<64,_false>::optimize_tls_reloc(bool is_final,int r_type)" (binary_expression "anon_unknown.dwarf_b97484::Target_tilegx<64" (field_expression "anon_unknown.dwarf_b97484" identifier . field_identifier) (ERROR "::Target_tilegx" : : identifier) < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) (call_expression "optimize_tls_reloc(bool is_final,int r_type)" identifier (argument_list "(bool is_final,int r_type)" ( (ERROR "bool" identifier) identifier , (ERROR "int" identifier) identifier ))))) (compound_statement "{\n  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((gold::parameters->options_->shared_).value == false) {\n    switch(r_type) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return !is_final + TLSOPT_TO_LE;\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return (uint)is_final * 2;\n    }\n  }\n  return TLSOPT_NONE;\n}" { (if_statement "if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(gold::parameters->options_ == (General_options *)0x0)" ( (ERROR "gold::" identifier : :) (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if ((gold::parameters->options_->shared_).value == false) {\n    switch(r_type) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return !is_final + TLSOPT_TO_LE;\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return (uint)is_final * 2;\n    }\n  }" if (parenthesized_expression "((gold::parameters->options_->shared_).value == false)" ( (binary_expression "(gold::parameters->options_->shared_).value == false" (field_expression "(gold::parameters->options_->shared_).value" (parenthesized_expression "(gold::parameters->options_->shared_)" ( (ERROR "gold::" identifier : :) (field_expression "parameters->options_->shared_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    switch(r_type) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return !is_final + TLSOPT_TO_LE;\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return (uint)is_final * 2;\n    }\n  }" { (switch_statement "switch(r_type) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return !is_final + TLSOPT_TO_LE;\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return (uint)is_final * 2;\n    }" switch (parenthesized_expression "(r_type)" ( identifier )) (compound_statement "{\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return !is_final + TLSOPT_TO_LE;\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return (uint)is_final * 2;\n    }" { (case_statement "case 0x4e:" case number_literal :) (case_statement "case 0x4f:" case number_literal :) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x57:" case number_literal :) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x59:" case number_literal :) (case_statement "case 0x70:" case number_literal :) (case_statement "case 0x71:" case number_literal :) (case_statement "case 0x72:" case number_literal :) (case_statement "case 0x73:" case number_literal :) (case_statement "case 0x74:\n      return !is_final + TLSOPT_TO_LE;" case number_literal : (return_statement "return !is_final + TLSOPT_TO_LE;" return (binary_expression "!is_final + TLSOPT_TO_LE" (unary_expression "!is_final" ! identifier) + identifier) ;)) (case_statement "case 0x50:" case number_literal :) (case_statement "case 0x51:" case number_literal :) (case_statement "case 0x52:" case number_literal :) (case_statement "case 0x53:" case number_literal :) (case_statement "case 0x54:" case number_literal :) (case_statement "case 0x55:\n      break;" case number_literal : (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");" default : comment (labeled_statement "gold::do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");" (call_expression "do_gold_unreachable("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc")" identifier (argument_list "("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc")" ( (string_literal ""../../gold/tilegx.cc"" " string_content ") , number_literal , (string_literal ""optimize_tls_reloc"" " string_content ") ))) ;))) (case_statement "case 0x5c:" case number_literal :) (case_statement "case 0x5d:" case number_literal :) (case_statement "case 100:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x67:" case number_literal :) (case_statement "case 0x75:" case number_literal :) (case_statement "case 0x76:" case number_literal :) (case_statement "case 0x77:" case number_literal :) (case_statement "case 0x78:" case number_literal :) (case_statement "case 0x79:\n      return (uint)is_final * 2;" case number_literal : (return_statement "return (uint)is_final * 2;" return (binary_expression "(uint)is_final * 2" (cast_expression "(uint)is_final" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) ;)) })) })) (return_statement "return TLSOPT_NONE;" return identifier ;) }))
(translation_unit "char __regparm3 FUN_00152770(undefined4 param_1,undefined4 param_2)\n\n{\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }\n  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }\n  return '\0';\n}\n\n" (function_definition "char __regparm3 FUN_00152770(undefined4 param_1,undefined4 param_2)\n\n{\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }\n  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }\n  return '\0';\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00152770(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }\n  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }\n  return '\0';\n}" { (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }" if (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }" { (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) })) (if_statement "if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }" if (parenthesized_expression "(*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x1a25" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }" { (switch_statement "switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }" switch (parenthesized_expression "(param_2)" ( identifier )) (compound_statement "{\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }" { (case_statement "case 0x4e:" case number_literal :) (case_statement "case 0x4f:" case number_literal :) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x57:" case number_literal :) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x59:" case number_literal :) (case_statement "case 0x70:" case number_literal :) (case_statement "case 0x71:" case number_literal :) (case_statement "case 0x72:" case number_literal :) (case_statement "case 0x73:" case number_literal :) (case_statement "case 0x74:\n      return ((char)param_1 == '\0') + '\x02';" case number_literal : (return_statement "return ((char)param_1 == '\0') + '\x02';" return (binary_expression "((char)param_1 == '\0') + '\x02'" (parenthesized_expression "((char)param_1 == '\0')" ( (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) + (char_literal "'\x02'" ' escape_sequence ')) ;)) (case_statement "case 0x50:" case number_literal :) (case_statement "case 0x51:" case number_literal :) (case_statement "case 0x52:" case number_literal :) (case_statement "case 0x53:" case number_literal :) (case_statement "case 0x54:" case number_literal :) (case_statement "case 0x55:\n      break;" case number_literal : (break_statement "break;" break ;)) (case_statement "default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);" default : (expression_statement "FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);" (call_expression "FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1)" identifier (argument_list "("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1)" ( (string_literal ""../../gold/tilegx.cc"" " string_content ") , number_literal , (string_literal ""optimize_tls_reloc"" " string_content ") , identifier ))) ;)) (case_statement "case 0x5c:" case number_literal :) (case_statement "case 0x5d:" case number_literal :) (case_statement "case 100:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x67:" case number_literal :) (case_statement "case 0x75:" case number_literal :) (case_statement "case 0x76:" case number_literal :) (case_statement "case 0x77:" case number_literal :) (case_statement "case 0x78:" case number_literal :) (case_statement "case 0x79:\n      return ((char)param_1 != '\0') * '\x02';" case number_literal : (return_statement "return ((char)param_1 != '\0') * '\x02';" return (binary_expression "((char)param_1 != '\0') * '\x02'" (parenthesized_expression "((char)param_1 != '\0')" ( (binary_expression "(char)param_1 != '\0'" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) * (char_literal "'\x02'" ' escape_sequence ')) ;)) })) })) (return_statement "return '\0';" return (char_literal "'\0'" ' escape_sequence ') ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE 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 { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (return_statement return (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) + (char_literal ' escape_sequence ')) ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (return_statement return (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) * (char_literal ' escape_sequence ')) ;)) })) })) (return_statement return (char_literal ' escape_sequence ') ;) })))
(function_definition "char __regparm3 FUN_00152770(undefined4 param_1,undefined4 param_2)\n\n{\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }\n  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }\n  return '\0';\n}" (primitive_type "char") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00152770(undefined4 param_1,undefined4 param_2)" (identifier "FUN_00152770") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }\n  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }\n  return '\0';\n}" ({ "{") (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }" (if "if") (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2)" (identifier "FUN_002446e0") (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" (* "*") (cast_expression "(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x1a25)" (( "(") (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x1a25" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }\n  }" ({ "{") (switch_statement "switch(param_2) {\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }" (switch "switch") (parenthesized_expression "(param_2)" (( "(") (identifier "param_2") () ")")) (compound_statement "{\n    case 0x4e:\n    case 0x4f:\n    case 0x56:\n    case 0x57:\n    case 0x58:\n    case 0x59:\n    case 0x70:\n    case 0x71:\n    case 0x72:\n    case 0x73:\n    case 0x74:\n      return ((char)param_1 == '\0') + '\x02';\n    case 0x50:\n    case 0x51:\n    case 0x52:\n    case 0x53:\n    case 0x54:\n    case 0x55:\n      break;\n    default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);\n    case 0x5c:\n    case 0x5d:\n    case 100:\n    case 0x65:\n    case 0x66:\n    case 0x67:\n    case 0x75:\n    case 0x76:\n    case 0x77:\n    case 0x78:\n    case 0x79:\n      return ((char)param_1 != '\0') * '\x02';\n    }" ({ "{") (case_statement "case 0x4e:" (case "case") (number_literal "0x4e") (: ":")) (case_statement "case 0x4f:" (case "case") (number_literal "0x4f") (: ":")) (case_statement "case 0x56:" (case "case") (number_literal "0x56") (: ":")) (case_statement "case 0x57:" (case "case") (number_literal "0x57") (: ":")) (case_statement "case 0x58:" (case "case") (number_literal "0x58") (: ":")) (case_statement "case 0x59:" (case "case") (number_literal "0x59") (: ":")) (case_statement "case 0x70:" (case "case") (number_literal "0x70") (: ":")) (case_statement "case 0x71:" (case "case") (number_literal "0x71") (: ":")) (case_statement "case 0x72:" (case "case") (number_literal "0x72") (: ":")) (case_statement "case 0x73:" (case "case") (number_literal "0x73") (: ":")) (case_statement "case 0x74:\n      return ((char)param_1 == '\0') + '\x02';" (case "case") (number_literal "0x74") (: ":") (return_statement "return ((char)param_1 == '\0') + '\x02';" (return "return") (binary_expression "((char)param_1 == '\0') + '\x02'" (parenthesized_expression "((char)param_1 == '\0')" (( "(") (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (+ "+") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (; ";"))) (case_statement "case 0x50:" (case "case") (number_literal "0x50") (: ":")) (case_statement "case 0x51:" (case "case") (number_literal "0x51") (: ":")) (case_statement "case 0x52:" (case "case") (number_literal "0x52") (: ":")) (case_statement "case 0x53:" (case "case") (number_literal "0x53") (: ":")) (case_statement "case 0x54:" (case "case") (number_literal "0x54") (: ":")) (case_statement "case 0x55:\n      break;" (case "case") (number_literal "0x55") (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                    \n      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);" (default "default") (: ":") (expression_statement "FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);" (call_expression "FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1)" (identifier "FUN_002446e0") (argument_list "("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1)" (( "(") (string_literal ""../../gold/tilegx.cc"" (" """) (string_content "../../gold/tilegx.cc") (" """)) (, ",") (number_literal "0xbb5") (, ",") (string_literal ""optimize_tls_reloc"" (" """) (string_content "optimize_tls_reloc") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";"))) (case_statement "case 0x5c:" (case "case") (number_literal "0x5c") (: ":")) (case_statement "case 0x5d:" (case "case") (number_literal "0x5d") (: ":")) (case_statement "case 100:" (case "case") (number_literal "100") (: ":")) (case_statement "case 0x65:" (case "case") (number_literal "0x65") (: ":")) (case_statement "case 0x66:" (case "case") (number_literal "0x66") (: ":")) (case_statement "case 0x67:" (case "case") (number_literal "0x67") (: ":")) (case_statement "case 0x75:" (case "case") (number_literal "0x75") (: ":")) (case_statement "case 0x76:" (case "case") (number_literal "0x76") (: ":")) (case_statement "case 0x77:" (case "case") (number_literal "0x77") (: ":")) (case_statement "case 0x78:" (case "case") (number_literal "0x78") (: ":")) (case_statement "case 0x79:\n      return ((char)param_1 != '\0') * '\x02';" (case "case") (number_literal "0x79") (: ":") (return_statement "return ((char)param_1 != '\0') * '\x02';" (return "return") (binary_expression "((char)param_1 != '\0') * '\x02'" (parenthesized_expression "((char)param_1 != '\0')" (( "(") (binary_expression "(char)param_1 != '\0'" (cast_expression "(char)param_1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_1")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (; ";"))) (} "}"))) (} "}"))) (return_statement "return '\0';" (return "return") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

type_1 __regparm3
anon_unknown.dwarf_b97484::Target_tilegx<64,_false>::optimize_tls_reloc(bool is_final,int r_type)

{
  if (gold::parameters->options_ == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    gold::var_1("../../gold/parameters.h",0x5c,"options");
  }
  if ((gold::parameters->options_->shared_).value == false) {
    switch(r_type) {
    case 0x4e:
    case 0x4f:
    case 0x56:
    case 0x57:
    case 0x58:
    case 0x59:
    case 0x70:
    case 0x71:
    case 0x72:
    case 0x73:
    case 0x74:
      return !is_final + var_2;
    case 0x50:
    case 0x51:
    case 0x52:
    case 0x53:
    case 0x54:
    case 0x55:
      break;
    default:
                    /* WARNING: Subroutine does not return */
      gold::var_1("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc");
    case 0x5c:
    case 0x5d:
    case 100:
    case 0x65:
    case 0x66:
    case 0x67:
    case 0x75:
    case 0x76:
    case 0x77:
    case 0x78:
    case 0x79:
      return (type_3)is_final * 2;
    }
  }
  return TLSOPT_NONE;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) 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 (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))) (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: (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))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) right: (char_literal (escape_sequence))))) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (break_statement)) (case_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier))))) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) right: (char_literal (escape_sequence))))))))) (return_statement (char_literal (escape_sequence))))))

/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */

char __regparm3 MASKED(undefined4 param_1,undefined4 param_2)

{
  if (*(int *)(DAT_005ea7c8 + 8) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);
  }
  if (*(char *)(*(int *)(DAT_005ea7c8 + 8) + 0x1a25) == '\0') {
    switch(param_2) {
    case 0x4e:
    case 0x4f:
    case 0x56:
    case 0x57:
    case 0x58:
    case 0x59:
    case 0x70:
    case 0x71:
    case 0x72:
    case 0x73:
    case 0x74:
      return ((char)param_1 == '\0') + '\x02';
    case 0x50:
    case 0x51:
    case 0x52:
    case 0x53:
    case 0x54:
    case 0x55:
      break;
    default:
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/tilegx.cc",0xbb5,"optimize_tls_reloc",param_1);
    case 0x5c:
    case 0x5d:
    case 100:
    case 0x65:
    case 0x66:
    case 0x67:
    case 0x75:
    case 0x76:
    case 0x77:
    case 0x78:
    case 0x79:
      return ((char)param_1 != '\0') * '\x02';
    }
  }
  return '\0';
}

