]> 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>
Tue, 3 May 2011 16:35:56 +0000 (18:35 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 3 May 2011 16:35:56 +0000 (18:35 +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: r173327

gcc/ChangeLog
gcc/final.c

index 1e4307dc13d37ea8113b0bf74b83a2c3d7089f33..1c1cbaad7b169c266d07c87f2891950926e381eb 100644 (file)
@@ -1,6 +1,12 @@
 2011-05-03  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-27  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/48742
index e2b7461bbbea18a3f3a66b460381ff753c43d0e1..a6d41b79f77236854fd4774729b64c5af70591f4 100644 (file)
@@ -2241,6 +2241,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;