Commit d0396b79 by Nathan Sidwell Committed by Nathan Sidwell

i386.c (type_natural_mode): Use gcc_unreachable and gcc_assert instead of abort.

	* config/i386/i386.c (type_natural_mode): Use gcc_unreachable and
	gcc_assert instead of abort.
	(classify_argument, examine_argument, construct_container,
	contains_128bit_aligned_vector_p, ix86_check_movabs,
	standard_80387_constant_opcode, standard_80387_constant_rtx,
	ix86_initial_elimination_offset, ix86_compute_frame_layout,
	pro_epilogue_adjust_stack, ix86_expand_epilogue,
	ix86_address_cost, legitimate_address_p, legitimize_pic_address,
	legitimize_tls_address, output_pic_addr_const,
	i386_output_dwarf_dtprel, put_condition_code, print_reg,
	get_some_local_dynamic_name, print_operand, print_operand_address,
	output_387_binary_op, emit_i387_cw_initialization,
	output_fix_trunc, output_fp_compare, ix86_output_addr_vec_elt,
	ix86_expand_clear, ix86_expand_binary_operator,
	ix86_expand_unary_operator, ix86_match_ccmode, ix86_cc_mode,
	ix86_cc_modes_compatible, ix86_fp_comparison_codes,
	ix86_fp_comparison_arithmetics_cost, ix86_expand_fp_compare,
	ix86_expand_branch, ix86_expand_setcc,
	ix86_expand_carry_flag_compare, ix86_expand_fp_movcc,
	ix86_expand_int_addcc, ix86_split_to_parts, ix86_split_long_move,
	ix86_expand_movmem, ix86_expand_call, assign_386_stack_local,
	memory_address_length, ix86_attr_length_immediate_default,
	ix86_attr_length_address_default, ix86_agi_dependant,
	x86_initialize_trampoline, ix86_init_mmx_sse_builtins,
	ix86_expand_binop_builtin, ix86_force_to_memory,
	ix86_secondary_memory_needed, ix86_avoid_jump_misspredicts,
	x86_emit_floatuns): Likewise.
	* config/i386/netware.c (gen_regparm_prefix,
	i386_nlm_strip_name_encoding): Likewise.
	* config/i386/winnt.c (i386_pe_mark_dllexport): Likewise.

From-SVN: r98500
parent e3feb571
2005-04-21 Nathan Sidwell <nathan@codesourcery.com> 2005-04-21 Nathan Sidwell <nathan@codesourcery.com>
* config/i386/i386.c (type_natural_mode): Use gcc_unreachable and
gcc_assert instead of abort.
(classify_argument, examine_argument, construct_container,
contains_128bit_aligned_vector_p, ix86_check_movabs,
standard_80387_constant_opcode, standard_80387_constant_rtx,
ix86_initial_elimination_offset, ix86_compute_frame_layout,
pro_epilogue_adjust_stack, ix86_expand_epilogue,
ix86_address_cost, legitimate_address_p, legitimize_pic_address,
legitimize_tls_address, output_pic_addr_const,
i386_output_dwarf_dtprel, put_condition_code, print_reg,
get_some_local_dynamic_name, print_operand, print_operand_address,
output_387_binary_op, emit_i387_cw_initialization,
output_fix_trunc, output_fp_compare, ix86_output_addr_vec_elt,
ix86_expand_clear, ix86_expand_binary_operator,
ix86_expand_unary_operator, ix86_match_ccmode, ix86_cc_mode,
ix86_cc_modes_compatible, ix86_fp_comparison_codes,
ix86_fp_comparison_arithmetics_cost, ix86_expand_fp_compare,
ix86_expand_branch, ix86_expand_setcc,
ix86_expand_carry_flag_compare, ix86_expand_fp_movcc,
ix86_expand_int_addcc, ix86_split_to_parts, ix86_split_long_move,
ix86_expand_movmem, ix86_expand_call, assign_386_stack_local,
memory_address_length, ix86_attr_length_immediate_default,
ix86_attr_length_address_default, ix86_agi_dependant,
x86_initialize_trampoline, ix86_init_mmx_sse_builtins,
ix86_expand_binop_builtin, ix86_force_to_memory,
ix86_secondary_memory_needed, ix86_avoid_jump_misspredicts,
x86_emit_floatuns): Likewise.
* config/i386/netware.c (gen_regparm_prefix,
i386_nlm_strip_name_encoding): Likewise.
* config/i386/winnt.c (i386_pe_mark_dllexport): Likewise.
2005-04-21 Nathan Sidwell <nathan@codesourcery.com>
* optabs.c (gen_condiational_trap): Remove #define. * optabs.c (gen_condiational_trap): Remove #define.
(add_equal_note): Assertify. Remove explicit indirection from (add_equal_note): Assertify. Remove explicit indirection from
call via function pointer. call via function pointer.
......
...@@ -2207,7 +2207,7 @@ type_natural_mode (tree type) ...@@ -2207,7 +2207,7 @@ type_natural_mode (tree type)
&& GET_MODE_INNER (mode) == innermode) && GET_MODE_INNER (mode) == innermode)
return mode; return mode;
abort (); gcc_unreachable ();
} }
} }
...@@ -2334,8 +2334,9 @@ classify_argument (enum machine_mode mode, tree type, ...@@ -2334,8 +2334,9 @@ classify_argument (enum machine_mode mode, tree type,
} }
/* Classify each field of record and merge classes. */ /* Classify each field of record and merge classes. */
if (TREE_CODE (type) == RECORD_TYPE) switch (TREE_CODE (type))
{ {
case RECORD_TYPE:
/* For classes first merge in the field of the subclasses. */ /* For classes first merge in the field of the subclasses. */
if (TYPE_BINFO (type)) if (TYPE_BINFO (type))
{ {
...@@ -2400,55 +2401,36 @@ classify_argument (enum machine_mode mode, tree type, ...@@ -2400,55 +2401,36 @@ classify_argument (enum machine_mode mode, tree type,
} }
} }
} }
} break;
/* Arrays are handled as small records. */
else if (TREE_CODE (type) == ARRAY_TYPE)
{
int num;
num = classify_argument (TYPE_MODE (TREE_TYPE (type)),
TREE_TYPE (type), subclasses, bit_offset);
if (!num)
return 0;
/* The partial classes are now full classes. */
if (subclasses[0] == X86_64_SSESF_CLASS && bytes != 4)
subclasses[0] = X86_64_SSE_CLASS;
if (subclasses[0] == X86_64_INTEGERSI_CLASS && bytes != 4)
subclasses[0] = X86_64_INTEGER_CLASS;
for (i = 0; i < words; i++)
classes[i] = subclasses[i % num];
}
/* Unions are similar to RECORD_TYPE but offset is always 0. */
else if (TREE_CODE (type) == UNION_TYPE
|| TREE_CODE (type) == QUAL_UNION_TYPE)
{
/* For classes first merge in the field of the subclasses. */
if (TYPE_BINFO (type))
{
tree binfo, base_binfo;
int basenum;
for (binfo = TYPE_BINFO (type), basenum = 0; case ARRAY_TYPE:
BINFO_BASE_ITERATE (binfo, basenum, base_binfo); basenum++) /* Arrays are handled as small records. */
{ {
int num; int num;
int offset = tree_low_cst (BINFO_OFFSET (base_binfo), 0) * 8; num = classify_argument (TYPE_MODE (TREE_TYPE (type)),
tree type = BINFO_TYPE (base_binfo); TREE_TYPE (type), subclasses, bit_offset);
if (!num)
return 0;
num = classify_argument (TYPE_MODE (type), /* The partial classes are now full classes. */
type, subclasses, if (subclasses[0] == X86_64_SSESF_CLASS && bytes != 4)
(offset + (bit_offset % 64)) % 256); subclasses[0] = X86_64_SSE_CLASS;
if (!num) if (subclasses[0] == X86_64_INTEGERSI_CLASS && bytes != 4)
return 0; subclasses[0] = X86_64_INTEGER_CLASS;
for (i = 0; i < num; i++)
{ for (i = 0; i < words; i++)
int pos = (offset + (bit_offset % 64)) / 8 / 8; classes[i] = subclasses[i % num];
classes[i + pos] =
merge_classes (subclasses[i], classes[i + pos]); break;
} }
} case UNION_TYPE:
} case QUAL_UNION_TYPE:
/* Unions are similar to RECORD_TYPE but offset is always 0.
*/
/* Unions are not derived. */
gcc_assert (!TYPE_BINFO (type)
|| !BINFO_N_BASE_BINFOS (TYPE_BINFO (type)));
for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field)) for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
{ {
if (TREE_CODE (field) == FIELD_DECL) if (TREE_CODE (field) == FIELD_DECL)
...@@ -2463,9 +2445,11 @@ classify_argument (enum machine_mode mode, tree type, ...@@ -2463,9 +2445,11 @@ classify_argument (enum machine_mode mode, tree type,
classes[i] = merge_classes (subclasses[i], classes[i]); classes[i] = merge_classes (subclasses[i], classes[i]);
} }
} }
break;
default:
gcc_unreachable ();
} }
else
abort ();
/* Final merger cleanup. */ /* Final merger cleanup. */
for (i = 0; i < words; i++) for (i = 0; i < words; i++)
...@@ -2581,21 +2565,19 @@ classify_argument (enum machine_mode mode, tree type, ...@@ -2581,21 +2565,19 @@ classify_argument (enum machine_mode mode, tree type,
case VOIDmode: case VOIDmode:
return 0; return 0;
default: default:
if (VECTOR_MODE_P (mode)) gcc_assert (VECTOR_MODE_P (mode));
{
if (bytes > 16) if (bytes > 16)
return 0; return 0;
if (GET_MODE_CLASS (GET_MODE_INNER (mode)) == MODE_INT)
{ gcc_assert (GET_MODE_CLASS (GET_MODE_INNER (mode)) == MODE_INT);
if (bit_offset + GET_MODE_BITSIZE (mode) <= 32)
classes[0] = X86_64_INTEGERSI_CLASS; if (bit_offset + GET_MODE_BITSIZE (mode) <= 32)
else classes[0] = X86_64_INTEGERSI_CLASS;
classes[0] = X86_64_INTEGER_CLASS; else
classes[1] = X86_64_INTEGER_CLASS; classes[0] = X86_64_INTEGER_CLASS;
return 1 + (bytes > 8); classes[1] = X86_64_INTEGER_CLASS;
} return 1 + (bytes > 8);
}
abort ();
} }
} }
...@@ -2635,7 +2617,7 @@ examine_argument (enum machine_mode mode, tree type, int in_return, ...@@ -2635,7 +2617,7 @@ examine_argument (enum machine_mode mode, tree type, int in_return,
case X86_64_COMPLEX_X87_CLASS: case X86_64_COMPLEX_X87_CLASS:
return in_return ? 2 : 0; return in_return ? 2 : 0;
case X86_64_MEMORY_CLASS: case X86_64_MEMORY_CLASS:
abort (); gcc_unreachable ();
} }
return 1; return 1;
} }
...@@ -2717,7 +2699,7 @@ construct_container (enum machine_mode mode, enum machine_mode orig_mode, ...@@ -2717,7 +2699,7 @@ construct_container (enum machine_mode mode, enum machine_mode orig_mode,
/* Zero sized array, struct or class. */ /* Zero sized array, struct or class. */
return NULL; return NULL;
default: default:
abort (); gcc_unreachable ();
} }
if (n == 2 && class[0] == X86_64_SSE_CLASS && class[1] == X86_64_SSEUP_CLASS if (n == 2 && class[0] == X86_64_SSE_CLASS && class[1] == X86_64_SSEUP_CLASS
&& mode != BLKmode) && mode != BLKmode)
...@@ -2783,7 +2765,7 @@ construct_container (enum machine_mode mode, enum machine_mode orig_mode, ...@@ -2783,7 +2765,7 @@ construct_container (enum machine_mode mode, enum machine_mode orig_mode,
sse_regno++; sse_regno++;
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -3091,38 +3073,43 @@ contains_128bit_aligned_vector_p (tree type) ...@@ -3091,38 +3073,43 @@ contains_128bit_aligned_vector_p (tree type)
if (AGGREGATE_TYPE_P (type)) if (AGGREGATE_TYPE_P (type))
{ {
/* Walk the aggregates recursively. */ /* Walk the aggregates recursively. */
if (TREE_CODE (type) == RECORD_TYPE switch (TREE_CODE (type))
|| TREE_CODE (type) == UNION_TYPE
|| TREE_CODE (type) == QUAL_UNION_TYPE)
{ {
tree field; case RECORD_TYPE:
case UNION_TYPE:
if (TYPE_BINFO (type)) case QUAL_UNION_TYPE:
{ {
tree binfo, base_binfo; tree field;
int i;
if (TYPE_BINFO (type))
for (binfo = TYPE_BINFO (type), i = 0; {
BINFO_BASE_ITERATE (binfo, i, base_binfo); i++) tree binfo, base_binfo;
if (contains_128bit_aligned_vector_p (BINFO_TYPE (base_binfo))) int i;
for (binfo = TYPE_BINFO (type), i = 0;
BINFO_BASE_ITERATE (binfo, i, base_binfo); i++)
if (contains_128bit_aligned_vector_p
(BINFO_TYPE (base_binfo)))
return true;
}
/* And now merge the fields of structure. */
for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
{
if (TREE_CODE (field) == FIELD_DECL
&& contains_128bit_aligned_vector_p (TREE_TYPE (field)))
return true; return true;
} }
/* And now merge the fields of structure. */ break;
for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field)) }
{
if (TREE_CODE (field) == FIELD_DECL case ARRAY_TYPE:
&& contains_128bit_aligned_vector_p (TREE_TYPE (field))) /* Just for use if some languages passes arrays by value. */
return true;
}
}
/* Just for use if some languages passes arrays by value. */
else if (TREE_CODE (type) == ARRAY_TYPE)
{
if (contains_128bit_aligned_vector_p (TREE_TYPE (type))) if (contains_128bit_aligned_vector_p (TREE_TYPE (type)))
return true; return true;
default:
gcc_unreachable ();
} }
else
abort ();
} }
return false; return false;
} }
...@@ -3815,13 +3802,11 @@ ix86_check_movabs (rtx insn, int opnum) ...@@ -3815,13 +3802,11 @@ ix86_check_movabs (rtx insn, int opnum)
set = PATTERN (insn); set = PATTERN (insn);
if (GET_CODE (set) == PARALLEL) if (GET_CODE (set) == PARALLEL)
set = XVECEXP (set, 0, 0); set = XVECEXP (set, 0, 0);
if (GET_CODE (set) != SET) gcc_assert (GET_CODE (set) == SET);
abort ();
mem = XEXP (set, opnum); mem = XEXP (set, opnum);
while (GET_CODE (mem) == SUBREG) while (GET_CODE (mem) == SUBREG)
mem = SUBREG_REG (mem); mem = SUBREG_REG (mem);
if (GET_CODE (mem) != MEM) gcc_assert (GET_CODE (mem) == MEM);
abort ();
return (volatile_ok || !MEM_VOLATILE_P (mem)); return (volatile_ok || !MEM_VOLATILE_P (mem));
} }
...@@ -3907,8 +3892,9 @@ standard_80387_constant_opcode (rtx x) ...@@ -3907,8 +3892,9 @@ standard_80387_constant_opcode (rtx x)
return "fldl2t"; return "fldl2t";
case 7: case 7:
return "fldpi"; return "fldpi";
default:
gcc_unreachable ();
} }
abort ();
} }
/* Return the CONST_DOUBLE representing the 80387 constant that is /* Return the CONST_DOUBLE representing the 80387 constant that is
...@@ -3934,7 +3920,7 @@ standard_80387_constant_rtx (int idx) ...@@ -3934,7 +3920,7 @@ standard_80387_constant_rtx (int idx)
break; break;
default: default:
abort (); gcc_unreachable ();
} }
return CONST_DOUBLE_FROM_REAL_VALUE (ext_80387_constants_table[i], return CONST_DOUBLE_FROM_REAL_VALUE (ext_80387_constants_table[i],
...@@ -4260,14 +4246,13 @@ ix86_initial_elimination_offset (int from, int to) ...@@ -4260,14 +4246,13 @@ ix86_initial_elimination_offset (int from, int to)
return frame.hard_frame_pointer_offset - frame.frame_pointer_offset; return frame.hard_frame_pointer_offset - frame.frame_pointer_offset;
else else
{ {
if (to != STACK_POINTER_REGNUM) gcc_assert (to == STACK_POINTER_REGNUM);
abort ();
else if (from == ARG_POINTER_REGNUM) if (from == ARG_POINTER_REGNUM)
return frame.stack_pointer_offset; return frame.stack_pointer_offset;
else if (from != FRAME_POINTER_REGNUM)
abort (); gcc_assert (from == FRAME_POINTER_REGNUM);
else return frame.stack_pointer_offset - frame.frame_pointer_offset;
return frame.stack_pointer_offset - frame.frame_pointer_offset;
} }
} }
...@@ -4334,14 +4319,11 @@ ix86_compute_frame_layout (struct ix86_frame *frame) ...@@ -4334,14 +4319,11 @@ ix86_compute_frame_layout (struct ix86_frame *frame)
preferred_alignment, since i386 port is the only using those features preferred_alignment, since i386 port is the only using those features
that may break easily. */ that may break easily. */
if (size && !stack_alignment_needed) gcc_assert (!size || stack_alignment_needed);
abort (); gcc_assert (preferred_alignment >= STACK_BOUNDARY / BITS_PER_UNIT);
if (preferred_alignment < STACK_BOUNDARY / BITS_PER_UNIT) gcc_assert (preferred_alignment <= PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT);
abort (); gcc_assert (stack_alignment_needed
if (preferred_alignment > PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT) <= PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT);
abort ();
if (stack_alignment_needed > PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT)
abort ();
if (stack_alignment_needed < STACK_BOUNDARY / BITS_PER_UNIT) if (stack_alignment_needed < STACK_BOUNDARY / BITS_PER_UNIT)
stack_alignment_needed = STACK_BOUNDARY / BITS_PER_UNIT; stack_alignment_needed = STACK_BOUNDARY / BITS_PER_UNIT;
...@@ -4491,8 +4473,7 @@ pro_epilogue_adjust_stack (rtx dest, rtx src, rtx offset, int style) ...@@ -4491,8 +4473,7 @@ pro_epilogue_adjust_stack (rtx dest, rtx src, rtx offset, int style)
epilogue and used after the epilogue. ATM indirect sibcall epilogue and used after the epilogue. ATM indirect sibcall
shouldn't be used together with huge frame sizes in one shouldn't be used together with huge frame sizes in one
function because of the frame_size check in sibcall.c. */ function because of the frame_size check in sibcall.c. */
if (style == 0) gcc_assert (style);
abort ();
r11 = gen_rtx_REG (DImode, FIRST_REX_INT_REG + 3 /* R11 */); r11 = gen_rtx_REG (DImode, FIRST_REX_INT_REG + 3 /* R11 */);
insn = emit_insn (gen_rtx_SET (DImode, r11, offset)); insn = emit_insn (gen_rtx_SET (DImode, r11, offset));
if (style < 0) if (style < 0)
...@@ -4554,8 +4535,7 @@ ix86_expand_prologue (void) ...@@ -4554,8 +4535,7 @@ ix86_expand_prologue (void)
bool eax_live = ix86_eax_live_at_start_p (); bool eax_live = ix86_eax_live_at_start_p ();
rtx t; rtx t;
if (TARGET_64BIT) gcc_assert (!TARGET_64BIT);
abort ();
if (eax_live) if (eax_live)
{ {
...@@ -4761,8 +4741,7 @@ ix86_expand_epilogue (int style) ...@@ -4761,8 +4741,7 @@ ix86_expand_epilogue (int style)
pop the registers. */ pop the registers. */
if (!sp_valid) if (!sp_valid)
{ {
if (!frame_pointer_needed) gcc_assert (frame_pointer_needed);
abort ();
pro_epilogue_adjust_stack (stack_pointer_rtx, pro_epilogue_adjust_stack (stack_pointer_rtx,
hard_frame_pointer_rtx, hard_frame_pointer_rtx,
GEN_INT (offset), style); GEN_INT (offset), style);
...@@ -4809,8 +4788,7 @@ ix86_expand_epilogue (int style) ...@@ -4809,8 +4788,7 @@ ix86_expand_epilogue (int style)
rtx ecx = gen_rtx_REG (SImode, 2); rtx ecx = gen_rtx_REG (SImode, 2);
/* There is no "pascal" calling convention in 64bit ABI. */ /* There is no "pascal" calling convention in 64bit ABI. */
if (TARGET_64BIT) gcc_assert (!TARGET_64BIT);
abort ();
emit_insn (gen_popsi1 (ecx)); emit_insn (gen_popsi1 (ecx));
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, popc)); emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, popc));
...@@ -4999,9 +4977,9 @@ ix86_address_cost (rtx x) ...@@ -4999,9 +4977,9 @@ ix86_address_cost (rtx x)
{ {
struct ix86_address parts; struct ix86_address parts;
int cost = 1; int cost = 1;
int ok = ix86_decompose_address (x, &parts);
if (!ix86_decompose_address (x, &parts)) gcc_assert (ok);
abort ();
if (parts.base && GET_CODE (parts.base) == SUBREG) if (parts.base && GET_CODE (parts.base) == SUBREG)
parts.base = SUBREG_REG (parts.base); parts.base = SUBREG_REG (parts.base);
...@@ -5458,8 +5436,7 @@ legitimate_address_p (enum machine_mode mode, rtx addr, int strict) ...@@ -5458,8 +5436,7 @@ legitimate_address_p (enum machine_mode mode, rtx addr, int strict)
case UNSPEC_GOT: case UNSPEC_GOT:
case UNSPEC_GOTOFF: case UNSPEC_GOTOFF:
case UNSPEC_GOTPCREL: case UNSPEC_GOTPCREL:
if (!flag_pic) gcc_assert (flag_pic);
abort ();
goto is_legitimate_pic; goto is_legitimate_pic;
case UNSPEC_GOTTPOFF: case UNSPEC_GOTTPOFF:
...@@ -5674,8 +5651,7 @@ legitimize_pic_address (rtx orig, rtx reg) ...@@ -5674,8 +5651,7 @@ legitimize_pic_address (rtx orig, rtx reg)
|| (GET_CODE (addr) == PLUS || (GET_CODE (addr) == PLUS
&& GET_CODE (XEXP (addr, 0)) == UNSPEC)) && GET_CODE (XEXP (addr, 0)) == UNSPEC))
return orig; return orig;
if (GET_CODE (addr) != PLUS) gcc_assert (GET_CODE (addr) == PLUS);
abort ();
} }
if (GET_CODE (addr) == PLUS) if (GET_CODE (addr) == PLUS)
{ {
...@@ -5868,7 +5844,7 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov) ...@@ -5868,7 +5844,7 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov)
break; break;
default: default:
abort (); gcc_unreachable ();
} }
return dest; return dest;
...@@ -6081,10 +6057,8 @@ output_pic_addr_const (FILE *file, rtx x, int code) ...@@ -6081,10 +6057,8 @@ output_pic_addr_const (FILE *file, rtx x, int code)
switch (GET_CODE (x)) switch (GET_CODE (x))
{ {
case PC: case PC:
if (flag_pic) gcc_assert (flag_pic);
putc ('.', file); putc ('.', file);
else
abort ();
break; break;
case SYMBOL_REF: case SYMBOL_REF:
...@@ -6136,14 +6110,13 @@ output_pic_addr_const (FILE *file, rtx x, int code) ...@@ -6136,14 +6110,13 @@ output_pic_addr_const (FILE *file, rtx x, int code)
putc ('+', file); putc ('+', file);
output_pic_addr_const (file, XEXP (x, 1), code); output_pic_addr_const (file, XEXP (x, 1), code);
} }
else if (GET_CODE (XEXP (x, 1)) == CONST_INT) else
{ {
gcc_assert (GET_CODE (XEXP (x, 1)) == CONST_INT);
output_pic_addr_const (file, XEXP (x, 1), code); output_pic_addr_const (file, XEXP (x, 1), code);
putc ('+', file); putc ('+', file);
output_pic_addr_const (file, XEXP (x, 0), code); output_pic_addr_const (file, XEXP (x, 0), code);
} }
else
abort ();
break; break;
case MINUS: case MINUS:
...@@ -6157,8 +6130,7 @@ output_pic_addr_const (FILE *file, rtx x, int code) ...@@ -6157,8 +6130,7 @@ output_pic_addr_const (FILE *file, rtx x, int code)
break; break;
case UNSPEC: case UNSPEC:
if (XVECLEN (x, 0) != 1) gcc_assert (XVECLEN (x, 0) == 1);
abort ();
output_pic_addr_const (file, XVECEXP (x, 0, 0), code); output_pic_addr_const (file, XVECEXP (x, 0, 0), code);
switch (XINT (x, 1)) switch (XINT (x, 1))
{ {
...@@ -6224,7 +6196,7 @@ i386_output_dwarf_dtprel (FILE *file, int size, rtx x) ...@@ -6224,7 +6196,7 @@ i386_output_dwarf_dtprel (FILE *file, int size, rtx x)
fputs (", 0", file); fputs (", 0", file);
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -6314,8 +6286,7 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse, ...@@ -6314,8 +6286,7 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse,
{ {
enum rtx_code second_code, bypass_code; enum rtx_code second_code, bypass_code;
ix86_fp_comparison_codes (code, &bypass_code, &code, &second_code); ix86_fp_comparison_codes (code, &bypass_code, &code, &second_code);
if (bypass_code != UNKNOWN || second_code != UNKNOWN) gcc_assert (bypass_code == UNKNOWN && second_code == UNKNOWN);
abort ();
code = ix86_fp_compare_code_to_integer (code); code = ix86_fp_compare_code_to_integer (code);
mode = CCmode; mode = CCmode;
} }
...@@ -6331,52 +6302,64 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse, ...@@ -6331,52 +6302,64 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse,
suffix = "ne"; suffix = "ne";
break; break;
case GT: case GT:
if (mode != CCmode && mode != CCNOmode && mode != CCGCmode) gcc_assert (mode == CCmode || mode == CCNOmode || mode == CCGCmode);
abort ();
suffix = "g"; suffix = "g";
break; break;
case GTU: case GTU:
/* ??? Use "nbe" instead of "a" for fcmov lossage on some assemblers. /* ??? Use "nbe" instead of "a" for fcmov lossage on some assemblers.
Those same assemblers have the same but opposite lossage on cmov. */ Those same assemblers have the same but opposite lossage on cmov. */
if (mode != CCmode) gcc_assert (mode == CCmode);
abort ();
suffix = fp ? "nbe" : "a"; suffix = fp ? "nbe" : "a";
break; break;
case LT: case LT:
if (mode == CCNOmode || mode == CCGOCmode) switch (mode)
suffix = "s"; {
else if (mode == CCmode || mode == CCGCmode) case CCNOmode:
suffix = "l"; case CCGOCmode:
else suffix = "s";
abort (); break;
case CCmode:
case CCGCmode:
suffix = "l";
break;
default:
gcc_unreachable ();
}
break; break;
case LTU: case LTU:
if (mode != CCmode) gcc_assert (mode == CCmode);
abort ();
suffix = "b"; suffix = "b";
break; break;
case GE: case GE:
if (mode == CCNOmode || mode == CCGOCmode) switch (mode)
suffix = "ns"; {
else if (mode == CCmode || mode == CCGCmode) case CCNOmode:
suffix = "ge"; case CCGOCmode:
else suffix = "ns";
abort (); break;
case CCmode:
case CCGCmode:
suffix = "ge";
break;
default:
gcc_unreachable ();
}
break; break;
case GEU: case GEU:
/* ??? As above. */ /* ??? As above. */
if (mode != CCmode) gcc_assert (mode == CCmode);
abort ();
suffix = fp ? "nb" : "ae"; suffix = fp ? "nb" : "ae";
break; break;
case LE: case LE:
if (mode != CCmode && mode != CCGCmode && mode != CCNOmode) gcc_assert (mode == CCmode || mode == CCGCmode || mode == CCNOmode);
abort ();
suffix = "le"; suffix = "le";
break; break;
case LEU: case LEU:
if (mode != CCmode) gcc_assert (mode == CCmode);
abort ();
suffix = "be"; suffix = "be";
break; break;
case UNORDERED: case UNORDERED:
...@@ -6386,7 +6369,7 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse, ...@@ -6386,7 +6369,7 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse,
suffix = fp ? "nu" : "np"; suffix = fp ? "nu" : "np";
break; break;
default: default:
abort (); gcc_unreachable ();
} }
fputs (suffix, file); fputs (suffix, file);
} }
...@@ -6396,17 +6379,16 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse, ...@@ -6396,17 +6379,16 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse,
If CODE is 'b', pretend the mode is QImode. If CODE is 'b', pretend the mode is QImode.
If CODE is 'k', pretend the mode is SImode. If CODE is 'k', pretend the mode is SImode.
If CODE is 'q', pretend the mode is DImode. If CODE is 'q', pretend the mode is DImode.
If CODE is 'h', pretend the reg is the `high' byte register. If CODE is 'h', pretend the reg is the 'high' byte register.
If CODE is 'y', print "st(0)" instead of "st", if the reg is stack op. */ If CODE is 'y', print "st(0)" instead of "st", if the reg is stack op. */
void void
print_reg (rtx x, int code, FILE *file) print_reg (rtx x, int code, FILE *file)
{ {
if (REGNO (x) == ARG_POINTER_REGNUM gcc_assert (REGNO (x) != ARG_POINTER_REGNUM
|| REGNO (x) == FRAME_POINTER_REGNUM && REGNO (x) != FRAME_POINTER_REGNUM
|| REGNO (x) == FLAGS_REG && REGNO (x) != FLAGS_REG
|| REGNO (x) == FPSR_REG) && REGNO (x) != FPSR_REG);
abort ();
if (ASSEMBLER_DIALECT == ASM_ATT || USER_LABEL_PREFIX[0] == 0) if (ASSEMBLER_DIALECT == ASM_ATT || USER_LABEL_PREFIX[0] == 0)
putc ('%', file); putc ('%', file);
...@@ -6430,8 +6412,7 @@ print_reg (rtx x, int code, FILE *file) ...@@ -6430,8 +6412,7 @@ print_reg (rtx x, int code, FILE *file)
from the normal registers. */ from the normal registers. */
if (REX_INT_REG_P (x)) if (REX_INT_REG_P (x))
{ {
if (!TARGET_64BIT) gcc_assert (TARGET_64BIT);
abort ();
switch (code) switch (code)
{ {
case 0: case 0:
...@@ -6486,7 +6467,7 @@ print_reg (rtx x, int code, FILE *file) ...@@ -6486,7 +6467,7 @@ print_reg (rtx x, int code, FILE *file)
fputs (qi_high_reg_name[REGNO (x)], file); fputs (qi_high_reg_name[REGNO (x)], file);
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -6507,7 +6488,7 @@ get_some_local_dynamic_name (void) ...@@ -6507,7 +6488,7 @@ get_some_local_dynamic_name (void)
&& for_each_rtx (&PATTERN (insn), get_some_local_dynamic_name_1, 0)) && for_each_rtx (&PATTERN (insn), get_some_local_dynamic_name_1, 0))
return cfun->machine->some_ld_name; return cfun->machine->some_ld_name;
abort (); gcc_unreachable ();
} }
static int static int
...@@ -6570,10 +6551,13 @@ print_operand (FILE *file, rtx x, int code) ...@@ -6570,10 +6551,13 @@ print_operand (FILE *file, rtx x, int code)
return; return;
case 'A': case 'A':
if (ASSEMBLER_DIALECT == ASM_ATT) switch (ASSEMBLER_DIALECT)
putc ('*', file);
else if (ASSEMBLER_DIALECT == ASM_INTEL)
{ {
case ASM_ATT:
putc ('*', file);
break;
case ASM_INTEL:
/* Intel syntax. For absolute addresses, registers should not /* Intel syntax. For absolute addresses, registers should not
be surrounded by braces. */ be surrounded by braces. */
if (GET_CODE (x) != REG) if (GET_CODE (x) != REG)
...@@ -6583,9 +6567,11 @@ print_operand (FILE *file, rtx x, int code) ...@@ -6583,9 +6567,11 @@ print_operand (FILE *file, rtx x, int code)
putc (']', file); putc (']', file);
return; return;
} }
break;
default:
gcc_unreachable ();
} }
else
abort ();
PRINT_OPERAND (file, x, 0); PRINT_OPERAND (file, x, 0);
return; return;
...@@ -6670,7 +6656,7 @@ print_operand (FILE *file, rtx x, int code) ...@@ -6670,7 +6656,7 @@ print_operand (FILE *file, rtx x, int code)
return; return;
default: default:
abort (); gcc_unreachable ();
} }
case 'b': case 'b':
...@@ -6728,8 +6714,7 @@ print_operand (FILE *file, rtx x, int code) ...@@ -6728,8 +6714,7 @@ print_operand (FILE *file, rtx x, int code)
fputs ("ord", file); fputs ("ord", file);
break; break;
default: default:
abort (); gcc_unreachable ();
break;
} }
return; return;
case 'O': case 'O':
...@@ -6743,7 +6728,7 @@ print_operand (FILE *file, rtx x, int code) ...@@ -6743,7 +6728,7 @@ print_operand (FILE *file, rtx x, int code)
case SFmode: putc ('l', file); break; case SFmode: putc ('l', file); break;
case DImode: case DImode:
case DFmode: putc ('q', file); break; case DFmode: putc ('q', file); break;
default: abort (); default: gcc_unreachable ();
} }
putc ('.', file); putc ('.', file);
} }
...@@ -6841,7 +6826,7 @@ print_operand (FILE *file, rtx x, int code) ...@@ -6841,7 +6826,7 @@ print_operand (FILE *file, rtx x, int code)
case 12: size = "XWORD"; break; case 12: size = "XWORD"; break;
case 16: size = "XMMWORD"; break; case 16: size = "XMMWORD"; break;
default: default:
abort (); gcc_unreachable ();
} }
/* Check for explicit size override (codes 'b', 'w' and 'k') */ /* Check for explicit size override (codes 'b', 'w' and 'k') */
...@@ -6905,10 +6890,8 @@ print_operand (FILE *file, rtx x, int code) ...@@ -6905,10 +6890,8 @@ print_operand (FILE *file, rtx x, int code)
since we can in fact encode that into an immediate. */ since we can in fact encode that into an immediate. */
if (GET_CODE (x) == CONST_VECTOR) if (GET_CODE (x) == CONST_VECTOR)
{ {
if (x == CONST0_RTX (GET_MODE (x))) gcc_assert (x == CONST0_RTX (GET_MODE (x)));
x = const0_rtx; x = const0_rtx;
else
abort ();
} }
if (code != 'P') if (code != 'P')
...@@ -6944,9 +6927,9 @@ print_operand_address (FILE *file, rtx addr) ...@@ -6944,9 +6927,9 @@ print_operand_address (FILE *file, rtx addr)
struct ix86_address parts; struct ix86_address parts;
rtx base, index, disp; rtx base, index, disp;
int scale; int scale;
int ok = ix86_decompose_address (addr, &parts);
if (! ix86_decompose_address (addr, &parts)) gcc_assert (ok);
abort ();
base = parts.base; base = parts.base;
index = parts.index; index = parts.index;
...@@ -6964,7 +6947,7 @@ print_operand_address (FILE *file, rtx addr) ...@@ -6964,7 +6947,7 @@ print_operand_address (FILE *file, rtx addr)
fputs ((parts.seg == SEG_FS ? "fs:" : "gs:"), file); fputs ((parts.seg == SEG_FS ? "fs:" : "gs:"), file);
break; break;
default: default:
abort (); gcc_unreachable ();
} }
if (!base && !index) if (!base && !index)
...@@ -7224,8 +7207,8 @@ output_387_binary_op (rtx insn, rtx *operands) ...@@ -7224,8 +7207,8 @@ output_387_binary_op (rtx insn, rtx *operands)
&& (STACK_REG_P (operands[1]) || GET_CODE (operands[1]) == MEM))) && (STACK_REG_P (operands[1]) || GET_CODE (operands[1]) == MEM)))
&& (STACK_TOP_P (operands[1]) || STACK_TOP_P (operands[2]))) && (STACK_TOP_P (operands[1]) || STACK_TOP_P (operands[2])))
; /* ok */ ; /* ok */
else if (!is_sse) else
abort (); gcc_assert (is_sse);
#endif #endif
switch (GET_CODE (operands[3])) switch (GET_CODE (operands[3]))
...@@ -7267,7 +7250,7 @@ output_387_binary_op (rtx insn, rtx *operands) ...@@ -7267,7 +7250,7 @@ output_387_binary_op (rtx insn, rtx *operands)
break; break;
default: default:
abort (); gcc_unreachable ();
} }
if (is_sse) if (is_sse)
...@@ -7402,7 +7385,7 @@ output_387_binary_op (rtx insn, rtx *operands) ...@@ -7402,7 +7385,7 @@ output_387_binary_op (rtx insn, rtx *operands)
break; break;
default: default:
abort (); gcc_unreachable ();
} }
strcat (buf, p); strcat (buf, p);
...@@ -7447,7 +7430,7 @@ emit_i387_cw_initialization (rtx current_mode, rtx new_mode, int mode) ...@@ -7447,7 +7430,7 @@ emit_i387_cw_initialization (rtx current_mode, rtx new_mode, int mode)
break; break;
default: default:
abort(); gcc_unreachable ();
} }
} }
else else
...@@ -7477,7 +7460,7 @@ emit_i387_cw_initialization (rtx current_mode, rtx new_mode, int mode) ...@@ -7477,7 +7460,7 @@ emit_i387_cw_initialization (rtx current_mode, rtx new_mode, int mode)
break; break;
default: default:
abort(); gcc_unreachable ();
} }
} }
...@@ -7501,11 +7484,8 @@ output_fix_trunc (rtx insn, rtx *operands, int fisttp) ...@@ -7501,11 +7484,8 @@ output_fix_trunc (rtx insn, rtx *operands, int fisttp)
if ((dimode_p || fisttp) && !stack_top_dies) if ((dimode_p || fisttp) && !stack_top_dies)
output_asm_insn ("fld\t%y1", operands); output_asm_insn ("fld\t%y1", operands);
if (!STACK_TOP_P (operands[1])) gcc_assert (STACK_TOP_P (operands[1]));
abort (); gcc_assert (GET_CODE (operands[0]) == MEM);
if (GET_CODE (operands[0]) != MEM)
abort ();
if (fisttp) if (fisttp)
output_asm_insn ("fisttp%z0\t%0", operands); output_asm_insn ("fisttp%z0\t%0", operands);
...@@ -7559,8 +7539,7 @@ output_fp_compare (rtx insn, rtx *operands, int eflags_p, int unordered_p) ...@@ -7559,8 +7539,7 @@ output_fp_compare (rtx insn, rtx *operands, int eflags_p, int unordered_p)
return "comisd\t{%1, %0|%0, %1}"; return "comisd\t{%1, %0|%0, %1}";
} }
if (! STACK_TOP_P (cmp_op0)) gcc_assert (STACK_TOP_P (cmp_op0));
abort ();
stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0; stack_top_dies = find_regno_note (insn, REG_DEAD, FIRST_STACK_REG) != 0;
...@@ -7637,11 +7616,9 @@ output_fp_compare (rtx insn, rtx *operands, int eflags_p, int unordered_p) ...@@ -7637,11 +7616,9 @@ output_fp_compare (rtx insn, rtx *operands, int eflags_p, int unordered_p)
mask |= unordered_p << 1; mask |= unordered_p << 1;
mask |= stack_top_dies; mask |= stack_top_dies;
if (mask >= 16) gcc_assert (mask < 16);
abort ();
ret = alt[mask]; ret = alt[mask];
if (ret == NULL) gcc_assert (ret);
abort ();
return ret; return ret;
} }
...@@ -7652,14 +7629,12 @@ ix86_output_addr_vec_elt (FILE *file, int value) ...@@ -7652,14 +7629,12 @@ ix86_output_addr_vec_elt (FILE *file, int value)
{ {
const char *directive = ASM_LONG; const char *directive = ASM_LONG;
if (TARGET_64BIT)
{
#ifdef ASM_QUAD #ifdef ASM_QUAD
directive = ASM_QUAD; if (TARGET_64BIT)
directive = ASM_QUAD;
#else #else
abort (); gcc_assert (!TARGET_64BIT);
#endif #endif
}
fprintf (file, "%s%s%d\n", directive, LPREFIX, value); fprintf (file, "%s%s%d\n", directive, LPREFIX, value);
} }
...@@ -7694,8 +7669,7 @@ ix86_expand_clear (rtx dest) ...@@ -7694,8 +7669,7 @@ ix86_expand_clear (rtx dest)
rtx tmp; rtx tmp;
/* We play register width games, which are only valid after reload. */ /* We play register width games, which are only valid after reload. */
if (!reload_completed) gcc_assert (reload_completed);
abort ();
/* Avoid HImode and its attendant prefix byte. */ /* Avoid HImode and its attendant prefix byte. */
if (GET_MODE_SIZE (GET_MODE (dest)) < 4) if (GET_MODE_SIZE (GET_MODE (dest)) < 4)
...@@ -8103,8 +8077,7 @@ ix86_expand_binary_operator (enum rtx_code code, enum machine_mode mode, ...@@ -8103,8 +8077,7 @@ ix86_expand_binary_operator (enum rtx_code code, enum machine_mode mode,
{ {
/* Reload doesn't know about the flags register, and doesn't know that /* Reload doesn't know about the flags register, and doesn't know that
it doesn't want to clobber it. We can only do this with PLUS. */ it doesn't want to clobber it. We can only do this with PLUS. */
if (code != PLUS) gcc_assert (code == PLUS);
abort ();
emit_insn (op); emit_insn (op);
} }
else else
...@@ -8192,8 +8165,7 @@ ix86_expand_unary_operator (enum rtx_code code, enum machine_mode mode, ...@@ -8192,8 +8165,7 @@ ix86_expand_unary_operator (enum rtx_code code, enum machine_mode mode,
{ {
/* Reload doesn't know about the flags register, and doesn't know that /* Reload doesn't know about the flags register, and doesn't know that
it doesn't want to clobber it. */ it doesn't want to clobber it. */
if (code != NOT) gcc_assert (code == NOT);
abort ();
emit_insn (op); emit_insn (op);
} }
else else
...@@ -8507,10 +8479,8 @@ ix86_match_ccmode (rtx insn, enum machine_mode req_mode) ...@@ -8507,10 +8479,8 @@ ix86_match_ccmode (rtx insn, enum machine_mode req_mode)
set = PATTERN (insn); set = PATTERN (insn);
if (GET_CODE (set) == PARALLEL) if (GET_CODE (set) == PARALLEL)
set = XVECEXP (set, 0, 0); set = XVECEXP (set, 0, 0);
if (GET_CODE (set) != SET) gcc_assert (GET_CODE (set) == SET);
abort (); gcc_assert (GET_CODE (SET_SRC (set)) == COMPARE);
if (GET_CODE (SET_SRC (set)) != COMPARE)
abort ();
set_mode = GET_MODE (SET_DEST (set)); set_mode = GET_MODE (SET_DEST (set));
switch (set_mode) switch (set_mode)
...@@ -8537,7 +8507,7 @@ ix86_match_ccmode (rtx insn, enum machine_mode req_mode) ...@@ -8537,7 +8507,7 @@ ix86_match_ccmode (rtx insn, enum machine_mode req_mode)
break; break;
default: default:
abort (); gcc_unreachable ();
} }
return (GET_MODE (SET_SRC (set)) == set_mode); return (GET_MODE (SET_SRC (set)) == set_mode);
...@@ -8619,7 +8589,7 @@ ix86_cc_mode (enum rtx_code code, rtx op0, rtx op1) ...@@ -8619,7 +8589,7 @@ ix86_cc_mode (enum rtx_code code, rtx op0, rtx op1)
case USE: case USE:
return CCmode; return CCmode;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -8653,7 +8623,7 @@ ix86_cc_modes_compatible (enum machine_mode m1, enum machine_mode m2) ...@@ -8653,7 +8623,7 @@ ix86_cc_modes_compatible (enum machine_mode m1, enum machine_mode m2)
switch (m1) switch (m1)
{ {
default: default:
abort (); gcc_unreachable ();
case CCmode: case CCmode:
case CCGCmode: case CCGCmode:
...@@ -8863,7 +8833,7 @@ ix86_fp_comparison_codes (enum rtx_code code, enum rtx_code *bypass_code, ...@@ -8863,7 +8833,7 @@ ix86_fp_comparison_codes (enum rtx_code code, enum rtx_code *bypass_code,
*second_code = UNORDERED; *second_code = UNORDERED;
break; break;
default: default:
abort (); gcc_unreachable ();
} }
if (!TARGET_IEEE_FP) if (!TARGET_IEEE_FP)
{ {
...@@ -8905,7 +8875,7 @@ ix86_fp_comparison_arithmetics_cost (enum rtx_code code) ...@@ -8905,7 +8875,7 @@ ix86_fp_comparison_arithmetics_cost (enum rtx_code code)
return 6; return 6;
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -9132,7 +9102,7 @@ ix86_expand_fp_compare (enum rtx_code code, rtx op0, rtx op1, rtx scratch, ...@@ -9132,7 +9102,7 @@ ix86_expand_fp_compare (enum rtx_code code, rtx op0, rtx op1, rtx scratch,
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -9331,7 +9301,7 @@ ix86_expand_branch (enum rtx_code code, rtx label) ...@@ -9331,7 +9301,7 @@ ix86_expand_branch (enum rtx_code code, rtx label)
case NE: code2 = UNKNOWN; break; case NE: code2 = UNKNOWN; break;
default: default:
abort (); gcc_unreachable ();
} }
/* /*
...@@ -9360,7 +9330,7 @@ ix86_expand_branch (enum rtx_code code, rtx label) ...@@ -9360,7 +9330,7 @@ ix86_expand_branch (enum rtx_code code, rtx label)
} }
default: default:
abort (); gcc_unreachable ();
} }
} }
...@@ -9456,8 +9426,7 @@ ix86_expand_setcc (enum rtx_code code, rtx dest) ...@@ -9456,8 +9426,7 @@ ix86_expand_setcc (enum rtx_code code, rtx dest)
&& !TARGET_64BIT) && !TARGET_64BIT)
return 0; /* FAIL */ return 0; /* FAIL */
if (GET_MODE (dest) != QImode) gcc_assert (GET_MODE (dest) == QImode);
abort ();
ret = ix86_expand_compare (code, &second_test, &bypass_test); ret = ix86_expand_compare (code, &second_test, &bypass_test);
PUT_MODE (ret, QImode); PUT_MODE (ret, QImode);
...@@ -9473,8 +9442,7 @@ ix86_expand_setcc (enum rtx_code code, rtx dest) ...@@ -9473,8 +9442,7 @@ ix86_expand_setcc (enum rtx_code code, rtx dest)
rtx tmp2 = gen_reg_rtx (QImode); rtx tmp2 = gen_reg_rtx (QImode);
if (bypass_test) if (bypass_test)
{ {
if (second_test) gcc_assert (!second_test);
abort ();
test = bypass_test; test = bypass_test;
bypass = 1; bypass = 1;
PUT_CODE (test, reverse_condition_maybe_unordered (GET_CODE (test))); PUT_CODE (test, reverse_condition_maybe_unordered (GET_CODE (test)));
...@@ -9622,8 +9590,7 @@ ix86_expand_carry_flag_compare (enum rtx_code code, rtx op0, rtx op1, rtx *pop) ...@@ -9622,8 +9590,7 @@ ix86_expand_carry_flag_compare (enum rtx_code code, rtx op0, rtx op1, rtx *pop)
ix86_compare_op0 = op0; ix86_compare_op0 = op0;
ix86_compare_op1 = op1; ix86_compare_op1 = op1;
*pop = ix86_expand_compare (code, NULL, NULL); *pop = ix86_expand_compare (code, NULL, NULL);
if (GET_CODE (*pop) != LTU && GET_CODE (*pop) != GEU) gcc_assert (GET_CODE (*pop) == LTU || GET_CODE (*pop) == GEU);
abort ();
return true; return true;
} }
...@@ -10373,8 +10340,7 @@ ix86_expand_fp_movcc (rtx operands[]) ...@@ -10373,8 +10340,7 @@ ix86_expand_fp_movcc (rtx operands[])
if (!fcmov_comparison_operator (compare_op, VOIDmode)) if (!fcmov_comparison_operator (compare_op, VOIDmode))
{ {
if (second_test != NULL || bypass_test != NULL) gcc_assert (!second_test && !bypass_test);
abort ();
tmp = gen_reg_rtx (QImode); tmp = gen_reg_rtx (QImode);
ix86_expand_setcc (code, tmp); ix86_expand_setcc (code, tmp);
code = NE; code = NE;
...@@ -10585,7 +10551,7 @@ ix86_expand_int_addcc (rtx operands[]) ...@@ -10585,7 +10551,7 @@ ix86_expand_int_addcc (rtx operands[])
emit_insn (gen_subdi3_carry_rex64 (operands[0], operands[2], val, compare_op)); emit_insn (gen_subdi3_carry_rex64 (operands[0], operands[2], val, compare_op));
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
else else
...@@ -10605,7 +10571,7 @@ ix86_expand_int_addcc (rtx operands[]) ...@@ -10605,7 +10571,7 @@ ix86_expand_int_addcc (rtx operands[])
emit_insn (gen_adddi3_carry_rex64 (operands[0], operands[2], val, compare_op)); emit_insn (gen_adddi3_carry_rex64 (operands[0], operands[2], val, compare_op));
break; break;
default: default:
abort (); gcc_unreachable ();
} }
} }
return 1; /* DONE */ return 1; /* DONE */
...@@ -10627,10 +10593,8 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) ...@@ -10627,10 +10593,8 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode)
else else
size = (GET_MODE_SIZE (mode) + 4) / 8; size = (GET_MODE_SIZE (mode) + 4) / 8;
if (GET_CODE (operand) == REG && MMX_REGNO_P (REGNO (operand))) gcc_assert (GET_CODE (operand) != REG || !MMX_REGNO_P (REGNO (operand)));
abort (); gcc_assert (size >= 2 && size <= 3);
if (size < 2 || size > 3)
abort ();
/* Optimize constant pool reference to immediates. This is used by fp /* Optimize constant pool reference to immediates. This is used by fp
moves, that force all constants to memory to allow combining. */ moves, that force all constants to memory to allow combining. */
...@@ -10644,9 +10608,10 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) ...@@ -10644,9 +10608,10 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode)
if (GET_CODE (operand) == MEM && !offsettable_memref_p (operand)) if (GET_CODE (operand) == MEM && !offsettable_memref_p (operand))
{ {
/* The only non-offsetable memories we handle are pushes. */ /* The only non-offsetable memories we handle are pushes. */
if (! push_operand (operand, VOIDmode)) int ok = push_operand (operand, VOIDmode);
abort ();
gcc_assert (ok);
operand = copy_rtx (operand); operand = copy_rtx (operand);
PUT_MODE (operand, Pmode); PUT_MODE (operand, Pmode);
parts[0] = parts[1] = parts[2] = operand; parts[0] = parts[1] = parts[2] = operand;
...@@ -10669,8 +10634,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) ...@@ -10669,8 +10634,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode)
{ {
if (REG_P (operand)) if (REG_P (operand))
{ {
if (!reload_completed) gcc_assert (reload_completed);
abort ();
parts[0] = gen_rtx_REG (SImode, REGNO (operand) + 0); parts[0] = gen_rtx_REG (SImode, REGNO (operand) + 0);
parts[1] = gen_rtx_REG (SImode, REGNO (operand) + 1); parts[1] = gen_rtx_REG (SImode, REGNO (operand) + 1);
if (size == 3) if (size == 3)
...@@ -10700,13 +10664,13 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) ...@@ -10700,13 +10664,13 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode)
REAL_VALUE_TO_TARGET_DOUBLE (r, l); REAL_VALUE_TO_TARGET_DOUBLE (r, l);
break; break;
default: default:
abort (); gcc_unreachable ();
} }
parts[1] = gen_int_mode (l[1], SImode); parts[1] = gen_int_mode (l[1], SImode);
parts[0] = gen_int_mode (l[0], SImode); parts[0] = gen_int_mode (l[0], SImode);
} }
else else
abort (); gcc_unreachable ();
} }
} }
else else
...@@ -10718,8 +10682,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) ...@@ -10718,8 +10682,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode)
enum machine_mode upper_mode = mode==XFmode ? SImode : DImode; enum machine_mode upper_mode = mode==XFmode ? SImode : DImode;
if (REG_P (operand)) if (REG_P (operand))
{ {
if (!reload_completed) gcc_assert (reload_completed);
abort ();
parts[0] = gen_rtx_REG (DImode, REGNO (operand) + 0); parts[0] = gen_rtx_REG (DImode, REGNO (operand) + 0);
parts[1] = gen_rtx_REG (upper_mode, REGNO (operand) + 1); parts[1] = gen_rtx_REG (upper_mode, REGNO (operand) + 1);
} }
...@@ -10759,7 +10722,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) ...@@ -10759,7 +10722,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode)
parts[1] = immed_double_const (l[2], l[3], DImode); parts[1] = immed_double_const (l[2], l[3], DImode);
} }
else else
abort (); gcc_unreachable ();
} }
} }
...@@ -10807,9 +10770,9 @@ ix86_split_long_move (rtx operands[]) ...@@ -10807,9 +10770,9 @@ ix86_split_long_move (rtx operands[])
/* The only non-offsettable memory we handle is push. */ /* The only non-offsettable memory we handle is push. */
if (push_operand (operands[0], VOIDmode)) if (push_operand (operands[0], VOIDmode))
push = 1; push = 1;
else if (GET_CODE (operands[0]) == MEM else
&& ! offsettable_memref_p (operands[0])) gcc_assert (GET_CODE (operands[0]) != MEM
abort (); || offsettable_memref_p (operands[0]));
nparts = ix86_split_to_parts (operands[1], part[1], GET_MODE (operands[0])); nparts = ix86_split_to_parts (operands[1], part[1], GET_MODE (operands[0]));
ix86_split_to_parts (operands[0], part[0], GET_MODE (operands[0])); ix86_split_to_parts (operands[0], part[0], GET_MODE (operands[0]));
...@@ -10890,12 +10853,20 @@ ix86_split_long_move (rtx operands[]) ...@@ -10890,12 +10853,20 @@ ix86_split_long_move (rtx operands[])
moving of second half of TFmode value. */ moving of second half of TFmode value. */
if (GET_MODE (part[1][1]) == SImode) if (GET_MODE (part[1][1]) == SImode)
{ {
if (GET_CODE (part[1][1]) == MEM) switch (GET_CODE (part[1][1]))
part[1][1] = adjust_address (part[1][1], DImode, 0); {
else if (REG_P (part[1][1])) case MEM:
part[1][1] = gen_rtx_REG (DImode, REGNO (part[1][1])); part[1][1] = adjust_address (part[1][1], DImode, 0);
else break;
abort ();
case REG:
part[1][1] = gen_rtx_REG (DImode, REGNO (part[1][1]));
break;
default:
gcc_unreachable ();
}
if (GET_MODE (part[1][0]) == SImode) if (GET_MODE (part[1][0]) == SImode)
part[1][0] = part[1][1]; part[1][0] = part[1][1];
} }
...@@ -11298,8 +11269,7 @@ ix86_expand_movmem (rtx dst, rtx src, rtx count_exp, rtx align_exp) ...@@ -11298,8 +11269,7 @@ ix86_expand_movmem (rtx dst, rtx src, rtx count_exp, rtx align_exp)
else else
counter_mode = DImode; counter_mode = DImode;
if (counter_mode != SImode && counter_mode != DImode) gcc_assert (counter_mode == SImode || counter_mode == DImode);
abort ();
destreg = copy_to_mode_reg (Pmode, XEXP (dst, 0)); destreg = copy_to_mode_reg (Pmode, XEXP (dst, 0));
if (destreg != XEXP (dst, 0)) if (destreg != XEXP (dst, 0))
...@@ -12083,8 +12053,7 @@ ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1, ...@@ -12083,8 +12053,7 @@ ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1,
if (pop == const0_rtx) if (pop == const0_rtx)
pop = NULL; pop = NULL;
if (TARGET_64BIT && pop) gcc_assert (!TARGET_64BIT || !pop);
abort ();
#if TARGET_MACHO #if TARGET_MACHO
if (flag_pic && GET_CODE (XEXP (fnaddr, 0)) == SYMBOL_REF) if (flag_pic && GET_CODE (XEXP (fnaddr, 0)) == SYMBOL_REF)
...@@ -12161,8 +12130,7 @@ assign_386_stack_local (enum machine_mode mode, int n) ...@@ -12161,8 +12130,7 @@ assign_386_stack_local (enum machine_mode mode, int n)
{ {
struct stack_local_entry *s; struct stack_local_entry *s;
if (n < 0 || n >= MAX_386_STACK_LOCALS) gcc_assert (n >= 0 && n < MAX_386_STACK_LOCALS);
abort ();
for (s = ix86_stack_locals; s; s = s->next) for (s = ix86_stack_locals; s; s = s->next)
if (s->mode == mode && s->n == n) if (s->mode == mode && s->n == n)
...@@ -12206,6 +12174,7 @@ memory_address_length (rtx addr) ...@@ -12206,6 +12174,7 @@ memory_address_length (rtx addr)
struct ix86_address parts; struct ix86_address parts;
rtx base, index, disp; rtx base, index, disp;
int len; int len;
int ok;
if (GET_CODE (addr) == PRE_DEC if (GET_CODE (addr) == PRE_DEC
|| GET_CODE (addr) == POST_INC || GET_CODE (addr) == POST_INC
...@@ -12213,8 +12182,8 @@ memory_address_length (rtx addr) ...@@ -12213,8 +12182,8 @@ memory_address_length (rtx addr)
|| GET_CODE (addr) == POST_MODIFY) || GET_CODE (addr) == POST_MODIFY)
return 0; return 0;
if (! ix86_decompose_address (addr, &parts)) ok = ix86_decompose_address (addr, &parts);
abort (); gcc_assert (ok);
if (parts.base && GET_CODE (parts.base) == SUBREG) if (parts.base && GET_CODE (parts.base) == SUBREG)
parts.base = SUBREG_REG (parts.base); parts.base = SUBREG_REG (parts.base);
...@@ -12285,8 +12254,7 @@ ix86_attr_length_immediate_default (rtx insn, int shortform) ...@@ -12285,8 +12254,7 @@ ix86_attr_length_immediate_default (rtx insn, int shortform)
for (i = recog_data.n_operands - 1; i >= 0; --i) for (i = recog_data.n_operands - 1; i >= 0; --i)
if (CONSTANT_P (recog_data.operand[i])) if (CONSTANT_P (recog_data.operand[i]))
{ {
if (len) gcc_assert (!len);
abort ();
if (shortform if (shortform
&& GET_CODE (recog_data.operand[i]) == CONST_INT && GET_CODE (recog_data.operand[i]) == CONST_INT
&& CONST_OK_FOR_LETTER_P (INTVAL (recog_data.operand[i]), 'K')) && CONST_OK_FOR_LETTER_P (INTVAL (recog_data.operand[i]), 'K'))
...@@ -12324,18 +12292,11 @@ ix86_attr_length_address_default (rtx insn) ...@@ -12324,18 +12292,11 @@ ix86_attr_length_address_default (rtx insn)
if (get_attr_type (insn) == TYPE_LEA) if (get_attr_type (insn) == TYPE_LEA)
{ {
rtx set = PATTERN (insn); rtx set = PATTERN (insn);
if (GET_CODE (set) == SET)
; if (GET_CODE (set) == PARALLEL)
else if (GET_CODE (set) == PARALLEL
&& GET_CODE (XVECEXP (set, 0, 0)) == SET)
set = XVECEXP (set, 0, 0); set = XVECEXP (set, 0, 0);
else
{ gcc_assert (GET_CODE (set) == SET);
#ifdef ENABLE_CHECKING
abort ();
#endif
return 0;
}
return memory_address_length (SET_SRC (set)); return memory_address_length (SET_SRC (set));
} }
...@@ -12430,13 +12391,12 @@ ix86_agi_dependant (rtx insn, rtx dep_insn, enum attr_type insn_type) ...@@ -12430,13 +12391,12 @@ ix86_agi_dependant (rtx insn, rtx dep_insn, enum attr_type insn_type)
&& TARGET_PENTIUM) && TARGET_PENTIUM)
{ {
addr = PATTERN (insn); addr = PATTERN (insn);
if (GET_CODE (addr) == SET)
; if (GET_CODE (addr) == PARALLEL)
else if (GET_CODE (addr) == PARALLEL
&& GET_CODE (XVECEXP (addr, 0, 0)) == SET)
addr = XVECEXP (addr, 0, 0); addr = XVECEXP (addr, 0, 0);
else
abort (); gcc_assert (GET_CODE (addr) == SET);
addr = SET_SRC (addr); addr = SET_SRC (addr);
} }
else else
...@@ -12808,8 +12768,7 @@ x86_initialize_trampoline (rtx tramp, rtx fnaddr, rtx cxt) ...@@ -12808,8 +12768,7 @@ x86_initialize_trampoline (rtx tramp, rtx fnaddr, rtx cxt)
emit_move_insn (gen_rtx_MEM (QImode, plus_constant (tramp, offset+2)), emit_move_insn (gen_rtx_MEM (QImode, plus_constant (tramp, offset+2)),
gen_int_mode (0xe3, QImode)); gen_int_mode (0xe3, QImode));
offset += 3; offset += 3;
if (offset > TRAMPOLINE_SIZE) gcc_assert (offset <= TRAMPOLINE_SIZE);
abort ();
} }
#ifdef ENABLE_EXECUTE_STACK #ifdef ENABLE_EXECUTE_STACK
...@@ -13985,7 +13944,7 @@ ix86_init_mmx_sse_builtins (void) ...@@ -13985,7 +13944,7 @@ ix86_init_mmx_sse_builtins (void)
break; break;
default: default:
abort (); gcc_unreachable ();
} }
/* Override for comparisons. */ /* Override for comparisons. */
...@@ -14313,11 +14272,10 @@ ix86_expand_binop_builtin (enum insn_code icode, tree arglist, rtx target) ...@@ -14313,11 +14272,10 @@ ix86_expand_binop_builtin (enum insn_code icode, tree arglist, rtx target)
op1 = gen_lowpart (TImode, x); op1 = gen_lowpart (TImode, x);
} }
/* In case the insn wants input operands in modes different from /* The insn must want input operands in the same modes as the
the result, abort. */ result. */
if ((GET_MODE (op0) != mode0 && GET_MODE (op0) != VOIDmode) gcc_assert ((GET_MODE (op0) == mode0 || GET_MODE (op0) == VOIDmode)
|| (GET_MODE (op1) != mode1 && GET_MODE (op1) != VOIDmode)) && (GET_MODE (op1) == mode1 || GET_MODE (op1) == VOIDmode));
abort ();
if (!(*insn_data[icode].operand[1].predicate) (op0, mode0)) if (!(*insn_data[icode].operand[1].predicate) (op0, mode0))
op0 = copy_to_mode_reg (mode0, op0); op0 = copy_to_mode_reg (mode0, op0);
...@@ -15111,8 +15069,8 @@ rtx ...@@ -15111,8 +15069,8 @@ rtx
ix86_force_to_memory (enum machine_mode mode, rtx operand) ix86_force_to_memory (enum machine_mode mode, rtx operand)
{ {
rtx result; rtx result;
if (!reload_completed)
abort (); gcc_assert (reload_completed);
if (TARGET_RED_ZONE) if (TARGET_RED_ZONE)
{ {
result = gen_rtx_MEM (mode, result = gen_rtx_MEM (mode,
...@@ -15138,7 +15096,7 @@ ix86_force_to_memory (enum machine_mode mode, rtx operand) ...@@ -15138,7 +15096,7 @@ ix86_force_to_memory (enum machine_mode mode, rtx operand)
operand)); operand));
break; break;
default: default:
abort (); gcc_unreachable ();
} }
result = gen_rtx_MEM (mode, stack_pointer_rtx); result = gen_rtx_MEM (mode, stack_pointer_rtx);
} }
...@@ -15178,7 +15136,7 @@ ix86_force_to_memory (enum machine_mode mode, rtx operand) ...@@ -15178,7 +15136,7 @@ ix86_force_to_memory (enum machine_mode mode, rtx operand)
operand)); operand));
break; break;
default: default:
abort (); gcc_unreachable ();
} }
result = gen_rtx_MEM (mode, stack_pointer_rtx); result = gen_rtx_MEM (mode, stack_pointer_rtx);
} }
...@@ -15298,8 +15256,7 @@ ix86_secondary_memory_needed (enum reg_class class1, enum reg_class class2, ...@@ -15298,8 +15256,7 @@ ix86_secondary_memory_needed (enum reg_class class1, enum reg_class class2,
|| MAYBE_MMX_CLASS_P (class1) != MMX_CLASS_P (class1) || MAYBE_MMX_CLASS_P (class1) != MMX_CLASS_P (class1)
|| MAYBE_MMX_CLASS_P (class2) != MMX_CLASS_P (class2)) || MAYBE_MMX_CLASS_P (class2) != MMX_CLASS_P (class2))
{ {
if (strict) gcc_assert (!strict);
abort ();
return true; return true;
} }
...@@ -16419,8 +16376,7 @@ ix86_avoid_jump_misspredicts (void) ...@@ -16419,8 +16376,7 @@ ix86_avoid_jump_misspredicts (void)
isjump = 0; isjump = 0;
nbytes -= min_insn_size (start); nbytes -= min_insn_size (start);
} }
if (njumps < 0) gcc_assert (njumps >= 0);
abort ();
if (dump_file) if (dump_file)
fprintf (dump_file, "Interval %i to %i has %i bytes\n", fprintf (dump_file, "Interval %i to %i has %i bytes\n",
INSN_UID (start), INSN_UID (insn), nbytes); INSN_UID (start), INSN_UID (insn), nbytes);
...@@ -16545,9 +16501,7 @@ x86_emit_floatuns (rtx operands[2]) ...@@ -16545,9 +16501,7 @@ x86_emit_floatuns (rtx operands[2])
enum machine_mode mode, inmode; enum machine_mode mode, inmode;
inmode = GET_MODE (operands[1]); inmode = GET_MODE (operands[1]);
if (inmode != SImode gcc_assert (inmode == SImode || inmode == DImode);
&& inmode != DImode)
abort ();
out = operands[0]; out = operands[0];
in = force_reg (inmode, operands[1]); in = force_reg (inmode, operands[1]);
......
...@@ -150,7 +150,7 @@ gen_regparm_prefix (tree decl, unsigned nregs) ...@@ -150,7 +150,7 @@ gen_regparm_prefix (tree decl, unsigned nregs)
if (nregs > total / BITS_PER_WORD) if (nregs > total / BITS_PER_WORD)
nregs = total / BITS_PER_WORD; nregs = total / BITS_PER_WORD;
if (nregs > 9) abort(); gcc_assert (nregs <= 9);
newsym = alloca (2 + strlen (asmname) + 1 + 1); newsym = alloca (2 + strlen (asmname) + 1 + 1);
return IDENTIFIER_POINTER (get_identifier_with_length (newsym, return IDENTIFIER_POINTER (get_identifier_with_length (newsym,
sprintf (newsym, "_%u@%s", nregs, asmname))); sprintf (newsym, "_%u@%s", nregs, asmname)));
...@@ -201,8 +201,12 @@ i386_nlm_strip_name_encoding (const char *str) ...@@ -201,8 +201,12 @@ i386_nlm_strip_name_encoding (const char *str)
++name; ++name;
if (ISDIGIT (p[1])) if (ISDIGIT (p[1]))
name = ggc_alloc_string (name, p - name); name = ggc_alloc_string (name, p - name);
else if (!ISDIGIT (*name) || ++name != p) else
abort(); {
gcc_assert (ISDIGIT (*name));
name++;
gcc_assert (name == p);
}
} }
} }
return name; return name;
......
...@@ -273,13 +273,10 @@ i386_pe_mark_dllexport (tree decl) ...@@ -273,13 +273,10 @@ i386_pe_mark_dllexport (tree decl)
tree idp; tree idp;
rtlname = XEXP (DECL_RTL (decl), 0); rtlname = XEXP (DECL_RTL (decl), 0);
if (GET_CODE (rtlname) == SYMBOL_REF) if (GET_CODE (rtlname) == MEM)
oldname = XSTR (rtlname, 0); rtlname = XEXP (rtlname, 0);
else if (GET_CODE (rtlname) == MEM gcc_assert (GET_CODE (rtlname) == SYMBOL_REF);
&& GET_CODE (XEXP (rtlname, 0)) == SYMBOL_REF) oldname = XSTR (rtlname, 0);
oldname = XSTR (XEXP (rtlname, 0), 0);
else
abort ();
if (i386_pe_dllimport_name_p (oldname)) if (i386_pe_dllimport_name_p (oldname))
{ {
warning ("%Jinconsistent dll linkage for '%D', dllexport assumed.", warning ("%Jinconsistent dll linkage for '%D', dllexport assumed.",
...@@ -317,13 +314,10 @@ i386_pe_mark_dllimport (tree decl) ...@@ -317,13 +314,10 @@ i386_pe_mark_dllimport (tree decl)
rtx symref; rtx symref;
rtlname = XEXP (DECL_RTL (decl), 0); rtlname = XEXP (DECL_RTL (decl), 0);
if (GET_CODE (rtlname) == SYMBOL_REF) if (GET_CODE (rtlname) == MEM)
oldname = XSTR (rtlname, 0); rtlname = XEXP (rtlname, 0);
else if (GET_CODE (rtlname) == MEM gcc_assert (GET_CODE (rtlname) == SYMBOL_REF);
&& GET_CODE (XEXP (rtlname, 0)) == SYMBOL_REF) oldname = XSTR (rtlname, 0);
oldname = XSTR (XEXP (rtlname, 0), 0);
else
abort ();
if (i386_pe_dllexport_name_p (oldname)) if (i386_pe_dllexport_name_p (oldname))
{ {
error ("%qs declared as both exported to and imported from a DLL", error ("%qs declared as both exported to and imported from a DLL",
...@@ -332,14 +326,9 @@ i386_pe_mark_dllimport (tree decl) ...@@ -332,14 +326,9 @@ i386_pe_mark_dllimport (tree decl)
} }
else if (i386_pe_dllimport_name_p (oldname)) else if (i386_pe_dllimport_name_p (oldname))
{ {
/* Already done, but do a sanity check to prevent assembler errors. */ /* Already done, but do a sanity check to prevent assembler
if (!DECL_EXTERNAL (decl) || !TREE_PUBLIC (decl)) errors. */
{ gcc_assert (DECL_EXTERNAL (decl) && TREE_PUBLIC (decl));
error ("%Jfailure in redeclaration of '%D': dllimport'd "
"symbol lacks external linkage.", decl, decl);
abort();
}
return;
} }
newname = alloca (strlen (DLL_IMPORT_PREFIX) + strlen (oldname) + 1); newname = alloca (strlen (DLL_IMPORT_PREFIX) + strlen (oldname) + 1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment