This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix up scan-assembler regexps in pr35154-dwarf2.f (PR debug/37322)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 2 Sep 2008 14:56:20 -0400
- Subject: [PATCH] Fix up scan-assembler regexps in pr35154-dwarf2.f (PR debug/37322)
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
There is a bunch of issues with the dg-final lines in this test,
unnecessary ()s, .* use when we really don't want to match newlines
in between and additionally assumption that __BLNK__ and label DW_AT_name
will always use .debug_str, which apparently is not the case on darwin
at -O0. The regexp below matches both an indirect and inline string
in this case.
Regtested on x86_64-linux, ok for trunk?
2008-09-02 Jakub Jelinek <jakub@redhat.com>
PR debug/37322
* gfortran.dg/debug/pr35154-dwarf2.f: Fix up scan-assembler regexps.
--- gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f.jj 2008-08-29 20:45:09.000000000 +0200
+++ gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f 2008-09-02 16:57:05.000000000 +0200
@@ -25,13 +25,13 @@ C { dg-options "-dA" }
return
end
-C { dg-final { scan-assembler "(DIE.*DW_TAG_common_block)" } }
-C { dg-final { scan-assembler "DW_AT_name: \"__BLNK__\"" } }
-C { dg-final { scan-assembler "(DIE.*DW_TAG_variable)" } }
-C { dg-final { scan-assembler "\"i.*\".*DW_AT_name" } }
-C { dg-final { scan-assembler "\"j.*\".*DW_AT_name" } }
-C { dg-final { scan-assembler "(DIE.*DW_TAG_common_block)" } }
-C { dg-final { scan-assembler "DW_AT_name: \"label\"" } }
-C { dg-final { scan-assembler "(DIE.*DW_TAG_variable)" } }
-C { dg-final { scan-assembler "\"l.*\".*DW_AT_name" } }
-C { dg-final { scan-assembler "\"m.*\".*DW_AT_name" } }
+C { dg-final { scan-assembler "DIE\[^\n\]*DW_TAG_common_block" } }
+C { dg-final { scan-assembler "(DW_AT_name: \"__BLNK__\"|\"__BLNK__\[^\n\]*\"\[^\n\]*DW_AT_name)" } }
+C { dg-final { scan-assembler "DIE\[^\n\]*DW_TAG_variable" } }
+C { dg-final { scan-assembler "\"i\[^\n\]*\"\[^\n\]*DW_AT_name" } }
+C { dg-final { scan-assembler "\"j\[^\n\]*\"\[^\n\]*DW_AT_name" } }
+C { dg-final { scan-assembler "DIE\[^\n\]*DW_TAG_common_block" } }
+C { dg-final { scan-assembler "(DW_AT_name: \"label\"|\"label\[^\n\]*\"\[^\n\]*DW_AT_name)" } }
+C { dg-final { scan-assembler "DIE\[^\n\]*DW_TAG_variable" } }
+C { dg-final { scan-assembler "\"l\[^\n\]*\"\[^\n\]*DW_AT_name" } }
+C { dg-final { scan-assembler "\"m\[^\n\]*\"\[^\n\]*DW_AT_name" } }
Jakub