]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR middle-end/48597 (x86-64 unwind register save location misses half...
authorJakub Jelinek <jakub@redhat.com>
Wed, 4 May 2011 09:14:00 +0000 (11:14 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 4 May 2011 09:14:00 +0000 (11:14 +0200)
Backport from mainline
2011-04-28  Jakub Jelinek  <jakub@redhat.com>

PR middle-end/48597
* final.c (final_scan_insn): Call dwarf2out_frame_debug even for
inline asm.

From-SVN: r173357

gcc/ChangeLog
gcc/final.c

index 2e5a3592da2fdf1e5b5dcb037c358dc07ec31ed6..c01db15a6d981b6ce0a5ffa6d2cf1336b5a79044 100644 (file)
@@ -1,3 +1,12 @@
+2011-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       Backport from mainline
+       2011-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48597
+       * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
+       inline asm.
+
 2011-04-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        PR target/48288
index 1735a73207dcb53241a1fe96c4adfb181dd230f8..c4812eac0901a58b53a0502e87988f2b738b3a8d 100644 (file)
@@ -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;