X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftestsuite%2Fgdb.cp%2Fm-static.exp;h=6b457d295d01a5bfe7aa642cce273602888a0f3f;hb=254e6b9ed4abf109cb8399aa3f8f387f7eb2465c;hp=dda8d844e9b65d7337b5a37ea27e8315309d4060;hpb=6e70227d64c310278ef73303b2137a9997cb4c0f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/testsuite/gdb.cp/m-static.exp b/gdb/testsuite/gdb.cp/m-static.exp index dda8d844e9..6b457d295d 100644 --- a/gdb/testsuite/gdb.cp/m-static.exp +++ b/gdb/testsuite/gdb.cp/m-static.exp @@ -56,12 +56,14 @@ gdb_start gdb_reinitialize_dir $srcdir/$subdir gdb_load ${binfile} - if ![runto_main] then { perror "couldn't run to breakpoint" continue } +get_debug_format +set non_dwarf [expr ! [test_debug_format "DWARF 2"]] + # First, run to after we've constructed all the objects: gdb_breakpoint [gdb_get_line_number "constructs-done"] @@ -125,6 +127,16 @@ gdb_test "print test4.elsewhere" "\\$\[0-9\].* = 221" "static const int initiali # static const int that nobody initializes. From PR gdb/635. gdb_test "print test4.nowhere" "field nowhere is nonexistent or has been optimized out" "static const int initialized nowhere" +# static const initialized in the class definition, PR gdb/11702. +if { $non_dwarf } { setup_xfail *-*-* } +gdb_test "print test4.everywhere" "\\$\[0-9\].* = 317" "static const int initialized in class definition" +if { $non_dwarf } { setup_xfail *-*-* } +gdb_test "print test4.somewhere" "\\$\[0-9\].* = 3.14\[0-9\]*" "static const float initialized in class definition" + +# Also make sure static const members can be found via "info var". +if { $non_dwarf } { setup_xfail *-*-* } +gdb_test "info variable everywhere" "File .*/m-static\[.\]h.*const int gnu_obj_4::everywhere;" "info variable everywhere" + # Perhaps at some point test4 should also include a test for a static # const int that was initialized in the header file. But I'm not sure # that GDB's current behavior in such situations is either consistent