X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fdwarf2asm.c;h=91dc91f40b958f5c4cb8371964010b5c37ac6413;hb=b7837065e4ec51e8a0ed5fdb0303f2273d3a5d92;hp=10382c972c988b16d5c667d3275cfa4256b68b70;hpb=292fdb55aabf6c648010a9d35041181da2cb5905;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c index 10382c972c9..91dc91f40b9 100644 --- a/gcc/dwarf2asm.c +++ b/gcc/dwarf2asm.c @@ -1,5 +1,5 @@ /* Dwarf2 assembler output helper routines. - Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GCC. @@ -149,6 +149,8 @@ dw2_asm_output_offset (int size, const char *label, va_end (ap); } +#if 0 + /* Output a self-relative reference to a label, possibly in a different section or object file. */ @@ -179,6 +181,7 @@ dw2_asm_output_pcrel (int size ATTRIBUTE_UNUSED, va_end (ap); } +#endif /* 0 */ /* Output an absolute reference to a label. */ @@ -333,8 +336,9 @@ size_of_encoded_value (int encoding) return 4; case DW_EH_PE_udata8: return 8; + default: + gcc_unreachable (); } - abort (); } /* Yield a name for a given pointer encoding. */ @@ -486,12 +490,12 @@ eh_data_format_name (int format) #if HAVE_DESIGNATED_INITIALIZERS }; - if (format < 0 || format > 0xff || format_names[format] == NULL) - abort (); + gcc_assert (format >= 0 && format < 0x100 && format_names[format]); + return format_names[format]; #else } - abort (); + gcc_unreachable (); #endif } @@ -635,7 +639,7 @@ dw2_asm_output_delta_uleb128 (const char *lab1 ATTRIBUTE_UNUSED, fputc ('-', asm_out_file); assemble_name (asm_out_file, lab2); #else - abort (); + gcc_unreachable (); #endif if (flag_debug_asm && comment) @@ -648,6 +652,8 @@ dw2_asm_output_delta_uleb128 (const char *lab1 ATTRIBUTE_UNUSED, va_end (ap); } +#if 0 + void dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED, const char *lab2 ATTRIBUTE_UNUSED, @@ -663,7 +669,7 @@ dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED, fputc ('-', asm_out_file); assemble_name (asm_out_file, lab2); #else - abort (); + gcc_unreachable (); #endif if (flag_debug_asm && comment) @@ -675,6 +681,7 @@ dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED, va_end (ap); } +#endif /* 0 */ static rtx dw2_force_const_mem (rtx); static int dw2_output_indirect_constant_1 (splay_tree_node, void *); @@ -704,8 +711,7 @@ dw2_force_const_mem (rtx x) if (! indirect_pool) indirect_pool = splay_tree_new_ggc (splay_tree_compare_pointers); - if (GET_CODE (x) != SYMBOL_REF) - abort (); + gcc_assert (GET_CODE (x) == SYMBOL_REF); str = targetm.strip_name_encoding (XSTR (x, 0)); node = splay_tree_lookup (indirect_pool, (splay_tree_key) str); @@ -723,6 +729,7 @@ dw2_force_const_mem (rtx x) id = get_identifier (ref_name); decl = build_decl (VAR_DECL, id, ptr_type_node); DECL_ARTIFICIAL (decl) = 1; + DECL_IGNORED_P (decl) = 1; TREE_PUBLIC (decl) = 1; DECL_INITIAL (decl) = decl; make_decl_one_only (decl); @@ -736,6 +743,7 @@ dw2_force_const_mem (rtx x) id = get_identifier (label); decl = build_decl (VAR_DECL, id, ptr_type_node); DECL_ARTIFICIAL (decl) = 1; + DECL_IGNORED_P (decl) = 1; TREE_STATIC (decl) = 1; DECL_INITIAL (decl) = decl; } @@ -836,8 +844,7 @@ dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr, break; case DW_EH_PE_pcrel: - if (GET_CODE (addr) != SYMBOL_REF) - abort (); + gcc_assert (GET_CODE (addr) == SYMBOL_REF); #ifdef ASM_OUTPUT_DWARF_PCREL ASM_OUTPUT_DWARF_PCREL (asm_out_file, size, XSTR (addr, 0)); #else @@ -848,7 +855,7 @@ dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr, default: /* Other encodings should have been handled by ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX. */ - abort (); + gcc_unreachable (); } #ifdef ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX