[Bug debug/87451] FAIL: gcc.dg/debug/dwarf2/inline5.c

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 30 10:36:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87451

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Steve Ellcey from comment #9)
> Created attachment 45559 [details]
> Assembly output from aarch64-linux-gnu
> 
> This test is still failing on aarch64.  Attached is the .s file from a
> top-of-tree GCC build on aarch64-linux-gnu.

Looks like that's because of different expected comment characters,
# vs. // in your file.  The pattern for the comment stuff is

\[^#/!\]*\[#/!\] DW

skip until first comment-char (ok), then consume comment (bogus).  Adding
+ might help.  Can you check that?

Index: gcc/testsuite/gcc.dg/debug/dwarf2/inline5.c
===================================================================
--- gcc/testsuite/gcc.dg/debug/dwarf2/inline5.c (revision 268383)
+++ gcc/testsuite/gcc.dg/debug/dwarf2/inline5.c (working copy)
@@ -4,13 +4,13 @@
 /* { dg-options "-O -gdwarf -dA" } */
 /* { dg-do compile } */
 /* { dg-final { scan-assembler-times "DW_TAG_inlined_subroutine" 2 } } */
-/* { dg-final { scan-assembler-times "DW_TAG_lexical_block\\)\[^#/!\]*\[#/!\]
DW_AT_abstract_origin" 2 } } */
-/* { dg-final { scan-assembler-times "DW_TAG_lexical_block\\)\[^#/!\]*\[#/!\]
\\(DIE \\(0x\[0-9a-f\]*\\) DW_TAG_variable" 1 } } */
+/* { dg-final { scan-assembler-times "DW_TAG_lexical_block\\)\[^#/!\]*\[#/!\]+
DW_AT_abstract_origin" 2 } } */
+/* { dg-final { scan-assembler-times "DW_TAG_lexical_block\\)\[^#/!\]*\[#/!\]+
\\(DIE \\(0x\[0-9a-f\]*\\) DW_TAG_variable" 1 } } */
 /* We do not know which is output first so look for both invalid abstract
    origins on the lexical blocks (knowing that the abstract instance has
    no attribute following the DW_TAG_lexical_block.  */
-/* { dg-final { scan-assembler-not "\\(DIE \\(0x(\[0-9a-f\]*)\\)
DW_TAG_lexical_block\\)\[^#/!\]*\[#/!\]
\[^(\].*DW_TAG_lexical_block\\)\[^#/!x\]*x\\1\[^#/!\]*\[#/!\]
DW_AT_abstract_origin" } } */
-/* { dg-final { scan-assembler-not
"DW_TAG_lexical_block\\)\[^#/!x\]*x(\[0-9a-f\]*)\[^#/!\]*\[#/!\]
DW_AT_abstract_origin.*\\(DIE \\(0x\\1\\)
DW_TAG_lexical_block\\)\[^#/!\]*\[#/!\] DW_AT" } } */
+/* { dg-final { scan-assembler-not "\\(DIE \\(0x(\[0-9a-f\]*)\\)
DW_TAG_lexical_block\\)\[^#/!\]*\[#/!\]+
\[^(\].*DW_TAG_lexical_block\\)\[^#/!x\]*x\\1\[^#/!\]*\[#/!\]
DW_AT_abstract_origin" } } */
+/* { dg-final { scan-assembler-not
"DW_TAG_lexical_block\\)\[^#/!x\]*x(\[0-9a-f\]*)\[^#/!\]*\[#/!\]+
DW_AT_abstract_origin.*\\(DIE \\(0x\\1\\)
DW_TAG_lexical_block\\)\[^#/!\]*\[#/!\]+ DW_AT" } } */

 int foo (int i)
 {


More information about the Gcc-bugs mailing list