From 43abdfb928ceb1c4dcf803bd1bb7978190e82193 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 4 May 2011 11:14:00 +0200 Subject: [PATCH] backport: re PR middle-end/48597 (x86-64 unwind register save location misses half-register write?) Backport from mainline 2011-04-28 Jakub Jelinek PR middle-end/48597 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for inline asm. From-SVN: r173357 --- gcc/ChangeLog | 9 +++++++++ gcc/final.c | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e5a3592da2f..c01db15a6d98 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2011-05-04 Jakub Jelinek + + Backport from mainline + 2011-04-28 Jakub Jelinek + + PR middle-end/48597 + * final.c (final_scan_insn): Call dwarf2out_frame_debug even for + inline asm. + 2011-04-24 John David Anglin PR target/48288 diff --git a/gcc/final.c b/gcc/final.c index 1735a73207dc..c4812eac0901 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -2207,6 +2207,11 @@ final_scan_insn (rtx insn, FILE *file, int optimize 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; -- 2.47.2