[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