From 3590147160cf77ac2afb72e80fd68d6ac0c3977b Mon Sep 17 00:00:00 2001 From: steven Date: Tue, 13 Jan 2004 01:58:45 +0000 Subject: PR c++/13376 * function.h (struct function): Kill `name' field. (current_function_name): Make it an extern function. * function.c (current_function_name): New function. * graph.c: Update all uses of current_function_name. * gcse.c: Likewise. * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c, config/mips/mips.c, config/pdp11/pdp11.c: Likewise. * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P instead of a strcmp with "main". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75784 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/c4x/c4x.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'gcc/config/c4x/c4x.c') diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c index 9eaa87194d2..28e13359f94 100644 --- a/gcc/config/c4x/c4x.c +++ b/gcc/config/c4x/c4x.c @@ -791,18 +791,20 @@ c4x_naked_function_p (void) int c4x_interrupt_function_p (void) { + const char *cfun_name; if (lookup_attribute ("interrupt", TYPE_ATTRIBUTES (TREE_TYPE (current_function_decl)))) return 1; /* Look for TI style c_intnn. */ - return current_function_name[0] == 'c' - && current_function_name[1] == '_' - && current_function_name[2] == 'i' - && current_function_name[3] == 'n' - && current_function_name[4] == 't' - && ISDIGIT (current_function_name[5]) - && ISDIGIT (current_function_name[6]); + cfun_name = current_function_name (); + return cfun_name[0] == 'c' + && cfun_name[1] == '_' + && cfun_name[2] == 'i' + && cfun_name[3] == 'n' + && cfun_name[4] == 't' + && ISDIGIT (cfun_name[5]) + && ISDIGIT (cfun_name[6]); } void @@ -846,7 +848,7 @@ c4x_expand_prologue (void) storage! */ if (size > 32767) error ("ISR %s requires %d words of local vars, max is 32767", - current_function_name, size); + current_function_name (), size); insn = emit_insn (gen_addqi3 (gen_rtx_REG (QImode, SP_REGNO), gen_rtx_REG (QImode, SP_REGNO), -- cgit v1.2.1