On 02/08/2013 10:55 AM, Jakub Jelinek wrote:
On Fri, Feb 08, 2013 at 09:54:19AM -0700, Jeff Law wrote:
        PR debug/53948
        * emit-rtl.c (reg_is_parm_p): New function.
        * regs.h (reg_is_parm_p): New prototype.
        * ira-conflicts.c (ira_build_conflicts): Allow parameters in
        callee-clobbered registers.

This looks good to me.

        * gcc.dg/debug/dwarf2/pr53948.c: New test.

But the testcase is problematic.

--- /dev/null
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/pr53948.c
@@ -0,0 +1,10 @@
+/* Test that we emit a .line directive for the line
+   with local variable initializations.  */
+/* { dg-options "-O0 -g" } */
+/* { dg-final { scan-assembler ".loc 1 8 0" } } */

It will fail on any target which doesn't support .loc
directives.
I'd say better would be to scan the -fdump-rtl-final
for pr53948.c:8 regex.
How about this:


/* Test that we have line information for the line
   with local variable initializations.  */
/* { dg-options "-O0 -g -fdump-rtl-final" } */
/* { dg-final { scan-rtl-dump "pr53948.c:7" "final" } } */

int f (register int a, register int b) {
  register int x = b, y = a;
  return x + y; }

Jeff

Reply via email to