diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f')
-rw-r--r-- | gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f b/gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f new file mode 100644 index 000000000..40c13a4a1 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f @@ -0,0 +1,38 @@ +C Test program for common block debugging. G. Helffrich 11 July 2004. +C { dg-do compile } +C { dg-skip-if "DWARF-2 only" { "*-*-*" } { "*" } { "-gdwarf-2" } } +C { dg-skip-if "DWARF-2 only" { "*-*-*" } { "-g1" } { "" } } +C { dg-options "-dA -gno-strict-dwarf" } + common i,j + common /label/l,m + i = 1 + j = 2 + k = 3 + l = 4 + m = 5 + call sub + end + subroutine sub + common /label/l,m + logical first + save n + data first /.true./ + if (first) then + n = 0 + first = .false. + endif + n = n + 1 + l = l + 1 + return + end + +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" } } |