diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2011-06-27 11:07:55 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2011-06-27 11:07:55 +0000 |
commit | 157b930011390a269e71c22d51d511f91a03e6e5 (patch) | |
tree | 71a4d69aabfa06738121d0327a6ca358210af261 /gcc | |
parent | a034d4bcdbb6c4023f6048390a73eef594ee7739 (diff) | |
download | gcc-157b930011390a269e71c22d51d511f91a03e6e5.zip gcc-157b930011390a269e71c22d51d511f91a03e6e5.tar.gz gcc-157b930011390a269e71c22d51d511f91a03e6e5.tar.bz2 |
sparc.c (sparc_frame_pointer_required): Return true if the function receives nonlocal gotos.
* config/sparc/sparc.c (sparc_frame_pointer_required): Return true if
the function receives nonlocal gotos.
From-SVN: r175477
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6e12f1..ba26774 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-06-27 Eric Botcazou <ebotcazou@adacore.com> + + * config/sparc/sparc.c (sparc_frame_pointer_required): Return true if + the function receives nonlocal gotos. + 2011-06-27 Richard Guenther <rguenther@suse.de> PR tree-optimization/49536 diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index c5f159a..89e09d6 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -10153,6 +10153,11 @@ sparc_frame_pointer_required (void) if (cfun->calls_alloca) return true; + /* If the function receives nonlocal gotos, it needs to save the frame + pointer in the nonlocal_goto_save_area object. */ + if (cfun->has_nonlocal_label) + return true; + /* In flat mode, that's it. */ if (TARGET_FLAT) return false; |