aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Earnshaw <erich@gnu.org>1994-07-13 01:06:31 +0000
committerRichard Earnshaw <erich@gnu.org>1994-07-13 01:06:31 +0000
commit688743e7945c33a9060912f99f1fb14a523dc38d (patch)
treec6f5677198989f11963fa55f9d2b8ffcf8fc6799 /gcc
parenta08e749380f790c425ee7e6615bff03be4b0a780 (diff)
downloadgcc-688743e7945c33a9060912f99f1fb14a523dc38d.zip
gcc-688743e7945c33a9060912f99f1fb14a523dc38d.tar.gz
gcc-688743e7945c33a9060912f99f1fb14a523dc38d.tar.bz2
(FRAME_POINTER_REQUIRED): Always true if the function has a nonlocal
label. From-SVN: r7753
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/arm/arm.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index be6823c..66be295 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -409,7 +409,8 @@ extern enum floating_point_type arm_fpu;
If we have to have a frame pointer we might as well make use of it.
APCS says that the frame pointer does not need to be pushed in leaf
functions. */
-#define FRAME_POINTER_REQUIRED (TARGET_APCS && !leaf_function_p ())
+#define FRAME_POINTER_REQUIRED \
+ (current_function_has_nonlocal_label || (TARGET_APCS && !leaf_function_p ()))
/* Base register for access to arguments of the function. */
#define ARG_POINTER_REGNUM 26