This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug testsuite/51941] New: FAIL: g++.dg/debug/dwarf2/nested-3.C scan-assembler
- From: "dominiq at lps dot ens.fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 22 Jan 2012 11:39:42 +0000
- Subject: [Bug testsuite/51941] New: FAIL: g++.dg/debug/dwarf2/nested-3.C scan-assembler
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51941
Bug #: 51941
Summary: FAIL: g++.dg/debug/dwarf2/nested-3.C scan-assembler
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: testsuite
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: dominiq@lps.ens.fr
CC: ccoutant@google.com, dodji@gcc.gnu.org,
iains@gcc.gnu.org, jakub@redhat.com
Host: x86_64-apple-darwin10
Target: x86_64-apple-darwin10
Build: x86_64-apple-darwin10
The test g++.dg/debug/dwarf2/nested-3.C fails on x86_64-apple-darwin10
FAIL: g++.dg/debug/dwarf2/nested-3.C scan-assembler [^\\n\\r]*\\\\(DIE
\\\\(0x([0-9a-f]+)\\\\)
DW_TAG_namespace\\\\)[\\n\\r]+[^\\n\\r]*"thread[^\\n\\r]+[\\n\\r]+([^\\n\\r]*[\\n\\r]+)+[^\\n\\r]*\\\\(DIE
\\\\(0x([0-9a-f]+)\\\\)
DW_TAG_class_type\\\\)[\\n\\r]+[^\\n\\r]*"Executor[^\\n\\r]+[\\n\\r]+[^\\n\\r]*DW_AT_declaration[\\n\\r]+[^\\n\\r]*\\\\(DIE[^\\n\\r]*DW_TAG_subprogram\\\\)[\\n\\r]+([^\\n\\r]*[\\n\\r]+)+[^\\n\\r]*"CurrentExecutor[^\\n\\r]+[\\n\\r]+([^\\n\\r]*[\\n\\r]+)+([^\\n\\r]*[\\n\\r]+)+[^\\n\\r]*end
of children of DIE 0x\\\\3[\\n\\r]+[^\\n\\r]*end of children of DIE
0x\\\\1[\\n\\r]+
FAIL: g++.dg/debug/dwarf2/nested-3.C scan-assembler [^\\n\\r]*\\\\(DIE
\\\\(0x([0-9a-f]+)\\\\)
DW_TAG_namespace\\\\)[\\n\\r]+[^\\n\\r]*"thread[^\\n\\r]+[\\n\\r]+([^\\n\\r]*[\\n\\r]+)+[^\\n\\r]*\\\\(DIE
\\\\(0x([0-9a-f]+)\\\\)
DW_TAG_class_type\\\\)[\\n\\r]+[^\\n\\r]*"Executor[^\\n\\r]+[\\n\\r]+[^\\n\\r]*DW_AT_declaration[\\n\\r]+[^\\n\\r]*\\\\(DIE[^\\n\\r]*DW_TAG_subprogram\\\\)[\\n\\r]+([^\\n\\r]*[\\n\\r]+)+[^\\n\\r]*"CurrentExecutor[^\\n\\r]+[\\n\\r]+([^\\n\\r]*[\\n\\r]+)+([^\\n\\r]*[\\n\\r]+)+[^\\n\\r]*end
of children of DIE 0x\\\\3[\\n\\r]+[^\\n\\r]*end of children of DIE
0x\\\\1[\\n\\r]+
IIUC the regexp, it tries to match the following part of the assembler
Letext0:
.section .gnu.linkonce.wt.a547508193f2f296
.long 0x57 # Length of Compilation Unit Info
.word 0x4 # DWARF version number
.set L$set$24,Ldebug_abbrev0-Lsection__debug_abbrev
.long L$set$24 # Offset Into Abbrev. Section
.byte 0x8 # Pointer Size (in bytes)
.byte 0xa5 # Type Signature
.byte 0x47
.byte 0x50
.byte 0x81
.byte 0x93
.byte 0xf2
.byte 0xf2
.byte 0x96
.long 0x37 # Offset to Type DIE
.byte 0x1 # uleb128 0x1; (DIE (0x17) DW_TAG_type_unit)
.byte 0x4 # DW_AT_language
.byte 0xdf # DW_AT_GNU_odr_signature
.byte 0xd3
.byte 0xca
.byte 0x9a
.byte 0x1e
.byte 0x9d
.byte 0xca
.byte 0x29
.set L$set$25,Ldebug_line0-Lsection__debug_line
.long L$set$25 # DW_AT_stmt_list
.byte 0x2 # uleb128 0x2; (DIE (0x25) DW_TAG_namespace)
.ascii "thread\0" # DW_AT_name
# DW_AT_declaration
.long 0x37 # DW_AT_sibling
.byte 0x3 # uleb128 0x3; (DIE (0x31) DW_TAG_class_type)
.set L$set$26,LASF0-Lsection__debug_str
.long L$set$26 # DW_AT_name: "Executor"
# DW_AT_declaration
.byte 0 # end of children of DIE 0x25
.byte 0x4 # uleb128 0x4; (DIE (0x37) DW_TAG_class_type)
.byte 0x1 # DW_AT_byte_size
.byte 0x1 # DW_AT_decl_file
(/opt/gcc/work/gcc/testsuite/g++.dg/debug/dwarf2/nested-3.C)
.byte 0x6 # DW_AT_decl_line
.long 0x31 # DW_AT_specification
.long 0x54 # DW_AT_sibling
.byte 0x5 # uleb128 0x5; (DIE (0x43) DW_TAG_subprogram)
# DW_AT_external
.set L$set$27,LASF1-Lsection__debug_str
.long L$set$27 # DW_AT_name: "CurrentExecutor"
.byte 0x1 # DW_AT_decl_file
(/opt/gcc/work/gcc/testsuite/g++.dg/debug/dwarf2/nested-3.C)
.byte 0x8 # DW_AT_decl_line
.set L$set$28,LASF2-Lsection__debug_str
.long L$set$28 # DW_AT_linkage_name:
"_ZN6thread8Executor15CurrentExecutorEv"
.long 0x54 # DW_AT_type
.byte 0x1 # DW_AT_accessibility
# DW_AT_declaration
.byte 0 # end of children of DIE 0x37
.byte 0x6 # uleb128 0x6; (DIE (0x54) DW_TAG_pointer_type)
.byte 0x8 # DW_AT_byte_size
.long 0x37 # DW_AT_type
.byte 0 # end of children of DIE 0x17
.section __DWARF,__debug_info,regular,debug
Since there are extra lines on x86_64-apple-darwin10 between the two "end of
children of DIE" lines, the regexp cannot work. In addition the nesting seems
quite different of the expected one.
In top of that, it is my understanding that darwin does not support dwarf-4 and
is restricted to -gstrict-dwarf (all my knowledge comes from pr41405). So the
test should probably skipped on darwin(?).