This file is indexed.

/usr/src/gcc-4.7/debian/patches/pr61801.diff is in gcc-4.7-source 4.7.4-3ubuntu12.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# DP: Fix PR rtl-optimization/61801.

gcc/

2014-07-17  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/61801
	* sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
	ASM_INPUT don't set reg_pending_barrier if it appears in a
	debug-insn.

gcc/testsuite/
2014-07-28  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/61801
	* gcc.target/i386/pr61801.c: Fix testcase.

2014-07-28  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/61801
	* gcc.target/i386/pr61801.c: New testcase.

--- a/src/gcc/sched-deps.c
+++ a/src/gcc/sched-deps.c
@@ -2744,7 +2744,8 @@
 	   Consider for instance a volatile asm that changes the fpu rounding
 	   mode.  An insn should not be moved across this even if it only uses
 	   pseudo-regs because it might give an incorrectly rounded result.  */
-	if (code != ASM_OPERANDS || MEM_VOLATILE_P (x))
+	if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x))
+	    && !DEBUG_INSN_P (insn))
 	  reg_pending_barrier = TRUE_BARRIER;
 
 	/* For all ASM_OPERANDS, we must traverse the vector of input operands.
--- a/src/gcc/testsuite/gcc.target/i386/pr61801.c
+++ b/src/gcc/testsuite/gcc.target/i386/pr61801.c
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+/* { dg-options "-Os -fcompare-debug" } */
+
+int a, b, c;
+void fn1 ()
+{
+  int d;
+  if (fn2 () && !0)
+    {
+      b = (
+	   {
+	   int e;
+	   fn3 ();
+	   switch (0)
+	   default:
+	   asm volatile("" : "=a"(e) : "0"(a), "i"(0));
+	   e;
+	   });
+      d = b;
+    }
+  c = d;
+}