Mercurial > hg > CbC > CbC_gcc
diff gcc/config/darwin.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/config/darwin.c Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/config/darwin.c Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* Functions for generic Darwin as target machine for GNU C compiler. - Copyright (C) 1989-2017 Free Software Foundation, Inc. + Copyright (C) 1989-2018 Free Software Foundation, Inc. Contributed by Apple Computer Inc. This file is part of GCC. @@ -18,6 +18,8 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ +#define IN_TARGET_CODE 1 + #include "config.h" #include "system.h" #include "coretypes.h" @@ -822,8 +824,7 @@ /* First handle a simple SYMBOL_REF or LABEL_REF */ if (GET_CODE (orig) == LABEL_REF - || (GET_CODE (orig) == SYMBOL_REF - )) + || GET_CODE (orig) == SYMBOL_REF) { /* addr(foo) = &func+(foo-func) */ orig = machopic_indirect_data_reference (orig, reg); @@ -1022,10 +1023,6 @@ return pic_ref; } } - - else if (GET_CODE (orig) == SYMBOL_REF) - return orig; - else if (GET_CODE (orig) == PLUS && (GET_CODE (XEXP (orig, 0)) == MEM || GET_CODE (XEXP (orig, 0)) == SYMBOL_REF @@ -1055,12 +1052,10 @@ } /* Likewise, should we set special REG_NOTEs here? */ } - else if (GET_CODE (orig) == CONST) { return machopic_legitimize_pic_address (XEXP (orig, 0), Pmode, reg); } - else if (GET_CODE (orig) == MEM && GET_CODE (XEXP (orig, 0)) == SYMBOL_REF) { @@ -1931,6 +1926,7 @@ in darwin_end_file. */ static FILE *lto_asm_out_file, *saved_asm_out_file; static char *lto_asm_out_name; +static enum debug_info_levels saved_debug_info_level; /* Prepare asm_out_file for LTO output. For darwin, this means hiding asm_out_file and switching to an alternative output file. */ @@ -1939,6 +1935,8 @@ { gcc_assert (! saved_asm_out_file); saved_asm_out_file = asm_out_file; + saved_debug_info_level = debug_info_level; + debug_info_level = DINFO_LEVEL_NONE; if (! lto_asm_out_name) lto_asm_out_name = make_temp_file (".lto.s"); lto_asm_out_file = fopen (lto_asm_out_name, "a"); @@ -1957,6 +1955,7 @@ fclose (lto_asm_out_file); asm_out_file = saved_asm_out_file; saved_asm_out_file = NULL; + debug_info_level = saved_debug_info_level; } static void @@ -3170,6 +3169,14 @@ if (!global_options_set.x_dwarf_version) dwarf_version = 2; + if (global_options_set.x_dwarf_split_debug_info) + { + inform (input_location, + "-gsplit-dwarf is not supported on this platform, ignored"); + dwarf_split_debug_info = 0; + global_options_set.x_dwarf_split_debug_info = 0; + } + /* Do not allow unwind tables to be generated by default for m32. fnon-call-exceptions will override this, regardless of what we do. */ if (generating_for_darwin_version < 10 @@ -3705,19 +3712,4 @@ : text_section; } -/* When a function is partitioned between sections, we need to insert a label - at the start of each new chunk - so that it may become a valid 'atom' for - eh and debug purposes. Without this the linker will emit warnings if one - tries to add line location information (since the switched fragment will - be anonymous). */ - -void -darwin_function_switched_text_sections (FILE *fp, tree decl, bool new_is_cold) -{ - /* Make sure we pick up all the relevant quotes etc. */ - assemble_name_raw (fp, new_is_cold ? "__cold_sect_of_" : "__hot_sect_of_"); - assemble_name_raw (fp, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl))); - fputs (":\n", fp); -} - #include "gt-darwin.h"