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" } }