aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-04-28 19:01:02 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-04-28 19:01:02 +0200
commitc6fc44f364be516ab4c2043de5d8999c961a279d (patch)
tree7c29e601b93e81b20af265c470141b7c3b88ddd3 /gcc/final.c
parent6c0170eaf1ccd0a29f2f2b95320155716743af88 (diff)
downloadgcc-c6fc44f364be516ab4c2043de5d8999c961a279d.zip
gcc-c6fc44f364be516ab4c2043de5d8999c961a279d.tar.gz
gcc-c6fc44f364be516ab4c2043de5d8999c961a279d.tar.bz2
re PR middle-end/48597 (x86-64 unwind register save location misses half-register write?)
PR middle-end/48597 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for inline asm. From-SVN: r173120
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/final.c b/gcc/final.c
index df5d7d5..7e1ae90 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -2313,6 +2313,11 @@ final_scan_insn (rtx insn, FILE *file, int optimize_p ATTRIBUTE_UNUSED,
location_t loc;
expanded_location expanded;
+ /* Make sure we flush any queued register saves in case this
+ clobbers affected registers. */
+ if (dwarf2out_do_frame ())
+ dwarf2out_frame_debug (insn, false);
+
/* There's no telling what that did to the condition codes. */
CC_STATUS_INIT;