diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-03-18 21:17:32 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-03-18 21:17:32 +0100 |
commit | f0c12fcc59639584a72ac2ce06d4011ddd2d0c12 (patch) | |
tree | 266bd8a90e21ed18458f7d4191a5b05f0322be73 /gcc | |
parent | e999b0c986e49756090018ec7187f2b8b21985c7 (diff) | |
download | gcc-f0c12fcc59639584a72ac2ce06d4011ddd2d0c12.zip gcc-f0c12fcc59639584a72ac2ce06d4011ddd2d0c12.tar.gz gcc-f0c12fcc59639584a72ac2ce06d4011ddd2d0c12.tar.bz2 |
re PR bootstrap/43403 (ICE in stage1 compiling __bswapdi2)
PR bootstrap/43403
* var-tracking.c (vt_init_cfa_base): Do nothing if
cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed
register.
From-SVN: r157549
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/var-tracking.c | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3e74d3f..a86970c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-03-18 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/43403 + * var-tracking.c (vt_init_cfa_base): Do nothing if + cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed + register. + 2010-03-18 Alexandre Oliva <aoliva@redhat.com> PR debug/42873 diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 12286ec..b95b49b 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -8004,6 +8004,12 @@ vt_init_cfa_base (void) #else cfa_base_rtx = arg_pointer_rtx; #endif + if (cfa_base_rtx == hard_frame_pointer_rtx + || !fixed_regs[REGNO (cfa_base_rtx)]) + { + cfa_base_rtx = NULL_RTX; + return; + } if (!MAY_HAVE_DEBUG_INSNS) return; |