From 5ae6cd0d1b33941dc142292062ff565cd99e4504 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Thu, 18 Sep 2003 20:43:13 +0000 Subject: re PR target/11184 ([ia64 hpux] ICE on __builtin_apply building libobjc) PR target/11184 * builtins.c (expand_builtin_apply): Use convert_memory_address before returning the value. * alias.c (find_base_value): Simplify use of convert_memory_address. (find_base_term): Likewise. * builtins.c (expand_builtin_stejmp_setup): Likewise. (expand_builtin_longjmp): Likewise. (expand_builtin_prefetch): Likewise. (get_memory_rtx): Likewise. (expand_builtin_return): Likewise. (expand_builtin_memcpy): Likewise. (expand_builtin_strncpy): Likewise. (expand_builtin_memset): Likewise. (expand_builtin_va_arg): Likewise. (expand_builtin_va_copy): Likewise. (expand_builtin_alloca): Likewise. * calls.c (expand_call): Likewise. * except.c (expand_builtin_extract_return_addr): Likewise. (expand_builtin_eh_return): Likewise. * explow.c (convert_memory_address): Define even when POINTER_EXTEND_UNSIGNED is not defined. Do nothing if the address is already in the right mode. * explow.c (memory_address): Simplify use of convert_memory_address. (probe_stack_range): Likewise. * expmed.c (make_tree): Likewise. * expr.c (emit_block_move_in_libcall): Likewise. (expand_assignment): Likewise. (expand_expr): Likewise. * function.c (assign_parms): Likewise. (expand_function_end): Likewise. * integrate.c (copy_rtx_and_substitute): Likewise. * stmt.c (expand_computed_goto): Likewise. PR target/11184 * gcc.dg/builtin-apply1.c: New test. From-SVN: r71539 --- gcc/function.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'gcc/function.c') diff --git a/gcc/function.c b/gcc/function.c index 29c8422..344e31b 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5182,11 +5182,7 @@ assign_parms (tree fndecl) rtx addr = DECL_RTL (function_result_decl); rtx x; -#ifdef POINTERS_EXTEND_UNSIGNED - if (GET_MODE (addr) != Pmode) - addr = convert_memory_address (Pmode, addr); -#endif - + addr = convert_memory_address (Pmode, addr); x = gen_rtx_MEM (DECL_MODE (result), addr); set_mem_attributes (x, result, 1); SET_DECL_RTL (result, x); @@ -7069,12 +7065,9 @@ expand_function_end (void) assignment and USE below when inlining this function. */ REG_FUNCTION_VALUE_P (outgoing) = 1; -#ifdef POINTERS_EXTEND_UNSIGNED /* The address may be ptr_mode and OUTGOING may be Pmode. */ - if (GET_MODE (outgoing) != GET_MODE (value_address)) - value_address = convert_memory_address (GET_MODE (outgoing), - value_address); -#endif + value_address = convert_memory_address (GET_MODE (outgoing), + value_address); emit_move_insn (outgoing, value_address); -- cgit v1.1